Source code for ibm_watson_openscale.base_classes.watson_open_scale_v2

# coding: utf-8

# (C) Copyright IBM Corp. 2026.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

"""
Watson OpenScale API Specification
"""

from datetime import datetime
from enum import Enum
from typing import BinaryIO, Dict, List, TextIO, Union
import json

from ibm_cloud_sdk_core import BaseService, DetailedResponse
from ibm_cloud_sdk_core.authenticators.authenticator import Authenticator
from ibm_cloud_sdk_core.get_authenticator import get_authenticator_from_environment
from ibm_cloud_sdk_core.utils import convert_list, convert_model, datetime_to_string, string_to_datetime

from .common import get_sdk_headers

##############################################################################
# Service
##############################################################################

class WatsonOpenScaleV2(BaseService):
    """The Watson OpenScale V2 service."""

    DEFAULT_SERVICE_URL = None
    DEFAULT_SERVICE_NAME = 'ai_openscale'

    @classmethod
    def new_instance(cls,
                     service_name: str = DEFAULT_SERVICE_NAME,
                    ) -> 'WatsonOpenScaleV2':
        """
        Return a new client for the Watson OpenScale service using the specified
               parameters and external configuration.
        """
        authenticator = get_authenticator_from_environment(service_name)
        service = cls(
            authenticator
            )
        service.configure_service(service_name)
        return service

    def __init__(self,
                 authenticator: Authenticator = None,
                ) -> None:
        """
        Construct a new client for the Watson OpenScale service.

        :param Authenticator authenticator: The authenticator specifies the authentication mechanism.
               Get up to date information from https://github.com/IBM/python-sdk-core/blob/master/README.md
               about initializing the authenticator of your choice.
        """
        BaseService.__init__(self,
                             service_url=self.DEFAULT_SERVICE_URL,
                             authenticator=authenticator)


#########################
# Data Marts
#########################

class DataMarts:
    """
    Data Marts
    """

    def __init__(self, watson_open_scale: WatsonOpenScaleV2) -> None:
        """
        Construct a DataMarts client for the Watson OpenScale service.

        :param WatsonOpenScaleV2 watson_open_scale: client for the Watson OpenScale service.
        """
        self.watson_open_scale = watson_open_scale


    def add(self,
        *,
        name: str = None,
        description: str = None,
        service_instance_crn: str = None,
        internal_database: bool = None,
        database_configuration: 'DatabaseConfigurationRequest' = None,
        database_discovery: str = None,
        force: bool = None,
        **kwargs
    ) -> DetailedResponse:
        """
        Create a new data mart.

        Create a new data mart with the given database connection.

        :param str name: (optional) Name of the data mart.
        :param str description: (optional) Description of the data mart.
        :param str service_instance_crn: (optional) Can be omitted if user token is
               used for authorization.
        :param bool internal_database: (optional) If `true` the internal database
               managed by AI OpenScale is provided for the user.
        :param DatabaseConfigurationRequest database_configuration: (optional)
               Database configuration ignored if internal database is requested
               (`internal_database` is `true`).
        :param str database_discovery: (optional) Indicates if the database was
               discovered automatically or manually added by user through UI.
        :param bool force: (optional) force update of metadata and db credentials
               (assumption is that the new database is already prepared and populated).
        :param dict headers: A `dict` containing the request headers
        :return: A `DetailedResponse` containing the result, headers and HTTP status code.
        :rtype: DetailedResponse with `DataMartDatabaseResponse` result
        """

        if database_configuration is not None:
            database_configuration = convert_model(database_configuration)
        headers = {}
        sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME,
                                      service_version='V2',
                                      operation_id='data_marts_add')
        headers.update(sdk_headers)

        params = {
            'force': force
        }

        data = {
            'name': name,
            'description': description,
            'service_instance_crn': service_instance_crn,
            'internal_database': internal_database,
            'database_configuration': database_configuration,
            'database_discovery': database_discovery
        }
        data = {k: v for (k, v) in data.items() if v is not None}
        data = json.dumps(data)
        headers['content-type'] = 'application/json'

        if 'headers' in kwargs:
            headers.update(kwargs.get('headers'))
        headers['Accept'] = 'application/json'

        url = '/v2/data_marts'
        request = self.watson_open_scale.prepare_request(method='POST',
                                       url=url,
                                       headers=headers,
                                       params=params,
                                       data=data)

        response = self.watson_open_scale.send(request)
        if hasattr(DataMartDatabaseResponse, 'from_dict'):
            response.result = DataMartDatabaseResponse.from_dict(response.result)
        return response


[docs] def list(self, **kwargs ) -> DetailedResponse: """ List all data marts. The method returns the data mart configurations as an object. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `DataMartDatabaseResponseCollection` result """ headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='data_marts_list') headers.update(sdk_headers) if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/data_marts' request = self.watson_open_scale.prepare_request(method='GET', url=url, headers=headers) response = self.watson_open_scale.send(request) if hasattr(DataMartDatabaseResponseCollection, 'from_dict'): response.result = DataMartDatabaseResponseCollection.from_dict(response.result) return response
[docs] def get(self, data_mart_id: str, **kwargs ) -> DetailedResponse: """ Get data mart with the given id. :param str data_mart_id: ID of the data mart. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `DataMartDatabaseResponse` result """ if data_mart_id is None: raise ValueError('data_mart_id must be provided') headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='data_marts_get') headers.update(sdk_headers) if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/data_marts/{0}'.format( *self.watson_open_scale.encode_path_vars(data_mart_id)) request = self.watson_open_scale.prepare_request(method='GET', url=url, headers=headers) response = self.watson_open_scale.send(request) if hasattr(DataMartDatabaseResponse, 'from_dict'): response.result = DataMartDatabaseResponse.from_dict(response.result) return response
[docs] def patch(self, data_mart_id: str, json_patch_operation: List['JsonPatchOperation'], **kwargs ) -> DetailedResponse: """ Update a data mart. :param str data_mart_id: ID of the data mart. :param List[JsonPatchOperation] json_patch_operation: :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `DataMartDatabaseResponse` result """ if data_mart_id is None: raise ValueError('data_mart_id must be provided') if json_patch_operation is None: raise ValueError('json_patch_operation must be provided') json_patch_operation = [convert_model(x) for x in json_patch_operation] headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='data_marts_patch') headers.update(sdk_headers) data = json.dumps(json_patch_operation) headers['content-type'] = 'application/json-patch+json' if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/data_marts/{0}'.format( *self.watson_open_scale.encode_path_vars(data_mart_id)) request = self.watson_open_scale.prepare_request(method='PATCH', url=url, headers=headers, data=data) response = self.watson_open_scale.send(request) if hasattr(DataMartDatabaseResponse, 'from_dict'): response.result = DataMartDatabaseResponse.from_dict(response.result) return response
def delete(self, data_mart_id: str, *, force: bool = None, **kwargs ) -> DetailedResponse: """ Delete a data mart. :param str data_mart_id: ID of the data mart. :param bool force: (optional) Force hard delete. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse """ if data_mart_id is None: raise ValueError('data_mart_id must be provided') headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='data_marts_delete') headers.update(sdk_headers) params = { 'force': force } if 'headers' in kwargs: headers.update(kwargs.get('headers')) url = '/v2/data_marts/{0}'.format( *self.watson_open_scale.encode_path_vars(data_mart_id)) request = self.watson_open_scale.prepare_request(method='DELETE', url=url, headers=headers, params=params) response = self.watson_open_scale.send(request) return response ######################### # Service Providers ######################### class ServiceProviders: """ Service Providers """ def __init__(self, watson_open_scale: WatsonOpenScaleV2) -> None: """ Construct a ServiceProviders client for the Watson OpenScale service. :param WatsonOpenScaleV2 watson_open_scale: client for the Watson OpenScale service. """ self.watson_open_scale = watson_open_scale
[docs] def list(self, *, container_type: str = None, container_id: str = None, project_id: str = None, space_id: str = None, show_deleted: bool = None, service_type: str = None, instance_id: str = None, operational_space_id: str = None, deployment_space_id: str = None, integrated_project_id: str = None, **kwargs ) -> DetailedResponse: """ List service providers. List associated Machine Learning service instances. :param str container_type: (optional) Type of container. One of project, space and wxo. Must be used with `container_id` together. :param str container_id: (optional) The GUID of the specified container. Must be used with `container_type` together. :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param bool show_deleted: (optional) show also resources pending delete. :param str service_type: (optional) Type of service. :param str instance_id: (optional) comma-separated list of IDs. :param str operational_space_id: (optional) comma-separated list of IDs. :param str deployment_space_id: (optional) comma-separated list of IDs. :param str integrated_project_id: (optional) comma-separated list of IDs. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `ServiceProviderResponseCollection` result """ headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='service_providers_list') headers.update(sdk_headers) params = { 'container_type': container_type, 'container_id': container_id, 'project_id': project_id, 'space_id': space_id, 'show_deleted': show_deleted, 'service_type': service_type, 'instance_id': instance_id, 'operational_space_id': operational_space_id, 'deployment_space_id': deployment_space_id, 'integrated_project_id': integrated_project_id } if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/service_providers' request = self.watson_open_scale.prepare_request(method='GET', url=url, headers=headers, params=params) response = self.watson_open_scale.send(request) if hasattr(ServiceProviderResponseCollection, 'from_dict'): response.result = ServiceProviderResponseCollection.from_dict(response.result) return response
def add(self, name: str, service_type: str, credentials: 'MLCredentials', *, description: str = None, request_headers: dict = None, instance_id: str = None, operational_space_id: str = None, deployment_space_id: str = None, integrated_project_id: str = None, group_ids: List[str] = None, user_ids: List[str] = None, container_type: str = None, container_id: str = None, project_id: str = None, space_id: str = None, **kwargs ) -> DetailedResponse: """ Add service provider. Associate external Machine Learning service instance with the OpenScale DataMart. :param str name: Name of the ML service instance. :param str service_type: machine learning service type (azure_machine_learning_studio is a preferred alias for azure_machine_learning and should be used in new service bindings). :param MLCredentials credentials: :param str description: (optional) :param dict request_headers: (optional) map header name to header value. :param str instance_id: (optional) Reference to the linked service instance. - For **watson_machine_learning**: This can be discovered from the `deployment_space_id` field. - For ***wxo*** a.k.a watsonx orchestrate: This field is **mandatory** and must be set to the correct service instance ID. :param str operational_space_id: (optional) Reference to Operational Space. :param str deployment_space_id: (optional) Reference to V2 Space ID. :param str integrated_project_id: (optional) Project ID. :param List[str] group_ids: (optional) Access control list of group id of Cloud Pak for Data (Only available for OpenScale on Cloud Pak for Data >= 4.0.6 with ENABLE_GROUP_AUTH being true). :param List[str] user_ids: (optional) Access control list of user id of Cloud Pak for Data (Only available for OpenScale on Cloud Pak for Data >= 4.0.6 with ENABLE_GROUP_AUTH being true). :param str container_type: (optional) Type of container. One of project, space and wxo. Must be used with `container_id` together. :param str container_id: (optional) The GUID of the specified container. Must be used with `container_type` together. :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `ServiceProviderResponse` result """ if name is None: raise ValueError('name must be provided') if service_type is None: raise ValueError('service_type must be provided') if credentials is None: raise ValueError('credentials must be provided') credentials = convert_model(credentials) headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='service_providers_add') headers.update(sdk_headers) params = { 'container_type': container_type, 'container_id': container_id, 'project_id': project_id, 'space_id': space_id } data = { 'name': name, 'service_type': service_type, 'credentials': credentials, 'description': description, 'request_headers': request_headers, 'instance_id': instance_id, 'operational_space_id': operational_space_id, 'deployment_space_id': deployment_space_id, 'integrated_project_id': integrated_project_id, 'group_ids': group_ids, 'user_ids': user_ids } data = {k: v for (k, v) in data.items() if v is not None} data = json.dumps(data) headers['content-type'] = 'application/json' if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/service_providers' request = self.watson_open_scale.prepare_request(method='POST', url=url, headers=headers, params=params, data=data) response = self.watson_open_scale.send(request) if hasattr(ServiceProviderResponse, 'from_dict'): response.result = ServiceProviderResponse.from_dict(response.result) return response
[docs] def get(self, service_provider_id: str, *, container_type: str = None, container_id: str = None, project_id: str = None, space_id: str = None, **kwargs ) -> DetailedResponse: """ Get a specific service provider. Get the associated Machine Learning service provider details. :param str service_provider_id: ID of the ML service provider. :param str container_type: (optional) Type of container. One of project, space and wxo. Must be used with `container_id` together. :param str container_id: (optional) The GUID of the specified container. Must be used with `container_type` together. :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `ServiceProviderResponse` result """ if service_provider_id is None: raise ValueError('service_provider_id must be provided') headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='service_providers_get') headers.update(sdk_headers) params = { 'container_type': container_type, 'container_id': container_id, 'project_id': project_id, 'space_id': space_id } if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/service_providers/{0}'.format( *self.watson_open_scale.encode_path_vars(service_provider_id)) request = self.watson_open_scale.prepare_request(method='GET', url=url, headers=headers, params=params) response = self.watson_open_scale.send(request) if hasattr(ServiceProviderResponse, 'from_dict'): response.result = ServiceProviderResponse.from_dict(response.result) return response
def delete(self, service_provider_id: str, *, container_type: str = None, container_id: str = None, project_id: str = None, space_id: str = None, force: bool = None, **kwargs ) -> DetailedResponse: """ Delete a service provider. Detach Machine Learning service provider. :param str service_provider_id: ID of the ML service provider. :param str container_type: (optional) Type of container. One of project, space and wxo. Must be used with `container_id` together. :param str container_id: (optional) The GUID of the specified container. Must be used with `container_type` together. :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param bool force: (optional) Force hard delete. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse """ if service_provider_id is None: raise ValueError('service_provider_id must be provided') headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='service_providers_delete') headers.update(sdk_headers) params = { 'container_type': container_type, 'container_id': container_id, 'project_id': project_id, 'space_id': space_id, 'force': force } if 'headers' in kwargs: headers.update(kwargs.get('headers')) url = '/v2/service_providers/{0}'.format( *self.watson_open_scale.encode_path_vars(service_provider_id)) request = self.watson_open_scale.prepare_request(method='DELETE', url=url, headers=headers, params=params) response = self.watson_open_scale.send(request) return response
[docs] def update(self, service_provider_id: str, patch_document: List['PatchDocument'], *, container_type: str = None, container_id: str = None, project_id: str = None, space_id: str = None, **kwargs ) -> DetailedResponse: """ Update a service provider. Update existing service provider. :param str service_provider_id: ID of the ML service provider. :param List[PatchDocument] patch_document: :param str container_type: (optional) Type of container. One of project, space and wxo. Must be used with `container_id` together. :param str container_id: (optional) The GUID of the specified container. Must be used with `container_type` together. :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `ServiceProviderResponse` result """ if service_provider_id is None: raise ValueError('service_provider_id must be provided') if patch_document is None: raise ValueError('patch_document must be provided') patch_document = [convert_model(x) for x in patch_document] headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='service_providers_update') headers.update(sdk_headers) params = { 'container_type': container_type, 'container_id': container_id, 'project_id': project_id, 'space_id': space_id } data = json.dumps(patch_document) headers['content-type'] = 'application/json' if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/service_providers/{0}'.format( *self.watson_open_scale.encode_path_vars(service_provider_id)) request = self.watson_open_scale.prepare_request(method='PATCH', url=url, headers=headers, params=params, data=data) response = self.watson_open_scale.send(request) if hasattr(ServiceProviderResponse, 'from_dict'): response.result = ServiceProviderResponse.from_dict(response.result) return response
######################### # Subscriptions ######################### class Subscriptions: """ Subscriptions """ def __init__(self, watson_open_scale: WatsonOpenScaleV2) -> None: """ Construct a Subscriptions client for the Watson OpenScale service. :param WatsonOpenScaleV2 watson_open_scale: client for the Watson OpenScale service. """ self.watson_open_scale = watson_open_scale
[docs] def list(self, *, container_type: str = None, container_id: str = None, project_id: str = None, space_id: str = None, data_mart_id: str = None, service_provider_id: str = None, asset_asset_id: str = None, asset_asset_type: str = None, asset_foundational_model_id: str = None, deployment_deployment_id: str = None, deployment_deployment_type: str = None, integration_reference_integrated_system_id: str = None, integration_reference_external_id: str = None, risk_evaluation_status_state: str = None, service_provider_operational_space_id: str = None, service_provider_deployment_space_id: str = None, service_provider_integrated_project_id: str = None, pre_production_reference_id: str = None, **kwargs ) -> DetailedResponse: """ List subscriptions. List subscriptions. :param str container_type: (optional) Type of container. One of project, space and wxo. Must be used with `container_id` together. :param str container_id: (optional) The GUID of the specified container. Must be used with `container_type` together. :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param str data_mart_id: (optional) comma-separated list of IDs. :param str service_provider_id: (optional) comma-separated list of IDs. :param str asset_asset_id: (optional) comma-separated list of IDs. :param str asset_asset_type: (optional) comma-separated list of types. :param str asset_foundational_model_id: (optional) comma-separated list of IDs. :param str deployment_deployment_id: (optional) comma-separated list of IDs. :param str deployment_deployment_type: (optional) comma-separated list of types. :param str integration_reference_integrated_system_id: (optional) comma-separated list of IDs. :param str integration_reference_external_id: (optional) comma-separated list of IDs. :param str risk_evaluation_status_state: (optional) comma-separated list of states. :param str service_provider_operational_space_id: (optional) comma-separated list of operational space ids (property of service provider object). :param str service_provider_deployment_space_id: (optional) comma-separated list of deployment space ids (property of service provider object). :param str service_provider_integrated_project_id: (optional) comma-separated list of integrated project ids (property of service provider object). :param str pre_production_reference_id: (optional) comma-separated list of IDs. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `SubscriptionResponseCollection` result """ headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='subscriptions_list') headers.update(sdk_headers) params = { 'container_type': container_type, 'container_id': container_id, 'project_id': project_id, 'space_id': space_id, 'data_mart_id': data_mart_id, 'service_provider_id': service_provider_id, 'asset.asset_id': asset_asset_id, 'asset.asset_type': asset_asset_type, 'asset.foundational_model_id': asset_foundational_model_id, 'deployment.deployment_id': deployment_deployment_id, 'deployment.deployment_type': deployment_deployment_type, 'integration_reference.integrated_system_id': integration_reference_integrated_system_id, 'integration_reference.external_id': integration_reference_external_id, 'risk_evaluation_status.state': risk_evaluation_status_state, 'service_provider.operational_space_id': service_provider_operational_space_id, 'service_provider.deployment_space_id': service_provider_deployment_space_id, 'service_provider.integrated_project_id': service_provider_integrated_project_id, 'pre_production_reference_id': pre_production_reference_id } if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/subscriptions' request = self.watson_open_scale.prepare_request(method='GET', url=url, headers=headers, params=params) response = self.watson_open_scale.send(request) if hasattr(SubscriptionResponseCollection, 'from_dict'): response.result = SubscriptionResponseCollection.from_dict(response.result) return response
def add(self, data_mart_id: str, service_provider_id: str, asset: 'Asset', deployment: 'AssetDeploymentRequest', *, asset_properties: 'AssetPropertiesRequest' = None, risk_evaluation_status: 'RiskEvaluationStatus' = None, analytics_engine: 'AnalyticsEngine' = None, data_sources: List['DataSource'] = None, container_type: str = None, container_id: str = None, project_id: str = None, space_id: str = None, **kwargs ) -> DetailedResponse: """ Add a new subscription. Add a new subscription to the model deployment. :param str data_mart_id: :param str service_provider_id: :param Asset asset: :param AssetDeploymentRequest deployment: :param AssetPropertiesRequest asset_properties: (optional) Additional asset properties (subject of discovery if not provided when creating the subscription). :param RiskEvaluationStatus risk_evaluation_status: (optional) :param AnalyticsEngine analytics_engine: (optional) :param List[DataSource] data_sources: (optional) :param str container_type: (optional) Type of container. One of project, space and wxo. Must be used with `container_id` together. :param str container_id: (optional) The GUID of the specified container. Must be used with `container_type` together. :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `SubscriptionResponse` result """ if data_mart_id is None: raise ValueError('data_mart_id must be provided') if service_provider_id is None: raise ValueError('service_provider_id must be provided') if asset is None: raise ValueError('asset must be provided') if deployment is None: raise ValueError('deployment must be provided') asset = convert_model(asset) deployment = convert_model(deployment) if asset_properties is not None: asset_properties = convert_model(asset_properties) if risk_evaluation_status is not None: risk_evaluation_status = convert_model(risk_evaluation_status) if analytics_engine is not None: analytics_engine = convert_model(analytics_engine) if data_sources is not None: data_sources = [convert_model(x) for x in data_sources] headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='subscriptions_add') headers.update(sdk_headers) params = { 'container_type': container_type, 'container_id': container_id, 'project_id': project_id, 'space_id': space_id } data = { 'data_mart_id': data_mart_id, 'service_provider_id': service_provider_id, 'asset': asset, 'deployment': deployment, 'asset_properties': asset_properties, 'risk_evaluation_status': risk_evaluation_status, 'analytics_engine': analytics_engine, 'data_sources': data_sources } data = {k: v for (k, v) in data.items() if v is not None} data = json.dumps(data) headers['content-type'] = 'application/json' if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/subscriptions' request = self.watson_open_scale.prepare_request(method='POST', url=url, headers=headers, params=params, data=data) response = self.watson_open_scale.send(request) if hasattr(SubscriptionResponse, 'from_dict'): response.result = SubscriptionResponse.from_dict(response.result) return response
[docs] def get(self, subscription_id: str, *, container_type: str = None, container_id: str = None, project_id: str = None, space_id: str = None, **kwargs ) -> DetailedResponse: """ Get a specific subscription. Get a specific subscription. :param str subscription_id: Unique subscription ID. :param str container_type: (optional) Type of container. One of project, space and wxo. Must be used with `container_id` together. :param str container_id: (optional) The GUID of the specified container. Must be used with `container_type` together. :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `SubscriptionResponse` result """ if subscription_id is None: raise ValueError('subscription_id must be provided') headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='subscriptions_get') headers.update(sdk_headers) params = { 'container_type': container_type, 'container_id': container_id, 'project_id': project_id, 'space_id': space_id } if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/subscriptions/{0}'.format( *self.watson_open_scale.encode_path_vars(subscription_id)) request = self.watson_open_scale.prepare_request(method='GET', url=url, headers=headers, params=params) response = self.watson_open_scale.send(request) if hasattr(SubscriptionResponse, 'from_dict'): response.result = SubscriptionResponse.from_dict(response.result) return response
[docs] def update(self, subscription_id: str, patch_document: List['PatchDocument'], *, container_type: str = None, container_id: str = None, project_id: str = None, space_id: str = None, **kwargs ) -> DetailedResponse: """ Update a subscription. Update existing asset (from ML service instance) subscription. :param str subscription_id: Unique subscription ID. :param List[PatchDocument] patch_document: :param str container_type: (optional) Type of container. One of project, space and wxo. Must be used with `container_id` together. :param str container_id: (optional) The GUID of the specified container. Must be used with `container_type` together. :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `SubscriptionResponse` result """ if subscription_id is None: raise ValueError('subscription_id must be provided') if patch_document is None: raise ValueError('patch_document must be provided') patch_document = [convert_model(x) for x in patch_document] headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='subscriptions_update') headers.update(sdk_headers) params = { 'container_type': container_type, 'container_id': container_id, 'project_id': project_id, 'space_id': space_id } data = json.dumps(patch_document) headers['content-type'] = 'application/json' if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/subscriptions/{0}'.format( *self.watson_open_scale.encode_path_vars(subscription_id)) request = self.watson_open_scale.prepare_request(method='PATCH', url=url, headers=headers, params=params, data=data) response = self.watson_open_scale.send(request) if hasattr(SubscriptionResponse, 'from_dict'): response.result = SubscriptionResponse.from_dict(response.result) return response
def delete(self, subscription_id: str, *, container_type: str = None, container_id: str = None, project_id: str = None, space_id: str = None, force: bool = None, **kwargs ) -> DetailedResponse: """ Delete a subscription. Delete a subscription. :param str subscription_id: Unique subscription ID. :param str container_type: (optional) Type of container. One of project, space and wxo. Must be used with `container_id` together. :param str container_id: (optional) The GUID of the specified container. Must be used with `container_type` together. :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param bool force: (optional) Force hard delete. All data for records and metrics associated to the subscription will be deleted. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse """ if subscription_id is None: raise ValueError('subscription_id must be provided') headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='subscriptions_delete') headers.update(sdk_headers) params = { 'container_type': container_type, 'container_id': container_id, 'project_id': project_id, 'space_id': space_id, 'force': force } if 'headers' in kwargs: headers.update(kwargs.get('headers')) url = '/v2/subscriptions/{0}'.format( *self.watson_open_scale.encode_path_vars(subscription_id)) request = self.watson_open_scale.prepare_request(method='DELETE', url=url, headers=headers, params=params) response = self.watson_open_scale.send(request) return response
[docs] def schemas(self, subscription_id: str, *, input_data: List['ScoreData'] = None, training_data_reference: 'InputDataReference' = None, project_id: str = None, space_id: str = None, **kwargs ) -> DetailedResponse: """ Derive model schemas from the training data. Derive model schemas from the training data. Only "structured" input data type is supported. If the input_data_type field in the subscription (subscription -> entity -> asset -> input_data_type) is not "structured", an error will be returned. :param str subscription_id: Unique subscription ID. :param List[ScoreData] input_data: (optional) Array of score data object. If multiple score data objects are included, the "fields" array (if any) for score purposes will always be taken from the first score data object. :param InputDataReference training_data_reference: (optional) InputDataReference is the same as TrainingDataReference except that neither location nor connection is required. This is needed for the Schemas API and to avoid updating existing APIs. :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `SchemaInferenceResponse` result """ if subscription_id is None: raise ValueError('subscription_id must be provided') if input_data is not None: input_data = [convert_model(x) for x in input_data] if training_data_reference is not None: training_data_reference = convert_model(training_data_reference) headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='subscriptions_schemas') headers.update(sdk_headers) params = { 'project_id': project_id, 'space_id': space_id } data = { 'input_data': input_data, 'training_data_reference': training_data_reference } data = {k: v for (k, v) in data.items() if v is not None} data = json.dumps(data) headers['content-type'] = 'application/json' if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/subscriptions/{0}/schemas'.format( *self.watson_open_scale.encode_path_vars(subscription_id)) request = self.watson_open_scale.prepare_request(method='POST', url=url, headers=headers, params=params, data=data) response = self.watson_open_scale.send(request) if hasattr(SchemaInferenceResponse, 'from_dict'): response.result = SchemaInferenceResponse.from_dict(response.result) return response
[docs] def tables(self, subscription_id: str, dataset_type: str, unknown_base_type: object, *, project_id: str = None, space_id: str = None, **kwargs ) -> DetailedResponse: """ Create a table for specified data set type. Current supported dataset_type is feedback. The body of request should be json object (an empty object `{}` is fine). :param str subscription_id: Unique subscription ID. :param str dataset_type: data set type of subscription. :param UNKNOWN_BASE_TYPE unknown_base_type: :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `DataSetResponse` result """ if subscription_id is None: raise ValueError('subscription_id must be provided') if dataset_type is None: raise ValueError('dataset_type must be provided') if unknown_base_type is None: raise ValueError('unknown_base_type must be provided') headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='subscriptions_tables') headers.update(sdk_headers) params = { 'project_id': project_id, 'space_id': space_id } data = json.dumps(unknown_base_type) headers['content-type'] = 'application/json' if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/subscriptions/{0}/tables/{1}'.format( *self.watson_open_scale.encode_path_vars(subscription_id, dataset_type)) request = self.watson_open_scale.prepare_request(method='POST', url=url, headers=headers, params=params, data=data) response = self.watson_open_scale.send(request) if hasattr(DataSetResponse, 'from_dict'): response.result = DataSetResponse.from_dict(response.result) return response
[docs] def configuration_synchrozation_get(self, subscription_id: str, **kwargs ) -> DetailedResponse: """ Get status of triggered configuration synchronization. :param str subscription_id: Unique subscription ID. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `ConfigurationSynchronization` result """ if subscription_id is None: raise ValueError('subscription_id must be provided') headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='get_configuration_synchrozation') headers.update(sdk_headers) if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/subscriptions/{0}/configuration_synchronization'.format( *self.watson_open_scale.encode_path_vars(subscription_id)) request = self.watson_open_scale.prepare_request(method='GET', url=url, headers=headers) response = self.watson_open_scale.send(request) if hasattr(ConfigurationSynchronization, 'from_dict'): response.result = ConfigurationSynchronization.from_dict(response.result) return response
[docs] def trigger_configuration_synchrozation(self, subscription_id: str, *, exclude_monitors: List[str] = None, force: bool = None, **kwargs ) -> DetailedResponse: """ Trigger configuration synchronization from pre-production to production model. Trigger configuration synchronization based on `pre_production_reference_id` in `subscription`. :param str subscription_id: Unique subscription ID. :param List[str] exclude_monitors: (optional) :param bool force: (optional) a flag to synchronize forcely. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `ConfigurationSynchronization` result """ if subscription_id is None: raise ValueError('subscription_id must be provided') headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='trigger_configuration_synchrozation') headers.update(sdk_headers) params = { 'force': force } data = { 'exclude_monitors': exclude_monitors } data = {k: v for (k, v) in data.items() if v is not None} data = json.dumps(data) headers['content-type'] = 'application/json' if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/subscriptions/{0}/configuration_synchronization'.format( *self.watson_open_scale.encode_path_vars(subscription_id)) request = self.watson_open_scale.prepare_request(method='PUT', url=url, headers=headers, params=params, data=data) response = self.watson_open_scale.send(request) if hasattr(ConfigurationSynchronization, 'from_dict'): response.result = ConfigurationSynchronization.from_dict(response.result) return response
[docs] def score(self, subscription_id: str, values: List[str], *, fields: List[str] = None, project_id: str = None, space_id: str = None, **kwargs ) -> DetailedResponse: """ Computes the bias mitigation/remediation for the specified model. Computes the bias mitigation/remediation for the specified model. The fairness monitoring debias request payload details must be valid. :param str subscription_id: Unique subscription ID. :param List[str] values: The values associated to the fields. :param List[str] fields: (optional) The fields to process debias scoring. :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `FairnessMonitoringRemediation` result """ if subscription_id is None: raise ValueError('subscription_id must be provided') if values is None: raise ValueError('values must be provided') headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='subscriptions_score') headers.update(sdk_headers) params = { 'project_id': project_id, 'space_id': space_id } data = { 'values': values, 'fields': fields } data = {k: v for (k, v) in data.items() if v is not None} data = json.dumps(data) headers['content-type'] = 'application/json' if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/subscriptions/{0}/predictions'.format( *self.watson_open_scale.encode_path_vars(subscription_id)) request = self.watson_open_scale.prepare_request(method='POST', url=url, headers=headers, params=params, data=data) response = self.watson_open_scale.send(request) if hasattr(FairnessMonitoringRemediation, 'from_dict'): response.result = FairnessMonitoringRemediation.from_dict(response.result) return response
######################### # Data Sets ######################### class DataSets: """ Data Sets """ def __init__(self, watson_open_scale: WatsonOpenScaleV2) -> None: """ Construct a DataSets client for the Watson OpenScale service. :param WatsonOpenScaleV2 watson_open_scale: client for the Watson OpenScale service. """ self.watson_open_scale = watson_open_scale
[docs] def list(self, *, container_type: str = None, container_id: str = None, project_id: str = None, space_id: str = None, target_target_id: str = None, target_target_type: str = None, type: str = None, managed_by: str = None, **kwargs ) -> DetailedResponse: """ List all data sets specified by the parameters. :param str container_type: (optional) Type of container. One of project, space and wxo. Must be used with `container_id` together. :param str container_id: (optional) The GUID of the specified container. Must be used with `container_type` together. :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param str target_target_id: (optional) ID of the data set target (e.g. subscription ID.. ). :param str target_target_type: (optional) type of the target. :param str type: (optional) type of the data set. :param str managed_by: (optional) ID of the managing entity (e.g. data mart id). :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `DataSetResponseCollection` result """ headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='data_sets_list') headers.update(sdk_headers) params = { 'container_type': container_type, 'container_id': container_id, 'project_id': project_id, 'space_id': space_id, 'target.target_id': target_target_id, 'target.target_type': target_target_type, 'type': type, 'managed_by': managed_by } if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/data_sets' request = self.watson_open_scale.prepare_request(method='GET', url=url, headers=headers, params=params) response = self.watson_open_scale.send(request) if hasattr(DataSetResponseCollection, 'from_dict'): response.result = DataSetResponseCollection.from_dict(response.result) return response
def add(self, data_mart_id: str, name: str, type: str, target: 'Target', data_schema: 'SparkStruct', *, description: str = None, schema_update_mode: str = None, location: 'LocationTableName' = None, managed_by: str = None, container_type: str = None, container_id: str = None, project_id: str = None, space_id: str = None, **kwargs ) -> DetailedResponse: """ Create a new data set. Create a new data set. :param str data_mart_id: :param str name: :param str type: type of a data set. :param Target target: :param SparkStruct data_schema: :param str description: (optional) :param str schema_update_mode: (optional) :param LocationTableName location: (optional) :param str managed_by: (optional) :param str container_type: (optional) Type of container. One of project, space and wxo. Must be used with `container_id` together. :param str container_id: (optional) The GUID of the specified container. Must be used with `container_type` together. :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `DataSetResponse` result """ if data_mart_id is None: raise ValueError('data_mart_id must be provided') if name is None: raise ValueError('name must be provided') if type is None: raise ValueError('type must be provided') if target is None: raise ValueError('target must be provided') if data_schema is None: raise ValueError('data_schema must be provided') target = convert_model(target) data_schema = convert_model(data_schema) if location is not None: location = convert_model(location) headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='data_sets_add') headers.update(sdk_headers) params = { 'container_type': container_type, 'container_id': container_id, 'project_id': project_id, 'space_id': space_id } data = { 'data_mart_id': data_mart_id, 'name': name, 'type': type, 'target': target, 'data_schema': data_schema, 'description': description, 'schema_update_mode': schema_update_mode, 'location': location, 'managed_by': managed_by } data = {k: v for (k, v) in data.items() if v is not None} data = json.dumps(data) headers['content-type'] = 'application/json' if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/data_sets' request = self.watson_open_scale.prepare_request(method='POST', url=url, headers=headers, params=params, data=data) response = self.watson_open_scale.send(request) if hasattr(DataSetResponse, 'from_dict'): response.result = DataSetResponse.from_dict(response.result) return response
[docs] def get(self, data_set_id: str, *, container_type: str = None, container_id: str = None, project_id: str = None, space_id: str = None, **kwargs ) -> DetailedResponse: """ Get data set with the given id. :param str data_set_id: ID of the data set. :param str container_type: (optional) Type of container. One of project, space and wxo. Must be used with `container_id` together. :param str container_id: (optional) The GUID of the specified container. Must be used with `container_type` together. :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `DataSetResponse` result """ if data_set_id is None: raise ValueError('data_set_id must be provided') headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='data_sets_get') headers.update(sdk_headers) params = { 'container_type': container_type, 'container_id': container_id, 'project_id': project_id, 'space_id': space_id } if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/data_sets/{0}'.format( *self.watson_open_scale.encode_path_vars(data_set_id)) request = self.watson_open_scale.prepare_request(method='GET', url=url, headers=headers, params=params) response = self.watson_open_scale.send(request) if hasattr(DataSetResponse, 'from_dict'): response.result = DataSetResponse.from_dict(response.result) return response
def delete(self, data_set_id: str, *, container_type: str = None, container_id: str = None, project_id: str = None, space_id: str = None, force: bool = None, **kwargs ) -> DetailedResponse: """ Delete a data set. :param str data_set_id: ID of the data set. :param str container_type: (optional) Type of container. One of project, space and wxo. Must be used with `container_id` together. :param str container_id: (optional) The GUID of the specified container. Must be used with `container_type` together. :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param bool force: (optional) Force hard delete. Table associated with the data set will be dropped. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse """ if data_set_id is None: raise ValueError('data_set_id must be provided') headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='data_sets_delete') headers.update(sdk_headers) params = { 'container_type': container_type, 'container_id': container_id, 'project_id': project_id, 'space_id': space_id, 'force': force } if 'headers' in kwargs: headers.update(kwargs.get('headers')) url = '/v2/data_sets/{0}'.format( *self.watson_open_scale.encode_path_vars(data_set_id)) request = self.watson_open_scale.prepare_request(method='DELETE', url=url, headers=headers, params=params) response = self.watson_open_scale.send(request) return response
[docs] def update(self, data_set_id: str, patch_document: List['PatchDocument'], *, container_type: str = None, container_id: str = None, project_id: str = None, space_id: str = None, **kwargs ) -> DetailedResponse: """ Update a data set. Update the data set. :param str data_set_id: ID of the data set. :param List[PatchDocument] patch_document: :param str container_type: (optional) Type of container. One of project, space and wxo. Must be used with `container_id` together. :param str container_id: (optional) The GUID of the specified container. Must be used with `container_type` together. :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `DataSetResponse` result """ if data_set_id is None: raise ValueError('data_set_id must be provided') if patch_document is None: raise ValueError('patch_document must be provided') patch_document = [convert_model(x) for x in patch_document] headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='data_sets_update') headers.update(sdk_headers) params = { 'container_type': container_type, 'container_id': container_id, 'project_id': project_id, 'space_id': space_id } data = json.dumps(patch_document) headers['content-type'] = 'application/json' if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/data_sets/{0}'.format( *self.watson_open_scale.encode_path_vars(data_set_id)) request = self.watson_open_scale.prepare_request(method='PATCH', url=url, headers=headers, params=params, data=data) response = self.watson_open_scale.send(request) if hasattr(DataSetResponse, 'from_dict'): response.result = DataSetResponse.from_dict(response.result) return response
######################### # Records ######################### class Records: """ Records """ def __init__(self, watson_open_scale: WatsonOpenScaleV2) -> None: """ Construct a Records client for the Watson OpenScale service. :param WatsonOpenScaleV2 watson_open_scale: client for the Watson OpenScale service. """ self.watson_open_scale = watson_open_scale def add(self, data_set_id: str, request_body: Union[List[object], str, TextIO], *, content_type: str = None, project_id: str = None, space_id: str = None, header: bool = None, skip: int = None, limit: int = None, delimiter: str = None, on_error: str = None, csv_max_line_length: float = None, is_historical_data: bool = None, split_to_multi_req: bool = None, **kwargs ) -> DetailedResponse: """ Add new data set records. Add new data set records. :param str data_set_id: ID of the data set. :param List[object] request_body: :param str content_type: (optional) The type of the input. A character encoding can be specified by including a `charset` parameter. For example, 'text/csv;charset=utf-8'. :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param bool header: (optional) if not provided service will attempt to automatically detect header in the first line. :param int skip: (optional) skip number of rows from input. :param int limit: (optional) limit for number of processed input rows. :param str delimiter: (optional) delimiter character for data provided as csv. :param str on_error: (optional) expected behaviour on error. :param float csv_max_line_length: (optional) maximum length of single line in bytes (default 10MB). :param bool is_historical_data: (optional) specifies if the uploaded records are part of historical data. :param bool split_to_multi_req: (optional) when specified as true, splits each row in CSV to multiple requests. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `Status` result """ if data_set_id is None: raise ValueError('data_set_id must be provided') if request_body is None: raise ValueError('request_body must be provided') headers = { 'Content-Type': content_type } sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='records_add') headers.update(sdk_headers) params = { 'project_id': project_id, 'space_id': space_id, 'header': header, 'skip': skip, 'limit': limit, 'delimiter': delimiter, 'on_error': on_error, 'csv_max_line_length': csv_max_line_length, 'is_historical_data': is_historical_data, 'split_to_multi_req': split_to_multi_req } if isinstance(request_body, list): data = json.dumps(request_body) if content_type is None: headers['Content-Type'] = 'application/json' else: data = request_body if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/data_sets/{0}/records'.format( *self.watson_open_scale.encode_path_vars(data_set_id)) request = self.watson_open_scale.prepare_request(method='POST', url=url, headers=headers, params=params, data=data) response = self.watson_open_scale.send(request) if hasattr(Status, 'from_dict'): response.result = Status.from_dict(response.result) return response def list(self, data_set_id: str, *, project_id: str = None, space_id: str = None, start: datetime = None, end: datetime = None, limit: int = None, offset: int = None, includes: str = None, annotations: List[str] = None, exclude_annotations: bool = None, filter: str = None, include_total_count: bool = None, order: str = None, seed: float = None, format: str = None, binary_format: str = None, **kwargs ) -> DetailedResponse: """ List data set records. List data set records. :param str data_set_id: ID of the data set. :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param datetime start: (optional) return records with timestamp greater then or equal to `start` parameter. :param datetime end: (optional) return records with timestamp lower then `end` parameter. :param int limit: (optional) limit for number of returned records. If the value is greater than 1000 than it will be truncated. :param int offset: (optional) offset of returned records. :param str includes: (optional) return records with only specified columns. Parameter must be specified as comma separated string. :param List[str] annotations: (optional) return record annotations with given names. :param bool exclude_annotations: (optional) If there is no need to fetch annotations at all, set this parameter as true. There should be better performance. :param str filter: (optional) Only return records that match given filters. There are two types of filters, separated by commas: * normal filter (multiple are possible), {field_name}:{op}:{value} — filter records directly * joining filter (only a single one is possible), {data_set_id}.{field_name}:{op}:{value} — join a data set by transaction_id (the user must ensure it's provided!) and filter by this data set's records' field. Will fail if the user hasn't provided transaction_id for both data sets' records. Filters of different types can be mixed. They are partly compatible with the ones in POST /v2/data_sets/{data_set_id}/distributions. Available operators: | op | meaning | example | code equivalent | |:----:|:---------------------------:|:------------------:|:------------------------:| | eq | equality | field:eq:value | field == value | | gt | greater than | field:gt:value | field > value | | gte | greater or equal | field:gte:value | field >= value | | lt | less than | field:lt:value | field < value | | lte | less or equal | field:lte:value | field <= value | | like | matching a simple pattern* | field:like:pattern | pattern.match(field) | | in | is contained in list | field:in:a;b;c | [a,b,c].contains(field) | | null | is null | field:null | field value == null | | nonnull | is not null | field:nonnull | field value != null | * - "%" means "one or more character", "_" means "any single character", other characters have their usual, literal meaning (e.g. "|" means character "|"). :param bool include_total_count: (optional) If total_count should be included. It can have performance impact if total_count is calculated. :param str order: (optional) return records in order specified. There are two patterns. The first is random sampling, the other is sorting per column. :param float seed: (optional) return repeatable result for random sampling. Value must be between 0.0 and 1.0, inclusive. Also you can get sampled records in pagination manner by specifying `limit` and `offset`. :param str format: (optional) What JSON format to use on output. :param str binary_format: (optional) Binary data presentation format. By default, the binary field value is encoded to base64 string. If _reference_ is chosen, every binary field is moved to the _references_ section with value set to an uri to the particular field within the record that can be GET in a separate request. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `RecordsListResponse` result """ if data_set_id is None: raise ValueError('data_set_id must be provided') headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='records_list') headers.update(sdk_headers) params = { 'project_id': project_id, 'space_id': space_id, 'start': start, 'end': end, 'limit': limit, 'offset': offset, 'includes': includes, 'annotations': convert_list(annotations), 'exclude_annotations': exclude_annotations, 'filter': filter, 'include_total_count': include_total_count, 'order': order, 'seed': seed, 'format': format, 'binary_format': binary_format } if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/data_sets/{0}/records'.format( *self.watson_open_scale.encode_path_vars(data_set_id)) request = self.watson_open_scale.prepare_request(method='GET', url=url, headers=headers, params=params) response = self.watson_open_scale.send(request) if hasattr(RecordsListResponse, 'from_dict'): response.result = RecordsListResponse.from_dict(response.result) return response def patch(self, data_set_id: str, patch_document: List['PatchDocument'], *, project_id: str = None, space_id: str = None, **kwargs ) -> DetailedResponse: """ Update data set records. Update data set records. :param str data_set_id: ID of the data set. :param List[PatchDocument] patch_document: :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `Status` result """ if data_set_id is None: raise ValueError('data_set_id must be provided') if patch_document is None: raise ValueError('patch_document must be provided') patch_document = [convert_model(x) for x in patch_document] headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='records_patch') headers.update(sdk_headers) params = { 'project_id': project_id, 'space_id': space_id } data = json.dumps(patch_document) headers['content-type'] = 'application/json' if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/data_sets/{0}/records'.format( *self.watson_open_scale.encode_path_vars(data_set_id)) request = self.watson_open_scale.prepare_request(method='PATCH', url=url, headers=headers, params=params, data=data) response = self.watson_open_scale.send(request) if hasattr(Status, 'from_dict'): response.result = Status.from_dict(response.result) return response def get(self, data_set_id: str, record_id: str, *, binary_format: str = None, project_id: str = None, space_id: str = None, **kwargs ) -> DetailedResponse: """ Get a specific data set record with the given id. Get a specific record in a data set. :param str data_set_id: ID of the data set. :param str record_id: ID of the record. :param str binary_format: (optional) Binary data presentation format. By default, the binary field value is encoded to base64 string. If _reference_ is chosen, every binary field is moved to the _references_ section with value set to an uri to the particular field within the record that can be GET in a separate request. :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `DataRecordResponse` result """ if data_set_id is None: raise ValueError('data_set_id must be provided') if record_id is None: raise ValueError('record_id must be provided') headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='records_get') headers.update(sdk_headers) params = { 'binary_format': binary_format, 'project_id': project_id, 'space_id': space_id } if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/data_sets/{0}/records/{1}'.format( *self.watson_open_scale.encode_path_vars(data_set_id, record_id)) request = self.watson_open_scale.prepare_request(method='GET', url=url, headers=headers, params=params) response = self.watson_open_scale.send(request) if hasattr(DataRecordResponse, 'from_dict'): response.result = DataRecordResponse.from_dict(response.result) return response def update(self, data_set_id: str, record_id: str, patch_document: List['PatchDocument'], *, binary_format: str = None, project_id: str = None, space_id: str = None, **kwargs ) -> DetailedResponse: """ Update a specific record in a data set. Update a specific record in a data set. :param str data_set_id: ID of the data set. :param str record_id: ID of the record. :param List[PatchDocument] patch_document: :param str binary_format: (optional) Binary data presentation format. By default, the binary field value is encoded to base64 string. If _reference_ is chosen, every binary field is moved to the _references_ section with value set to an uri to the particular field within the record that can be GET in a separate request. :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `DataRecordResponse` result """ if data_set_id is None: raise ValueError('data_set_id must be provided') if record_id is None: raise ValueError('record_id must be provided') if patch_document is None: raise ValueError('patch_document must be provided') patch_document = [convert_model(x) for x in patch_document] headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='records_update') headers.update(sdk_headers) params = { 'binary_format': binary_format, 'project_id': project_id, 'space_id': space_id } data = json.dumps(patch_document) headers['content-type'] = 'application/json' if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/data_sets/{0}/records/{1}'.format( *self.watson_open_scale.encode_path_vars(data_set_id, record_id)) request = self.watson_open_scale.prepare_request(method='PATCH', url=url, headers=headers, params=params, data=data) response = self.watson_open_scale.send(request) if hasattr(DataRecordResponse, 'from_dict'): response.result = DataRecordResponse.from_dict(response.result) return response def field(self, data_set_id: str, record_id: str, field_name: str, *, project_id: str = None, space_id: str = None, **kwargs ) -> DetailedResponse: """ Get value of a field in a given record. Get value of a field in a given record. :param str data_set_id: ID of the data set. :param str record_id: ID of the record. :param str field_name: field_name should map to db column name which value is to be retrieved. :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse """ if data_set_id is None: raise ValueError('data_set_id must be provided') if record_id is None: raise ValueError('record_id must be provided') if field_name is None: raise ValueError('field_name must be provided') headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='records_field') headers.update(sdk_headers) params = { 'project_id': project_id, 'space_id': space_id } if 'headers' in kwargs: headers.update(kwargs.get('headers')) url = '/v2/data_sets/{0}/records/{1}/{2}'.format( *self.watson_open_scale.encode_path_vars(data_set_id, record_id, field_name)) request = self.watson_open_scale.prepare_request(method='GET', url=url, headers=headers, params=params) response = self.watson_open_scale.send(request) return response def query(self, data_set_type: str, *, project_id: str = None, space_id: str = None, record_id: List[str] = None, transaction_id: List[str] = None, start: datetime = None, end: datetime = None, offset: int = None, limit: int = None, **kwargs ) -> DetailedResponse: """ Get data set records using record_id or transaction_id. Get data set records with specific record_id or transaction_id. :param str data_set_type: a (single) data set type. :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param List[str] record_id: (optional) one or more record id values that should be matched. :param List[str] transaction_id: (optional) one or more transaction id values that should be matched. :param datetime start: (optional) beginning of the time range. :param datetime end: (optional) end of the time range. :param int offset: (optional) offset of returned explanations. :param int limit: (optional) Maximum number of elements returned. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `DataSetRecords` result """ if data_set_type is None: raise ValueError('data_set_type must be provided') headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='records_query') headers.update(sdk_headers) params = { 'data_set_type': data_set_type, 'project_id': project_id, 'space_id': space_id, 'record_id': convert_list(record_id), 'transaction_id': convert_list(transaction_id), 'start': start, 'end': end, 'offset': offset, 'limit': limit } if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/data_set_records' request = self.watson_open_scale.prepare_request(method='GET', url=url, headers=headers, params=params) response = self.watson_open_scale.send(request) if hasattr(DataSetRecords, 'from_dict'): response.result = DataSetRecords.from_dict(response.result) return response ######################### # Requests ######################### class Requests: """ Requests """ def __init__(self, watson_open_scale: WatsonOpenScaleV2) -> None: """ Construct a Requests client for the Watson OpenScale service. :param WatsonOpenScaleV2 watson_open_scale: client for the Watson OpenScale service. """ self.watson_open_scale = watson_open_scale def get(self, data_set_id: str, request_id: str, *, project_id: str = None, space_id: str = None, **kwargs ) -> DetailedResponse: """ Get status of a specific request. Get status of a specific request. :param str data_set_id: ID of the data set. :param str request_id: ID of the request. :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `Status` result """ if data_set_id is None: raise ValueError('data_set_id must be provided') if request_id is None: raise ValueError('request_id must be provided') headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='requests_get') headers.update(sdk_headers) params = { 'project_id': project_id, 'space_id': space_id } if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/data_sets/{0}/requests/{1}'.format( *self.watson_open_scale.encode_path_vars(data_set_id, request_id)) request = self.watson_open_scale.prepare_request(method='GET', url=url, headers=headers, params=params) response = self.watson_open_scale.send(request) if hasattr(Status, 'from_dict'): response.result = Status.from_dict(response.result) return response ######################### # Distributions ######################### class Distributions: """ Distributions """ def __init__(self, watson_open_scale: WatsonOpenScaleV2) -> None: """ Construct a Distributions client for the Watson OpenScale service. :param WatsonOpenScaleV2 watson_open_scale: client for the Watson OpenScale service. """ self.watson_open_scale = watson_open_scale def add(self, data_set_id: str, start: str, end: str, dataset: str, group: List[str], *, limit: float = None, filter: str = None, agg: List[str] = None, max_bins: float = None, project_id: str = None, space_id: str = None, nocache: bool = None, **kwargs ) -> DetailedResponse: """ add new data distributions. add new data distributions. :param str data_set_id: ID of the data set. :param str start: start datetime in ISO format. :param str end: end datetime in ISO format. :param str dataset: type of a data set. :param List[str] group: names of columns to be grouped. :param float limit: (optional) limit for number of rows, by default it is 50,000 (max possible limit is 50,000). :param str filter: (optional) Filters defined by user in format: {field_name}:{op}:{value}. Partly compatible with filters in "filter" parameter of GET /v2/data_sets/{data_set_id}/records. Possible filter operators: * eq - equals (numeric, string) * gt - greater than (numeric) * gte - greater than or equal (numeric) * lt - lower than (numeric) * lte - lower than or equal (numeric) * in - value in a set (numeric, string) * field:null (a no-argument filter) - value is null (any nullable) * field:exists (a no-argument filter) - value is not null (any column). :param List[str] agg: (optional) Definition of aggregations, by default 'count'. Aggregations can be one of: * count * <column_name>:sum * <column_name>:min * <column_name>:max * <column_name>:avg * <column_name>:stddev. :param float max_bins: (optional) max number of bins which will be generated for data. :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param bool nocache: (optional) force columns data refresh. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `DataDistributionResponse` result """ if data_set_id is None: raise ValueError('data_set_id must be provided') if start is None: raise ValueError('start must be provided') if end is None: raise ValueError('end must be provided') if dataset is None: raise ValueError('dataset must be provided') if group is None: raise ValueError('group must be provided') headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='distributions_add') headers.update(sdk_headers) params = { 'project_id': project_id, 'space_id': space_id, 'nocache': nocache } data = { 'start': start, 'end': end, 'dataset': dataset, 'group': group, 'limit': limit, 'filter': filter, 'agg': agg, 'max_bins': max_bins } data = {k: v for (k, v) in data.items() if v is not None} data = json.dumps(data) headers['content-type'] = 'application/json' if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/data_sets/{0}/distributions'.format( *self.watson_open_scale.encode_path_vars(data_set_id)) request = self.watson_open_scale.prepare_request(method='POST', url=url, headers=headers, params=params, data=data) response = self.watson_open_scale.send(request) if hasattr(DataDistributionResponse, 'from_dict'): response.result = DataDistributionResponse.from_dict(response.result) return response def delete(self, data_set_id: str, *, project_id: str = None, space_id: str = None, **kwargs ) -> DetailedResponse: """ Delete data distributions. Delete data distribution. :param str data_set_id: ID of the data set. :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse """ if data_set_id is None: raise ValueError('data_set_id must be provided') headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='distributions_delete') headers.update(sdk_headers) params = { 'project_id': project_id, 'space_id': space_id } if 'headers' in kwargs: headers.update(kwargs.get('headers')) url = '/v2/data_sets/{0}/distributions'.format( *self.watson_open_scale.encode_path_vars(data_set_id)) request = self.watson_open_scale.prepare_request(method='DELETE', url=url, headers=headers, params=params) response = self.watson_open_scale.send(request) return response def get(self, data_set_id: str, data_distribution_id: str, *, project_id: str = None, space_id: str = None, **kwargs ) -> DetailedResponse: """ Get a specific data distribution. Get a specific data distribution. :param str data_set_id: ID of the data set. :param str data_distribution_id: ID of the data distribution requested to be calculated. :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `DataDistributionResponse` result """ if data_set_id is None: raise ValueError('data_set_id must be provided') if data_distribution_id is None: raise ValueError('data_distribution_id must be provided') headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='distributions_get') headers.update(sdk_headers) params = { 'project_id': project_id, 'space_id': space_id } if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/data_sets/{0}/distributions/{1}'.format( *self.watson_open_scale.encode_path_vars(data_set_id, data_distribution_id)) request = self.watson_open_scale.prepare_request(method='GET', url=url, headers=headers, params=params) response = self.watson_open_scale.send(request) if hasattr(DataDistributionResponse, 'from_dict'): response.result = DataDistributionResponse.from_dict(response.result) return response ######################### # Monitors ######################### class Monitors: """ Monitors """ def __init__(self, watson_open_scale: WatsonOpenScaleV2) -> None: """ Construct a Monitors client for the Watson OpenScale service. :param WatsonOpenScaleV2 watson_open_scale: client for the Watson OpenScale service. """ self.watson_open_scale = watson_open_scale def list(self, *, name: str = None, type: str = None, **kwargs ) -> DetailedResponse: """ List available monitors. List available monitors. :param str name: (optional) comma-separated list of names. :param str type: (optional) Either of `service` or `user` can be specified. `service` is corresponding to monitor definitions managed by IBM, and `user` is corresponding to those of managed by users. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `MonitorCollections` result """ headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='monitors_list') headers.update(sdk_headers) params = { 'name': name, 'type': type } if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/monitor_definitions' request = self.watson_open_scale.prepare_request(method='GET', url=url, headers=headers, params=params) response = self.watson_open_scale.send(request) if hasattr(MonitorCollections, 'from_dict'): response.result = MonitorCollections.from_dict(response.result) return response def add(self, name: str, metrics: List['MonitorMetricRequest'], tags: List['MonitorTagRequest'], *, description: str = None, applies_to: 'ApplicabilitySelection' = None, parameters_schema: dict = None, managed_by: str = None, schedule: 'MonitorInstanceSchedule' = None, schedules: 'MonitorInstanceScheduleCollection' = None, monitor_runtime: 'MonitorRuntime' = None, **kwargs ) -> DetailedResponse: """ Add custom monitor. Add custom monitor. :param str name: Monitor UI label (must be unique). :param List[MonitorMetricRequest] metrics: A list of metric definition. :param List[MonitorTagRequest] tags: Available tags. :param str description: (optional) Long monitoring description presented in monitoring catalog. :param ApplicabilitySelection applies_to: (optional) :param dict parameters_schema: (optional) JSON schema that will be used to validate monitoring parameters when enabled. :param str managed_by: (optional) :param MonitorInstanceSchedule schedule: (optional) The schedule used to control how frequently the target is monitored. The maximum frequency is once every 30 minutes. Defaults to once every hour if not specified. :param MonitorInstanceScheduleCollection schedules: (optional) A set of schedules of online and batch deployment type. If this field is set, schedule field is ignored. :param MonitorRuntime monitor_runtime: (optional) Field to specify if scheduler should be created or not. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `MonitorDisplayForm` result """ if name is None: raise ValueError('name must be provided') if metrics is None: raise ValueError('metrics must be provided') if tags is None: raise ValueError('tags must be provided') metrics = [convert_model(x) for x in metrics] tags = [convert_model(x) for x in tags] if applies_to is not None: applies_to = convert_model(applies_to) if schedule is not None: schedule = convert_model(schedule) if schedules is not None: schedules = convert_model(schedules) if monitor_runtime is not None: monitor_runtime = convert_model(monitor_runtime) headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='monitors_add') headers.update(sdk_headers) data = { 'name': name, 'metrics': metrics, 'tags': tags, 'description': description, 'applies_to': applies_to, 'parameters_schema': parameters_schema, 'managed_by': managed_by, 'schedule': schedule, 'schedules': schedules, 'monitor_runtime': monitor_runtime } data = {k: v for (k, v) in data.items() if v is not None} data = json.dumps(data) headers['content-type'] = 'application/json' if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/monitor_definitions' request = self.watson_open_scale.prepare_request(method='POST', url=url, headers=headers, data=data) response = self.watson_open_scale.send(request) if hasattr(MonitorDisplayForm, 'from_dict'): response.result = MonitorDisplayForm.from_dict(response.result) return response def get(self, monitor_definition_id: str, *, project_id: str = None, space_id: str = None, **kwargs ) -> DetailedResponse: """ Get a specific monitor definition. Get a specific monitor definition. :param str monitor_definition_id: Unique monitor definition ID. :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `MonitorDisplayForm` result """ if monitor_definition_id is None: raise ValueError('monitor_definition_id must be provided') headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='monitors_get') headers.update(sdk_headers) params = { 'project_id': project_id, 'space_id': space_id } if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/monitor_definitions/{0}'.format( *self.watson_open_scale.encode_path_vars(monitor_definition_id)) request = self.watson_open_scale.prepare_request(method='GET', url=url, headers=headers, params=params) response = self.watson_open_scale.send(request) if hasattr(MonitorDisplayForm, 'from_dict'): response.result = MonitorDisplayForm.from_dict(response.result) return response def update(self, monitor_definition_id: str, name: str, metrics: List['MonitorMetricRequest'], tags: List['MonitorTagRequest'], *, description: str = None, applies_to: 'ApplicabilitySelection' = None, parameters_schema: dict = None, managed_by: str = None, schedule: 'MonitorInstanceSchedule' = None, schedules: 'MonitorInstanceScheduleCollection' = None, monitor_runtime: 'MonitorRuntime' = None, project_id: str = None, space_id: str = None, **kwargs ) -> DetailedResponse: """ Update the monitor definition. Update a monitor definition. :param str monitor_definition_id: Unique monitor definition ID. :param str name: Monitor UI label (must be unique). :param List[MonitorMetricRequest] metrics: A list of metric definition. :param List[MonitorTagRequest] tags: Available tags. :param str description: (optional) Long monitoring description presented in monitoring catalog. :param ApplicabilitySelection applies_to: (optional) :param dict parameters_schema: (optional) JSON schema that will be used to validate monitoring parameters when enabled. :param str managed_by: (optional) :param MonitorInstanceSchedule schedule: (optional) The schedule used to control how frequently the target is monitored. The maximum frequency is once every 30 minutes. Defaults to once every hour if not specified. :param MonitorInstanceScheduleCollection schedules: (optional) A set of schedules of online and batch deployment type. If this field is set, schedule field is ignored. :param MonitorRuntime monitor_runtime: (optional) Field to specify if scheduler should be created or not. :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `MonitorDisplayForm` result """ if monitor_definition_id is None: raise ValueError('monitor_definition_id must be provided') if name is None: raise ValueError('name must be provided') if metrics is None: raise ValueError('metrics must be provided') if tags is None: raise ValueError('tags must be provided') metrics = [convert_model(x) for x in metrics] tags = [convert_model(x) for x in tags] if applies_to is not None: applies_to = convert_model(applies_to) if schedule is not None: schedule = convert_model(schedule) if schedules is not None: schedules = convert_model(schedules) if monitor_runtime is not None: monitor_runtime = convert_model(monitor_runtime) headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='monitors_update') headers.update(sdk_headers) params = { 'project_id': project_id, 'space_id': space_id } data = { 'name': name, 'metrics': metrics, 'tags': tags, 'description': description, 'applies_to': applies_to, 'parameters_schema': parameters_schema, 'managed_by': managed_by, 'schedule': schedule, 'schedules': schedules, 'monitor_runtime': monitor_runtime } data = {k: v for (k, v) in data.items() if v is not None} data = json.dumps(data) headers['content-type'] = 'application/json' if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/monitor_definitions/{0}'.format( *self.watson_open_scale.encode_path_vars(monitor_definition_id)) request = self.watson_open_scale.prepare_request(method='PUT', url=url, headers=headers, params=params, data=data) response = self.watson_open_scale.send(request) if hasattr(MonitorDisplayForm, 'from_dict'): response.result = MonitorDisplayForm.from_dict(response.result) return response def patch(self, monitor_definition_id: str, json_patch_operation: List['JsonPatchOperation'], *, project_id: str = None, space_id: str = None, **kwargs ) -> DetailedResponse: """ Update a monitor definition. Update a monitor definition. :param str monitor_definition_id: Unique monitor definition ID. :param List[JsonPatchOperation] json_patch_operation: :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `MonitorDisplayForm` result """ if monitor_definition_id is None: raise ValueError('monitor_definition_id must be provided') if json_patch_operation is None: raise ValueError('json_patch_operation must be provided') json_patch_operation = [convert_model(x) for x in json_patch_operation] headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='monitors_patch') headers.update(sdk_headers) params = { 'project_id': project_id, 'space_id': space_id } data = json.dumps(json_patch_operation) headers['content-type'] = 'application/json-patch+json' if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/monitor_definitions/{0}'.format( *self.watson_open_scale.encode_path_vars(monitor_definition_id)) request = self.watson_open_scale.prepare_request(method='PATCH', url=url, headers=headers, params=params, data=data) response = self.watson_open_scale.send(request) if hasattr(MonitorDisplayForm, 'from_dict'): response.result = MonitorDisplayForm.from_dict(response.result) return response def delete(self, monitor_definition_id: str, *, project_id: str = None, space_id: str = None, force: bool = None, **kwargs ) -> DetailedResponse: """ Delete a monitor definition. Delete a monitor definition, backing up table specific to monitor. :param str monitor_definition_id: Unique monitor definition ID. :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param bool force: (optional) Force hard delete. Table specific to this monitor will be dropped from data mart. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse """ if monitor_definition_id is None: raise ValueError('monitor_definition_id must be provided') headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='monitors_delete') headers.update(sdk_headers) params = { 'project_id': project_id, 'space_id': space_id, 'force': force } if 'headers' in kwargs: headers.update(kwargs.get('headers')) url = '/v2/monitor_definitions/{0}'.format( *self.watson_open_scale.encode_path_vars(monitor_definition_id)) request = self.watson_open_scale.prepare_request(method='DELETE', url=url, headers=headers, params=params) response = self.watson_open_scale.send(request) return response ######################### # Instances ######################### class Instances: """ Instances """ def __init__(self, watson_open_scale: WatsonOpenScaleV2) -> None: """ Construct a Instances client for the Watson OpenScale service. :param WatsonOpenScaleV2 watson_open_scale: client for the Watson OpenScale service. """ self.watson_open_scale = watson_open_scale def list(self, *, container_type: str = None, container_id: str = None, project_id: str = None, space_id: str = None, data_mart_id: str = None, monitor_definition_id: str = None, target_target_id: str = None, target_target_type: str = None, **kwargs ) -> DetailedResponse: """ List monitor instances. List monitor instances. :param str container_type: (optional) Type of container. One of project, space and wxo. Must be used with `container_id` together. :param str container_id: (optional) The GUID of the specified container. Must be used with `container_type` together. :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param str data_mart_id: (optional) comma-separated list of IDs. :param str monitor_definition_id: (optional) comma-separated list of IDs. :param str target_target_id: (optional) comma-separated list of IDs. :param str target_target_type: (optional) comma-separated list of types. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `MonitorInstanceCollection` result """ headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='instances_list') headers.update(sdk_headers) params = { 'container_type': container_type, 'container_id': container_id, 'project_id': project_id, 'space_id': space_id, 'data_mart_id': data_mart_id, 'monitor_definition_id': monitor_definition_id, 'target.target_id': target_target_id, 'target.target_type': target_target_type } if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/monitor_instances' request = self.watson_open_scale.prepare_request(method='GET', url=url, headers=headers, params=params) response = self.watson_open_scale.send(request) if hasattr(MonitorInstanceCollection, 'from_dict'): response.result = MonitorInstanceCollection.from_dict(response.result) return response def add(self, data_mart_id: str, monitor_definition_id: str, target: 'Target', *, parameters: dict = None, thresholds: List['MetricThresholdOverride'] = None, schedule: 'MonitorInstanceSchedule' = None, schedule_id: str = None, managed_by: str = None, unprocessed_records: 'RecordsCountSummary' = None, total_records: 'MonitorInstanceTotalRecords' = None, container_type: str = None, container_id: str = None, project_id: str = None, space_id: str = None, skip_scheduler: bool = None, **kwargs ) -> DetailedResponse: """ Create a new monitor instance. Create a new monitor instance. :param str data_mart_id: :param str monitor_definition_id: :param Target target: :param dict parameters: (optional) Monitoring parameters consistent with the `parameters_schema` from the monitor definition. :param List[MetricThresholdOverride] thresholds: (optional) :param MonitorInstanceSchedule schedule: (optional) The schedule used to control how frequently the target is monitored. The maximum frequency is once every 30 minutes. Defaults to once every hour if not specified. :param str schedule_id: (optional) :param str managed_by: (optional) :param RecordsCountSummary unprocessed_records: (optional) Summary about records count. :param MonitorInstanceTotalRecords total_records: (optional) Summary about records count. :param str container_type: (optional) Type of container. One of project, space and wxo. Must be used with `container_id` together. :param str container_id: (optional) The GUID of the specified container. Must be used with `container_type` together. :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param bool skip_scheduler: (optional) prevent schedule creation for this monitor instance. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `MonitorInstanceResponse` result """ if data_mart_id is None: raise ValueError('data_mart_id must be provided') if monitor_definition_id is None: raise ValueError('monitor_definition_id must be provided') if target is None: raise ValueError('target must be provided') target = convert_model(target) if thresholds is not None: thresholds = [convert_model(x) for x in thresholds] if schedule is not None: schedule = convert_model(schedule) if unprocessed_records is not None: unprocessed_records = convert_model(unprocessed_records) if total_records is not None: total_records = convert_model(total_records) headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='instances_add') headers.update(sdk_headers) params = { 'container_type': container_type, 'container_id': container_id, 'project_id': project_id, 'space_id': space_id, 'skip_scheduler': skip_scheduler } data = { 'data_mart_id': data_mart_id, 'monitor_definition_id': monitor_definition_id, 'target': target, 'parameters': parameters, 'thresholds': thresholds, 'schedule': schedule, 'schedule_id': schedule_id, 'managed_by': managed_by, 'unprocessed_records': unprocessed_records, 'total_records': total_records } data = {k: v for (k, v) in data.items() if v is not None} data = json.dumps(data) headers['content-type'] = 'application/json' if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/monitor_instances' request = self.watson_open_scale.prepare_request(method='POST', url=url, headers=headers, params=params, data=data) response = self.watson_open_scale.send(request) if hasattr(MonitorInstanceResponse, 'from_dict'): response.result = MonitorInstanceResponse.from_dict(response.result) return response def get(self, monitor_instance_id: str, *, container_type: str = None, container_id: str = None, project_id: str = None, space_id: str = None, expand: str = None, **kwargs ) -> DetailedResponse: """ Get monitor instance details. Get monitor instance details. :param str monitor_instance_id: Unique monitor instance ID. :param str container_type: (optional) Type of container. One of project, space and wxo. Must be used with `container_id` together. :param str container_id: (optional) The GUID of the specified container. Must be used with `container_type` together. :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param str expand: (optional) comma-separated list of fields (supported fields are unprocessed_records and total_records). :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `MonitorInstanceResponse` result """ if monitor_instance_id is None: raise ValueError('monitor_instance_id must be provided') headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='instances_get') headers.update(sdk_headers) params = { 'container_type': container_type, 'container_id': container_id, 'project_id': project_id, 'space_id': space_id, 'expand': expand } if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/monitor_instances/{0}'.format( *self.watson_open_scale.encode_path_vars(monitor_instance_id)) request = self.watson_open_scale.prepare_request(method='GET', url=url, headers=headers, params=params) response = self.watson_open_scale.send(request) if hasattr(MonitorInstanceResponse, 'from_dict'): response.result = MonitorInstanceResponse.from_dict(response.result) return response def update(self, monitor_instance_id: str, patch_document: List['PatchDocument'], *, container_type: str = None, container_id: str = None, project_id: str = None, space_id: str = None, update_metadata_only: bool = None, **kwargs ) -> DetailedResponse: """ Update a monitor instance. Update a monitor instance. :param str monitor_instance_id: Unique monitor instance ID. :param List[PatchDocument] patch_document: :param str container_type: (optional) Type of container. One of project, space and wxo. Must be used with `container_id` together. :param str container_id: (optional) The GUID of the specified container. Must be used with `container_type` together. :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param bool update_metadata_only: (optional) Flag that allows to control if the underlying actions related to the monitor reconfiguration should be triggered. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `MonitorInstanceResponse` result """ if monitor_instance_id is None: raise ValueError('monitor_instance_id must be provided') if patch_document is None: raise ValueError('patch_document must be provided') patch_document = [convert_model(x) for x in patch_document] headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='instances_update') headers.update(sdk_headers) params = { 'container_type': container_type, 'container_id': container_id, 'project_id': project_id, 'space_id': space_id, 'update_metadata_only': update_metadata_only } data = json.dumps(patch_document) headers['content-type'] = 'application/json' if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/monitor_instances/{0}'.format( *self.watson_open_scale.encode_path_vars(monitor_instance_id)) request = self.watson_open_scale.prepare_request(method='PATCH', url=url, headers=headers, params=params, data=data) response = self.watson_open_scale.send(request) if hasattr(MonitorInstanceResponse, 'from_dict'): response.result = MonitorInstanceResponse.from_dict(response.result) return response def delete(self, monitor_instance_id: str, *, container_type: str = None, container_id: str = None, project_id: str = None, space_id: str = None, force: bool = None, **kwargs ) -> DetailedResponse: """ Delete a monitor instance. Delete a monitor instance. :param str monitor_instance_id: Unique monitor instance ID. :param str container_type: (optional) Type of container. One of project, space and wxo. Must be used with `container_id` together. :param str container_id: (optional) The GUID of the specified container. Must be used with `container_type` together. :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param bool force: (optional) Force hard delete. All metrics for this monitor instance will be deleted from the data mart. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse """ if monitor_instance_id is None: raise ValueError('monitor_instance_id must be provided') headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='instances_delete') headers.update(sdk_headers) params = { 'container_type': container_type, 'container_id': container_id, 'project_id': project_id, 'space_id': space_id, 'force': force } if 'headers' in kwargs: headers.update(kwargs.get('headers')) url = '/v2/monitor_instances/{0}'.format( *self.watson_open_scale.encode_path_vars(monitor_instance_id)) request = self.watson_open_scale.prepare_request(method='DELETE', url=url, headers=headers, params=params) response = self.watson_open_scale.send(request) return response ######################### # Runs ######################### class Runs: """ Runs """ def __init__(self, watson_open_scale: WatsonOpenScaleV2) -> None: """ Construct a Runs client for the Watson OpenScale service. :param WatsonOpenScaleV2 watson_open_scale: client for the Watson OpenScale service. """ self.watson_open_scale = watson_open_scale def add(self, monitor_instance_id: str, *, triggered_by: str = None, parameters: dict = None, expiration_date: datetime = None, project_id: str = None, space_id: str = None, **kwargs ) -> DetailedResponse: """ Trigger monitoring run. Trigger monitoring run. :param str monitor_instance_id: Unique monitor instance ID. :param str triggered_by: (optional) An identifier representing the source that triggered the run request (optional). One of: event, scheduler, user, webhook. :param dict parameters: (optional) Monitoring parameters consistent with the `parameters_schema` from the monitor definition. :param datetime expiration_date: (optional) The timestamp when the monitoring run was created with expiry date (in the format YYYY-MM-DDTHH:mm:ssZ or YYYY-MM-DDTHH:mm:ss.sssZ, matching the date-time format as specified by RFC 3339). :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `MonitoringRun` result """ if monitor_instance_id is None: raise ValueError('monitor_instance_id must be provided') if expiration_date is not None: expiration_date = datetime_to_string(expiration_date) headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='runs_add') headers.update(sdk_headers) params = { 'project_id': project_id, 'space_id': space_id } data = { 'triggered_by': triggered_by, 'parameters': parameters, 'expiration_date': expiration_date } data = {k: v for (k, v) in data.items() if v is not None} data = json.dumps(data) headers['content-type'] = 'application/json' if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/monitor_instances/{0}/runs'.format( *self.watson_open_scale.encode_path_vars(monitor_instance_id)) request = self.watson_open_scale.prepare_request(method='POST', url=url, headers=headers, params=params, data=data) response = self.watson_open_scale.send(request) if hasattr(MonitoringRun, 'from_dict'): response.result = MonitoringRun.from_dict(response.result) return response def list(self, monitor_instance_id: str, *, project_id: str = None, space_id: str = None, start: str = None, limit: int = None, **kwargs ) -> DetailedResponse: """ List monitoring runs. List monitoring runs. :param str monitor_instance_id: Unique monitor instance ID. :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param str start: (optional) The page token indicating where to start paging from. :param int limit: (optional) The limit of the number of items to return, for example limit=50. If not specified a default of 100 will be used. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `MonitoringRunCollection` result """ if monitor_instance_id is None: raise ValueError('monitor_instance_id must be provided') headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='runs_list') headers.update(sdk_headers) params = { 'project_id': project_id, 'space_id': space_id, 'start': start, 'limit': limit } if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/monitor_instances/{0}/runs'.format( *self.watson_open_scale.encode_path_vars(monitor_instance_id)) request = self.watson_open_scale.prepare_request(method='GET', url=url, headers=headers, params=params) response = self.watson_open_scale.send(request) if hasattr(MonitoringRunCollection, 'from_dict'): response.result = MonitoringRunCollection.from_dict(response.result) return response def get(self, monitor_instance_id: str, monitoring_run_id: str, *, project_id: str = None, space_id: str = None, **kwargs ) -> DetailedResponse: """ Get monitoring run details. Get monitoring run details. :param str monitor_instance_id: Unique monitor instance ID. :param str monitoring_run_id: Unique monitoring run ID. :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `MonitoringRun` result """ if monitor_instance_id is None: raise ValueError('monitor_instance_id must be provided') if monitoring_run_id is None: raise ValueError('monitoring_run_id must be provided') headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='runs_get') headers.update(sdk_headers) params = { 'project_id': project_id, 'space_id': space_id } if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/monitor_instances/{0}/runs/{1}'.format( *self.watson_open_scale.encode_path_vars(monitor_instance_id, monitoring_run_id)) request = self.watson_open_scale.prepare_request(method='GET', url=url, headers=headers, params=params) response = self.watson_open_scale.send(request) if hasattr(MonitoringRun, 'from_dict'): response.result = MonitoringRun.from_dict(response.result) return response def update(self, monitor_instance_id: str, monitoring_run_id: str, json_patch_operation: List['JsonPatchOperation'], *, project_id: str = None, space_id: str = None, **kwargs ) -> DetailedResponse: """ Update existing monitoring run details. Update existing monitoring run details. :param str monitor_instance_id: Unique monitor instance ID. :param str monitoring_run_id: Unique monitoring run ID. :param List[JsonPatchOperation] json_patch_operation: :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `MonitoringRun` result """ if monitor_instance_id is None: raise ValueError('monitor_instance_id must be provided') if monitoring_run_id is None: raise ValueError('monitoring_run_id must be provided') if json_patch_operation is None: raise ValueError('json_patch_operation must be provided') json_patch_operation = [convert_model(x) for x in json_patch_operation] headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='runs_update') headers.update(sdk_headers) params = { 'project_id': project_id, 'space_id': space_id } data = json.dumps(json_patch_operation) headers['content-type'] = 'application/json-patch+json' if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/monitor_instances/{0}/runs/{1}'.format( *self.watson_open_scale.encode_path_vars(monitor_instance_id, monitoring_run_id)) request = self.watson_open_scale.prepare_request(method='PATCH', url=url, headers=headers, params=params, data=data) response = self.watson_open_scale.send(request) if hasattr(MonitoringRun, 'from_dict'): response.result = MonitoringRun.from_dict(response.result) return response ######################### # Measurements ######################### class Measurements: """ Measurements """ def __init__(self, watson_open_scale: WatsonOpenScaleV2) -> None: """ Construct a Measurements client for the Watson OpenScale service. :param WatsonOpenScaleV2 watson_open_scale: client for the Watson OpenScale service. """ self.watson_open_scale = watson_open_scale def add(self, monitor_instance_id: str, monitor_measurement_request: List['MonitorMeasurementRequest'], *, container_type: str = None, container_id: str = None, project_id: str = None, space_id: str = None, **kwargs ) -> DetailedResponse: """ Publish measurement data to OpenScale. Publish measurement data to OpenScale. :param str monitor_instance_id: Unique monitor instance ID. :param List[MonitorMeasurementRequest] monitor_measurement_request: :param str container_type: (optional) Type of container. One of project, space and wxo. Must be used with `container_id` together. :param str container_id: (optional) The GUID of the specified container. Must be used with `container_type` together. :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse """ if monitor_instance_id is None: raise ValueError('monitor_instance_id must be provided') if monitor_measurement_request is None: raise ValueError('monitor_measurement_request must be provided') monitor_measurement_request = [convert_model(x) for x in monitor_measurement_request] headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='measurements_add') headers.update(sdk_headers) params = { 'container_type': container_type, 'container_id': container_id, 'project_id': project_id, 'space_id': space_id } data = json.dumps(monitor_measurement_request) headers['content-type'] = 'application/json' if 'headers' in kwargs: headers.update(kwargs.get('headers')) url = '/v2/monitor_instances/{0}/measurements'.format( *self.watson_open_scale.encode_path_vars(monitor_instance_id)) request = self.watson_open_scale.prepare_request(method='POST', url=url, headers=headers, params=params, data=data) response = self.watson_open_scale.send(request) return response def list(self, monitor_instance_id: str, start: datetime, end: datetime, *, container_type: str = None, container_id: str = None, project_id: str = None, space_id: str = None, run_id: str = None, filter: str = None, limit: int = None, offset: int = None, **kwargs ) -> DetailedResponse: """ Query measurements from OpenScale DataMart. Query measurements from OpenScale DataMart. It is required to either provide a `start end` or `run_id` parameter. :param str monitor_instance_id: Unique monitor instance ID. :param datetime start: Beginning of the time range. :param datetime end: End of the time range. :param str container_type: (optional) Type of container. One of project, space and wxo. Must be used with `container_id` together. :param str container_id: (optional) The GUID of the specified container. Must be used with `container_type` together. :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param str run_id: (optional) Comma delimited list of measurement run_id. :param str filter: (optional) Filter expression can consist of any metric tag or a common column of string type followed by filter name and optionally a value, all delimited by colon. Supported filters are: `in`, `eq`, `null` and `exists`. Sample filters are: `filter=region:in:[us,pl],segment:eq:sales` or `filter=region:null,segment:exists`. :param int limit: (optional) Maximum number of measurements returned. :param int offset: (optional) Offset of measurements returned. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `MonitorMeasurementResponseCollection` result """ if monitor_instance_id is None: raise ValueError('monitor_instance_id must be provided') if start is None: raise ValueError('start must be provided') if end is None: raise ValueError('end must be provided') headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='measurements_list') headers.update(sdk_headers) params = { 'start': start, 'end': end, 'container_type': container_type, 'container_id': container_id, 'project_id': project_id, 'space_id': space_id, 'run_id': run_id, 'filter': filter, 'limit': limit, 'offset': offset } if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/monitor_instances/{0}/measurements'.format( *self.watson_open_scale.encode_path_vars(monitor_instance_id)) request = self.watson_open_scale.prepare_request(method='GET', url=url, headers=headers, params=params) response = self.watson_open_scale.send(request) if hasattr(MonitorMeasurementResponseCollection, 'from_dict'): response.result = MonitorMeasurementResponseCollection.from_dict(response.result) return response def get(self, monitor_instance_id: str, measurement_id: str, *, container_type: str = None, container_id: str = None, project_id: str = None, space_id: str = None, metric_id: str = None, **kwargs ) -> DetailedResponse: """ Get measurement data from OpenScale DataMart. Get measurement data from OpenScale DataMart. If metric_id is specified, sources associated with given metric id are filtered. :param str monitor_instance_id: Unique monitor instance ID. :param str measurement_id: Unique measurement ID. :param str container_type: (optional) Type of container. One of project, space and wxo. Must be used with `container_id` together. :param str container_id: (optional) The GUID of the specified container. Must be used with `container_type` together. :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param str metric_id: (optional) Comma delimited list of metric_id. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `MonitorMeasurementResponse` result """ if monitor_instance_id is None: raise ValueError('monitor_instance_id must be provided') if measurement_id is None: raise ValueError('measurement_id must be provided') headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='measurements_get') headers.update(sdk_headers) params = { 'container_type': container_type, 'container_id': container_id, 'project_id': project_id, 'space_id': space_id, 'metric_id': metric_id } if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/monitor_instances/{0}/measurements/{1}'.format( *self.watson_open_scale.encode_path_vars(monitor_instance_id, measurement_id)) request = self.watson_open_scale.prepare_request(method='GET', url=url, headers=headers, params=params) response = self.watson_open_scale.send(request) if hasattr(MonitorMeasurementResponse, 'from_dict'): response.result = MonitorMeasurementResponse.from_dict(response.result) return response def query(self, *, container_type: str = None, container_id: str = None, project_id: str = None, space_id: str = None, target_id: str = None, target_type: str = None, monitor_definition_id: str = None, filter: str = None, recent_count: int = None, format: str = None, **kwargs ) -> DetailedResponse: """ Query for the recent measurement. Query for the recent measurement grouped by the monitoring target (subscription). :param str container_type: (optional) Type of container. One of project, space and wxo. Must be used with `container_id` together. :param str container_id: (optional) The GUID of the specified container. Must be used with `container_type` together. :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param str target_id: (optional) Comma separated ID of the monitoring target (subscription). :param str target_type: (optional) Type of the monitoring target (subscription). :param str monitor_definition_id: (optional) Comma separated ID of the monitor definition. :param str filter: (optional) Filter expression can consist of any metric tag or a common column of string type followed by filter name and optionally a value, all delimited by colon and prepended with `monitor_definition_id.` string. Supported filters are: `in`, `eq`, `null` and `exists`. Sample filters are: `monitor_definition_id.filter=region:in:[us,pl],monitor_definition_id.segment:eq:sales` or `filter=monitor_definition_id.region:null,monitor_definition_id.segment:exists`. Every monitor_definition_id can have own set of filters. :param int recent_count: (optional) Number of measurements (per target) to be returned. :param str format: (optional) Format of the returned data. `full` format compared to `compact` is additive and contains `sources` part. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `MeasurementsResponseCollection` result """ headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='measurements_query') headers.update(sdk_headers) params = { 'container_type': container_type, 'container_id': container_id, 'project_id': project_id, 'space_id': space_id, 'target_id': target_id, 'target_type': target_type, 'monitor_definition_id': monitor_definition_id, 'filter': filter, 'recent_count': recent_count, 'format': format } if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/measurements' request = self.watson_open_scale.prepare_request(method='GET', url=url, headers=headers, params=params) response = self.watson_open_scale.send(request) if hasattr(MeasurementsResponseCollection, 'from_dict'): response.result = MeasurementsResponseCollection.from_dict(response.result) return response ######################### # Metrics ######################### class Metrics: """ Metrics """ def __init__(self, watson_open_scale: WatsonOpenScaleV2) -> None: """ Construct a Metrics client for the Watson OpenScale service. :param WatsonOpenScaleV2 watson_open_scale: client for the Watson OpenScale service. """ self.watson_open_scale = watson_open_scale def list(self, monitor_instance_id: str, start: datetime, end: datetime, agg: str, *, container_type: str = None, container_id: str = None, project_id: str = None, space_id: str = None, interval: str = None, filter: str = None, group: str = None, **kwargs ) -> DetailedResponse: """ Query monitor instance metrics from OpenScale DataMart. Query monitor instance metrics from OpenScale DataMart. See <a href="https://github.ibm.com/aiopenscale/aios-datamart-service-api/wiki/1.3.-Metrics-Query-Language">Metrics Query Language documentation</a>. :param str monitor_instance_id: Unique monitor instance ID. :param datetime start: Calculations **inclusive**, internally floored to achieve full interval. If interval is vulnerable to time zone, the calculated value depends on a backend db engine: PostgreSQL respects time zone and DB2 use UTC time. Calculated value is returned in response. :param datetime end: Calculations **exclusive**, internally ceiled to achieve full interval. If interval is vulnerable to time zone, the calculated value depends on a backend db engine: PostgreSQL respects time zone and DB2 use UTC time. Calculated value is returned in response. :param str agg: Comma delimited function list constructed from metric name and function, e.g. `agg=metric_name:count,:last` that defines aggregations. :param str container_type: (optional) Type of container. One of project, space and wxo. Must be used with `container_id` together. :param str container_id: (optional) The GUID of the specified container. Must be used with `container_type` together. :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param str interval: (optional) Time unit in which metrics are grouped and aggregated, interval by interval. :param str filter: (optional) Filter expression can consist of any metric tag or a common column of string type followed by filter name and optionally a value, all delimited by colon. Supported filters are: `in`, `eq`, `null` and `exists`. Sample filters are: `filter=region:in:[us,pl],segment:eq:sales` or `filter=region:null,segment:exists`. :param str group: (optional) Comma delimited list constructed from metric tags, e.g. `group=region,segment` to group metrics before aggregations. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `DataMartGetMonitorInstanceMetrics` result """ if monitor_instance_id is None: raise ValueError('monitor_instance_id must be provided') if start is None: raise ValueError('start must be provided') if end is None: raise ValueError('end must be provided') if agg is None: raise ValueError('agg must be provided') headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='metrics_list') headers.update(sdk_headers) params = { 'start': start, 'end': end, 'agg': agg, 'container_type': container_type, 'container_id': container_id, 'project_id': project_id, 'space_id': space_id, 'interval': interval, 'filter': filter, 'group': group } if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/monitor_instances/{0}/metrics'.format( *self.watson_open_scale.encode_path_vars(monitor_instance_id)) request = self.watson_open_scale.prepare_request(method='GET', url=url, headers=headers, params=params) response = self.watson_open_scale.send(request) if hasattr(DataMartGetMonitorInstanceMetrics, 'from_dict'): response.result = DataMartGetMonitorInstanceMetrics.from_dict(response.result) return response ######################### # AI Decision Coordinations ######################### class AIDecisionCoordinations: """ AI Decision Coordinations """ def __init__(self, watson_open_scale: WatsonOpenScaleV2) -> None: """ Construct a AIDecisionCoordinations client for the Watson OpenScale service. :param WatsonOpenScaleV2 watson_open_scale: client for the Watson OpenScale service. """ self.watson_open_scale = watson_open_scale def list(self, *, container_type: str = None, container_id: str = None, project_id: str = None, space_id: str = None, service_provider_id: str = None, service_provider_deployment_space_id: str = None, service_provider_integrated_project_id: str = None, **kwargs ) -> DetailedResponse: """ List AI Decision Coordination. List AI Decision Coordination. :param str container_type: (optional) Type of container. One of project, space and wxo. Must be used with `container_id` together. :param str container_id: (optional) The GUID of the specified container. Must be used with `container_type` together. :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param str service_provider_id: (optional) comma-separated list of IDs. :param str service_provider_deployment_space_id: (optional) comma-separated list of deployment space ids (property of service provider object). :param str service_provider_integrated_project_id: (optional) comma-separated list of integrated project ids (property of service provider object). :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `AIDecisionCoordinationCollection` result """ headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='ai_decision_coordinations_list') headers.update(sdk_headers) params = { 'container_type': container_type, 'container_id': container_id, 'project_id': project_id, 'space_id': space_id, 'service_provider_id': service_provider_id, 'service_provider.deployment_space_id': service_provider_deployment_space_id, 'service_provider.integrated_project_id': service_provider_integrated_project_id } if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/ai_decision_coordinations' request = self.watson_open_scale.prepare_request(method='GET', url=url, headers=headers, params=params) response = self.watson_open_scale.send(request) if hasattr(AIDecisionCoordinationCollection, 'from_dict'): response.result = AIDecisionCoordinationCollection.from_dict(response.result) return response def add(self, service_provider_id: str, usecase_id: str, asset: 'Asset', *, container_type: str = None, container_id: str = None, project_id: str = None, space_id: str = None, **kwargs ) -> DetailedResponse: """ Create a new ai decision coordination. Create a new ai decision coordination. :param str service_provider_id: The GUID of the Service Provider. :param str usecase_id: The GUID of the Usecase. :param Asset asset: asset_type must be ai_decision_coordination. :param str container_type: (optional) Type of container. One of project, space and wxo. Must be used with `container_id` together. :param str container_id: (optional) The GUID of the specified container. Must be used with `container_type` together. :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `AIDecisionCoordinationResponse` result """ if service_provider_id is None: raise ValueError('service_provider_id must be provided') if usecase_id is None: raise ValueError('usecase_id must be provided') if asset is None: raise ValueError('asset must be provided') asset = convert_model(asset) headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='ai_decision_coordinations_add') headers.update(sdk_headers) params = { 'container_type': container_type, 'container_id': container_id, 'project_id': project_id, 'space_id': space_id } data = { 'service_provider_id': service_provider_id, 'usecase_id': usecase_id, 'asset': asset } data = {k: v for (k, v) in data.items() if v is not None} data = json.dumps(data) headers['content-type'] = 'application/json' if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/ai_decision_coordinations' request = self.watson_open_scale.prepare_request(method='POST', url=url, headers=headers, params=params, data=data) response = self.watson_open_scale.send(request) if hasattr(AIDecisionCoordinationResponse, 'from_dict'): response.result = AIDecisionCoordinationResponse.from_dict(response.result) return response def get(self, ai_decision_coordination_id: str, *, container_type: str = None, container_id: str = None, project_id: str = None, space_id: str = None, **kwargs ) -> DetailedResponse: """ Get AI Decision Coordination details. Get AI Decision Coordination details. :param str ai_decision_coordination_id: Unique AI Decision Coordination ID. :param str container_type: (optional) Type of container. One of project, space and wxo. Must be used with `container_id` together. :param str container_id: (optional) The GUID of the specified container. Must be used with `container_type` together. :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `AIDecisionCoordinationResponse` result """ if ai_decision_coordination_id is None: raise ValueError('ai_decision_coordination_id must be provided') headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='ai_decision_coordinations_get') headers.update(sdk_headers) params = { 'container_type': container_type, 'container_id': container_id, 'project_id': project_id, 'space_id': space_id } if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/ai_decision_coordinations/{0}'.format( *self.watson_open_scale.encode_path_vars(ai_decision_coordination_id)) request = self.watson_open_scale.prepare_request(method='GET', url=url, headers=headers, params=params) response = self.watson_open_scale.send(request) if hasattr(AIDecisionCoordinationResponse, 'from_dict'): response.result = AIDecisionCoordinationResponse.from_dict(response.result) return response def update(self, ai_decision_coordination_id: str, patch_document: List['PatchDocument'], *, container_type: str = None, container_id: str = None, project_id: str = None, space_id: str = None, **kwargs ) -> DetailedResponse: """ Update AI Decision Coordination details. Update AI Decision Coordination details. :param str ai_decision_coordination_id: Unique AI Decision Coordination ID. :param List[PatchDocument] patch_document: :param str container_type: (optional) Type of container. One of project, space and wxo. Must be used with `container_id` together. :param str container_id: (optional) The GUID of the specified container. Must be used with `container_type` together. :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `AIDecisionCoordinationResponse` result """ if ai_decision_coordination_id is None: raise ValueError('ai_decision_coordination_id must be provided') if patch_document is None: raise ValueError('patch_document must be provided') patch_document = [convert_model(x) for x in patch_document] headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='ai_decision_coordinations_update') headers.update(sdk_headers) params = { 'container_type': container_type, 'container_id': container_id, 'project_id': project_id, 'space_id': space_id } data = json.dumps(patch_document) headers['content-type'] = 'application/json' if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/ai_decision_coordinations/{0}'.format( *self.watson_open_scale.encode_path_vars(ai_decision_coordination_id)) request = self.watson_open_scale.prepare_request(method='PATCH', url=url, headers=headers, params=params, data=data) response = self.watson_open_scale.send(request) if hasattr(AIDecisionCoordinationResponse, 'from_dict'): response.result = AIDecisionCoordinationResponse.from_dict(response.result) return response def delete(self, ai_decision_coordination_id: str, *, container_type: str = None, container_id: str = None, project_id: str = None, space_id: str = None, force: bool = None, **kwargs ) -> DetailedResponse: """ Delete AI Decision Coordination details. Delete AI Decision Coordination details. :param str ai_decision_coordination_id: Unique AI Decision Coordination ID. :param str container_type: (optional) Type of container. One of project, space and wxo. Must be used with `container_id` together. :param str container_id: (optional) The GUID of the specified container. Must be used with `container_type` together. :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param bool force: (optional) Force hard delete. All metrics for associated monitor instance will be deleted from the data mart. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse """ if ai_decision_coordination_id is None: raise ValueError('ai_decision_coordination_id must be provided') headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='ai_decision_coordinations_delete') headers.update(sdk_headers) params = { 'container_type': container_type, 'container_id': container_id, 'project_id': project_id, 'space_id': space_id, 'force': force } if 'headers' in kwargs: headers.update(kwargs.get('headers')) url = '/v2/ai_decision_coordinations/{0}'.format( *self.watson_open_scale.encode_path_vars(ai_decision_coordination_id)) request = self.watson_open_scale.prepare_request(method='DELETE', url=url, headers=headers, params=params) response = self.watson_open_scale.send(request) return response ######################### # Gen AI App ######################### class GenAiApp: """ Gen AI App """ def __init__(self, watson_open_scale: WatsonOpenScaleV2) -> None: """ Construct a GenAiApp client for the Watson OpenScale service. :param WatsonOpenScaleV2 watson_open_scale: client for the Watson OpenScale service. """ self.watson_open_scale = watson_open_scale def gen_ai_apps_list(self, *, container_type: str = None, container_id: str = None, project_id: str = None, space_id: str = None, service_provider_id: str = None, type: str = None, asset_asset_id: str = None, deployment_deployment_id: str = None, service_provider_deployment_space_id: str = None, service_provider_integrated_project_id: str = None, **kwargs ) -> DetailedResponse: """ List Gen AI App. List Gen AI App. :param str container_type: (optional) Type of container. One of project, space and wxo. Must be used with `container_id` together. :param str container_id: (optional) The GUID of the specified container. Must be used with `container_type` together. :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param str service_provider_id: (optional) comma-separated list of IDs. :param str type: (optional) comma-separated list of type. :param str asset_asset_id: (optional) comma-separated list of asset IDs. :param str deployment_deployment_id: (optional) comma-separated list of deployment IDs. :param str service_provider_deployment_space_id: (optional) comma-separated list of deployment space ids (property of service provider object). :param str service_provider_integrated_project_id: (optional) comma-separated list of integrated project ids (property of service provider object). :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `GenAIAppCollection` result """ headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='gen_ai_apps_list') headers.update(sdk_headers) params = { 'container_type': container_type, 'container_id': container_id, 'project_id': project_id, 'space_id': space_id, 'service_provider_id': service_provider_id, 'type': type, 'asset.asset_id': asset_asset_id, 'deployment.deployment_id': deployment_deployment_id, 'service_provider.deployment_space_id': service_provider_deployment_space_id, 'service_provider.integrated_project_id': service_provider_integrated_project_id } if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/gen_ai_apps' request = self.watson_open_scale.prepare_request(method='GET', url=url, headers=headers, params=params) response = self.watson_open_scale.send(request) if hasattr(GenAIAppCollection, 'from_dict'): response.result = GenAIAppCollection.from_dict(response.result) return response def gen_ai_apps_add(self, service_provider_id: str, type: str, asset: 'GenAIAppAsset', deployment: 'GenAIAppDeployment', *, agent_properties: 'GenAIAppAgentProperties' = None, container_type: str = None, container_id: str = None, project_id: str = None, space_id: str = None, **kwargs ) -> DetailedResponse: """ Create a new gen ai app. Create a new Gen AI App. :param str service_provider_id: The GUID of the Service Provider. :param str type: Type of the application. :param GenAIAppAsset asset: :param GenAIAppDeployment deployment: :param GenAIAppAgentProperties agent_properties: (optional) manages parameters to represents agentic ai characteristics. :param str container_type: (optional) Type of container. One of project, space and wxo. Must be used with `container_id` together. :param str container_id: (optional) The GUID of the specified container. Must be used with `container_type` together. :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `GenAIAppResponse` result """ if service_provider_id is None: raise ValueError('service_provider_id must be provided') if type is None: raise ValueError('type must be provided') if asset is None: raise ValueError('asset must be provided') if deployment is None: raise ValueError('deployment must be provided') asset = convert_model(asset) deployment = convert_model(deployment) if agent_properties is not None: agent_properties = convert_model(agent_properties) headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='gen_ai_apps_add') headers.update(sdk_headers) params = { 'container_type': container_type, 'container_id': container_id, 'project_id': project_id, 'space_id': space_id } data = { 'service_provider_id': service_provider_id, 'type': type, 'asset': asset, 'deployment': deployment, 'agent_properties': agent_properties } data = {k: v for (k, v) in data.items() if v is not None} data = json.dumps(data) headers['content-type'] = 'application/json' if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/gen_ai_apps' request = self.watson_open_scale.prepare_request(method='POST', url=url, headers=headers, params=params, data=data) response = self.watson_open_scale.send(request) if hasattr(GenAIAppResponse, 'from_dict'): response.result = GenAIAppResponse.from_dict(response.result) return response def agentic_ai_apps_get(self, gen_ai_app_id: str, *, container_type: str = None, container_id: str = None, project_id: str = None, space_id: str = None, **kwargs ) -> DetailedResponse: """ Get Gen AI App details. Get Gen AI App details. :param str gen_ai_app_id: Unique Gen AI App ID. :param str container_type: (optional) Type of container. One of project, space and wxo. Must be used with `container_id` together. :param str container_id: (optional) The GUID of the specified container. Must be used with `container_type` together. :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `GenAIAppResponse` result """ if gen_ai_app_id is None: raise ValueError('gen_ai_app_id must be provided') headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='agentic_ai_apps_get') headers.update(sdk_headers) params = { 'container_type': container_type, 'container_id': container_id, 'project_id': project_id, 'space_id': space_id } if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/gen_ai_apps/{0}'.format( *self.watson_open_scale.encode_path_vars(gen_ai_app_id)) request = self.watson_open_scale.prepare_request(method='GET', url=url, headers=headers, params=params) response = self.watson_open_scale.send(request) if hasattr(GenAIAppResponse, 'from_dict'): response.result = GenAIAppResponse.from_dict(response.result) return response def agentic_ai_apps_update(self, gen_ai_app_id: str, patch_document: List['PatchDocument'], *, container_type: str = None, container_id: str = None, project_id: str = None, space_id: str = None, **kwargs ) -> DetailedResponse: """ Update Gen AI App details. Update Gen AI App details. :param str gen_ai_app_id: Unique Gen AI App ID. :param List[PatchDocument] patch_document: :param str container_type: (optional) Type of container. One of project, space and wxo. Must be used with `container_id` together. :param str container_id: (optional) The GUID of the specified container. Must be used with `container_type` together. :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `GenAIAppResponse` result """ if gen_ai_app_id is None: raise ValueError('gen_ai_app_id must be provided') if patch_document is None: raise ValueError('patch_document must be provided') patch_document = [convert_model(x) for x in patch_document] headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='agentic_ai_apps_update') headers.update(sdk_headers) params = { 'container_type': container_type, 'container_id': container_id, 'project_id': project_id, 'space_id': space_id } data = json.dumps(patch_document) headers['content-type'] = 'application/json' if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/gen_ai_apps/{0}'.format( *self.watson_open_scale.encode_path_vars(gen_ai_app_id)) request = self.watson_open_scale.prepare_request(method='PATCH', url=url, headers=headers, params=params, data=data) response = self.watson_open_scale.send(request) if hasattr(GenAIAppResponse, 'from_dict'): response.result = GenAIAppResponse.from_dict(response.result) return response def agentic_ai_apps_delete(self, gen_ai_app_id: str, *, container_type: str = None, container_id: str = None, project_id: str = None, space_id: str = None, force: bool = None, **kwargs ) -> DetailedResponse: """ Delete Gen AI App details. Delete Gen AI App details. :param str gen_ai_app_id: Unique Gen AI App ID. :param str container_type: (optional) Type of container. One of project, space and wxo. Must be used with `container_id` together. :param str container_id: (optional) The GUID of the specified container. Must be used with `container_type` together. :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param bool force: (optional) Force hard delete. All metrics for associated monitor instance will be deleted from the data mart. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse """ if gen_ai_app_id is None: raise ValueError('gen_ai_app_id must be provided') headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='agentic_ai_apps_delete') headers.update(sdk_headers) params = { 'container_type': container_type, 'container_id': container_id, 'project_id': project_id, 'space_id': space_id, 'force': force } if 'headers' in kwargs: headers.update(kwargs.get('headers')) url = '/v2/gen_ai_apps/{0}'.format( *self.watson_open_scale.encode_path_vars(gen_ai_app_id)) request = self.watson_open_scale.prepare_request(method='DELETE', url=url, headers=headers, params=params) response = self.watson_open_scale.send(request) return response ######################### # Integrated Systems ######################### class IntegratedSystems: """ Integrated Systems """ def __init__(self, watson_open_scale: WatsonOpenScaleV2) -> None: """ Construct a IntegratedSystems client for the Watson OpenScale service. :param WatsonOpenScaleV2 watson_open_scale: client for the Watson OpenScale service. """ self.watson_open_scale = watson_open_scale
[docs] def list(self, *, container_type: str = None, container_id: str = None, project_id: str = None, space_id: str = None, type: str = None, service_provider_id: str = None, **kwargs ) -> DetailedResponse: """ List integrated systems. List integrated systems. :param str container_type: (optional) Type of container. One of project, space and wxo. Must be used with `container_id` together. :param str container_id: (optional) The GUID of the specified container. Must be used with `container_type` together. :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param str type: (optional) comma-separated list of type for the integrated system. :param str service_provider_id: (optional) comma-separated list of IDs to filter. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `IntegratedSystemCollection` result """ headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='integrated_systems_list') headers.update(sdk_headers) params = { 'container_type': container_type, 'container_id': container_id, 'project_id': project_id, 'space_id': space_id, 'type': type, 'service_provider_id': service_provider_id } if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/integrated_systems' request = self.watson_open_scale.prepare_request(method='GET', url=url, headers=headers, params=params) response = self.watson_open_scale.send(request) if hasattr(IntegratedSystemCollection, 'from_dict'): response.result = IntegratedSystemCollection.from_dict(response.result) return response
def add(self, name: str, type: str, description: str, credentials: dict, *, connection: object = None, service_provider_id: str = None, group_ids: List[str] = None, user_ids: List[str] = None, parameters: object = None, container_type: str = None, container_id: str = None, project_id: str = None, space_id: str = None, **kwargs ) -> DetailedResponse: """ Create a new integrated system. Create a new integrated system. :param str name: The name of the Integrated System. :param str type: :param str description: The description of the Integrated System. :param dict credentials: The credentials for the Integrated System. :param object connection: (optional) The additional connection information for the Integrated System. :param str service_provider_id: (optional) The GUID of the Service Provider. Should be specified when the integrated system should be managed with access contorl over combination of container_id and container_type query params. :param List[str] group_ids: (optional) Access control list of group id of Cloud Pak for Data (Only available for open_pages type and OpenScale on Cloud Pak for Data >= 4.0.6 with ENABLE_GROUP_AUTH being true). :param List[str] user_ids: (optional) Access control list of user id of Cloud Pak for Data (Only available for open_pages type and OpenScale on Cloud Pak for Data >= 4.0.6 with ENABLE_GROUP_AUTH being true). :param object parameters: (optional) Additional parameters. :param str container_type: (optional) Type of container. One of project, space and wxo. Must be used with `container_id` together. :param str container_id: (optional) The GUID of the specified container. Must be used with `container_type` together. :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `IntegratedSystemResponse` result """ if name is None: raise ValueError('name must be provided') if type is None: raise ValueError('type must be provided') if description is None: raise ValueError('description must be provided') if credentials is None: raise ValueError('credentials must be provided') headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='integrated_systems_add') headers.update(sdk_headers) params = { 'container_type': container_type, 'container_id': container_id, 'project_id': project_id, 'space_id': space_id } data = { 'name': name, 'type': type, 'description': description, 'credentials': credentials, 'connection': connection, 'service_provider_id': service_provider_id, 'group_ids': group_ids, 'user_ids': user_ids, 'parameters': parameters } data = {k: v for (k, v) in data.items() if v is not None} data = json.dumps(data) headers['content-type'] = 'application/json' if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/integrated_systems' request = self.watson_open_scale.prepare_request(method='POST', url=url, headers=headers, params=params, data=data) response = self.watson_open_scale.send(request) if hasattr(IntegratedSystemResponse, 'from_dict'): response.result = IntegratedSystemResponse.from_dict(response.result) return response def get(self, integrated_system_id: str, *, container_type: str = None, container_id: str = None, project_id: str = None, space_id: str = None, **kwargs ) -> DetailedResponse: """ Get a specific integrated system. Get a specific integrated system. :param str integrated_system_id: Unique integrated system ID. :param str container_type: (optional) Type of container. One of project, space and wxo. Must be used with `container_id` together. :param str container_id: (optional) The GUID of the specified container. Must be used with `container_type` together. :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `IntegratedSystemResponse` result """ if integrated_system_id is None: raise ValueError('integrated_system_id must be provided') headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='integrated_systems_get') headers.update(sdk_headers) params = { 'container_type': container_type, 'container_id': container_id, 'project_id': project_id, 'space_id': space_id } if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/integrated_systems/{0}'.format( *self.watson_open_scale.encode_path_vars(integrated_system_id)) request = self.watson_open_scale.prepare_request(method='GET', url=url, headers=headers, params=params) response = self.watson_open_scale.send(request) if hasattr(IntegratedSystemResponse, 'from_dict'): response.result = IntegratedSystemResponse.from_dict(response.result) return response def update(self, integrated_system_id: str, json_patch_operation: List['JsonPatchOperation'], *, container_type: str = None, container_id: str = None, project_id: str = None, space_id: str = None, **kwargs ) -> DetailedResponse: """ Update an integrated system. Update an integrated system. :param str integrated_system_id: Unique integrated system ID. :param List[JsonPatchOperation] json_patch_operation: :param str container_type: (optional) Type of container. One of project, space and wxo. Must be used with `container_id` together. :param str container_id: (optional) The GUID of the specified container. Must be used with `container_type` together. :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `IntegratedSystemResponse` result """ if integrated_system_id is None: raise ValueError('integrated_system_id must be provided') if json_patch_operation is None: raise ValueError('json_patch_operation must be provided') json_patch_operation = [convert_model(x) for x in json_patch_operation] headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='integrated_systems_update') headers.update(sdk_headers) params = { 'container_type': container_type, 'container_id': container_id, 'project_id': project_id, 'space_id': space_id } data = json.dumps(json_patch_operation) headers['content-type'] = 'application/json-patch+json' if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/integrated_systems/{0}'.format( *self.watson_open_scale.encode_path_vars(integrated_system_id)) request = self.watson_open_scale.prepare_request(method='PATCH', url=url, headers=headers, params=params, data=data) response = self.watson_open_scale.send(request) if hasattr(IntegratedSystemResponse, 'from_dict'): response.result = IntegratedSystemResponse.from_dict(response.result) return response def delete(self, integrated_system_id: str, *, container_type: str = None, container_id: str = None, project_id: str = None, space_id: str = None, **kwargs ) -> DetailedResponse: """ Delete an integrated system. Delete an integrated system. :param str integrated_system_id: Unique integrated system ID. :param str container_type: (optional) Type of container. One of project, space and wxo. Must be used with `container_id` together. :param str container_id: (optional) The GUID of the specified container. Must be used with `container_type` together. :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse """ if integrated_system_id is None: raise ValueError('integrated_system_id must be provided') headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='integrated_systems_delete') headers.update(sdk_headers) params = { 'container_type': container_type, 'container_id': container_id, 'project_id': project_id, 'space_id': space_id } if 'headers' in kwargs: headers.update(kwargs.get('headers')) url = '/v2/integrated_systems/{0}'.format( *self.watson_open_scale.encode_path_vars(integrated_system_id)) request = self.watson_open_scale.prepare_request(method='DELETE', url=url, headers=headers, params=params) response = self.watson_open_scale.send(request) return response ######################### # Operational Spaces ######################### class OperationalSpaces: """ Operational Spaces """ def __init__(self, watson_open_scale: WatsonOpenScaleV2) -> None: """ Construct a OperationalSpaces client for the Watson OpenScale service. :param WatsonOpenScaleV2 watson_open_scale: client for the Watson OpenScale service. """ self.watson_open_scale = watson_open_scale def list(self, **kwargs ) -> DetailedResponse: """ List Operational Spaces. List Operational Spaces. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `OperationalSpaceCollection` result """ headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='operational_spaces_list') headers.update(sdk_headers) if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/operational_spaces' request = self.watson_open_scale.prepare_request(method='GET', url=url, headers=headers) response = self.watson_open_scale.send(request) if hasattr(OperationalSpaceCollection, 'from_dict'): response.result = OperationalSpaceCollection.from_dict(response.result) return response def add(self, name: str, *, description: str = None, **kwargs ) -> DetailedResponse: """ Create an operational space. Create an operational space. :param str name: The name of the Operational Space. :param str description: (optional) The description of the Operational Space. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `OperationalSpaceResponse` result """ if name is None: raise ValueError('name must be provided') headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='operational_spaces_add') headers.update(sdk_headers) data = { 'name': name, 'description': description } data = {k: v for (k, v) in data.items() if v is not None} data = json.dumps(data) headers['content-type'] = 'application/json' if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/operational_spaces' request = self.watson_open_scale.prepare_request(method='POST', url=url, headers=headers, data=data) response = self.watson_open_scale.send(request) if hasattr(OperationalSpaceResponse, 'from_dict'): response.result = OperationalSpaceResponse.from_dict(response.result) return response def get(self, operational_space_id: str, **kwargs ) -> DetailedResponse: """ Get an operational space. Get an operational space. :param str operational_space_id: Unique Operational Space ID. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `OperationalSpaceResponse` result """ if operational_space_id is None: raise ValueError('operational_space_id must be provided') headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='operational_spaces_get') headers.update(sdk_headers) if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/operational_spaces/{0}'.format( *self.watson_open_scale.encode_path_vars(operational_space_id)) request = self.watson_open_scale.prepare_request(method='GET', url=url, headers=headers) response = self.watson_open_scale.send(request) if hasattr(OperationalSpaceResponse, 'from_dict'): response.result = OperationalSpaceResponse.from_dict(response.result) return response def update(self, operational_space_id: str, json_patch_operation: List['JsonPatchOperation'], **kwargs ) -> DetailedResponse: """ Update an operational space. Update an operational space. :param str operational_space_id: Unique Operational Space ID. :param List[JsonPatchOperation] json_patch_operation: :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `OperationalSpaceResponse` result """ if operational_space_id is None: raise ValueError('operational_space_id must be provided') if json_patch_operation is None: raise ValueError('json_patch_operation must be provided') json_patch_operation = [convert_model(x) for x in json_patch_operation] headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='operational_spaces_update') headers.update(sdk_headers) data = json.dumps(json_patch_operation) headers['content-type'] = 'application/json-patch+json' if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/operational_spaces/{0}'.format( *self.watson_open_scale.encode_path_vars(operational_space_id)) request = self.watson_open_scale.prepare_request(method='PATCH', url=url, headers=headers, data=data) response = self.watson_open_scale.send(request) if hasattr(OperationalSpaceResponse, 'from_dict'): response.result = OperationalSpaceResponse.from_dict(response.result) return response def delete(self, operational_space_id: str, **kwargs ) -> DetailedResponse: """ Delete an operational space. Delete an operational space. :param str operational_space_id: Unique Operational Space ID. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse """ if operational_space_id is None: raise ValueError('operational_space_id must be provided') headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='operational_spaces_delete') headers.update(sdk_headers) if 'headers' in kwargs: headers.update(kwargs.get('headers')) url = '/v2/operational_spaces/{0}'.format( *self.watson_open_scale.encode_path_vars(operational_space_id)) request = self.watson_open_scale.prepare_request(method='DELETE', url=url, headers=headers) response = self.watson_open_scale.send(request) return response ######################### # User Preferences ######################### class UserPreferences: """ User Preferences """ def __init__(self, watson_open_scale: WatsonOpenScaleV2) -> None: """ Construct a UserPreferences client for the Watson OpenScale service. :param WatsonOpenScaleV2 watson_open_scale: client for the Watson OpenScale service. """ self.watson_open_scale = watson_open_scale def list(self, **kwargs ) -> DetailedResponse: """ Get User Preferences. Get User Preferences. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse """ headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='user_preferences_list') headers.update(sdk_headers) if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/user_preferences' request = self.watson_open_scale.prepare_request(method='GET', url=url, headers=headers) response = self.watson_open_scale.send(request) return response def patch(self, json_patch_operation: List['JsonPatchOperation'], **kwargs ) -> DetailedResponse: """ Update User Preferences. Update User Preferences. :param List[JsonPatchOperation] json_patch_operation: :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse """ if json_patch_operation is None: raise ValueError('json_patch_operation must be provided') json_patch_operation = [convert_model(x) for x in json_patch_operation] headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='user_preferences_patch') headers.update(sdk_headers) data = json.dumps(json_patch_operation) headers['content-type'] = 'application/json-patch+json' if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/user_preferences' request = self.watson_open_scale.prepare_request(method='PATCH', url=url, headers=headers, data=data) response = self.watson_open_scale.send(request) return response def get(self, user_preference_key: str, **kwargs ) -> DetailedResponse: """ Get a specific user preference. Get a specific user preference. :param str user_preference_key: key in user preferences. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `UserPreferencesGetResponse` result """ if user_preference_key is None: raise ValueError('user_preference_key must be provided') headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='user_preferences_get') headers.update(sdk_headers) if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/user_preferences/{0}'.format( *self.watson_open_scale.encode_path_vars(user_preference_key)) request = self.watson_open_scale.prepare_request(method='GET', url=url, headers=headers) response = self.watson_open_scale.send(request) if hasattr(UserPreferencesGetResponse, 'from_dict'): response.result = UserPreferencesGetResponse.from_dict(response.result) return response def update(self, user_preference_key: str, user_preferences_update_request: 'UserPreferencesUpdateRequest', **kwargs ) -> DetailedResponse: """ Update the user preference. Update the user preference. :param str user_preference_key: key in user preferences. :param UserPreferencesUpdateRequest user_preferences_update_request: :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse """ if user_preference_key is None: raise ValueError('user_preference_key must be provided') if user_preferences_update_request is None: raise ValueError('user_preferences_update_request must be provided') headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='user_preferences_update') headers.update(sdk_headers) data = json.dumps(user_preferences_update_request) headers['content-type'] = 'application/json' if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/user_preferences/{0}'.format( *self.watson_open_scale.encode_path_vars(user_preference_key)) request = self.watson_open_scale.prepare_request(method='PUT', url=url, headers=headers, data=data) response = self.watson_open_scale.send(request) return response def delete(self, user_preference_key: str, **kwargs ) -> DetailedResponse: """ Delete the user preference. Delete the user preference. :param str user_preference_key: key in user preferences. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse """ if user_preference_key is None: raise ValueError('user_preference_key must be provided') headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='user_preferences_delete') headers.update(sdk_headers) if 'headers' in kwargs: headers.update(kwargs.get('headers')) url = '/v2/user_preferences/{0}'.format( *self.watson_open_scale.encode_path_vars(user_preference_key)) request = self.watson_open_scale.prepare_request(method='DELETE', url=url, headers=headers) response = self.watson_open_scale.send(request) return response ######################### # Explanation Tasks ######################### class ExplanationTasks: """ Explanation Tasks """ def __init__(self, watson_open_scale: WatsonOpenScaleV2) -> None: """ Construct a ExplanationTasks client for the Watson OpenScale service. :param WatsonOpenScaleV2 watson_open_scale: client for the Watson OpenScale service. """ self.watson_open_scale = watson_open_scale def add(self, *, scoring_ids: List[str] = None, input_rows: List[dict] = None, explanation_types: List[str] = None, subscription_id: str = None, project_id: str = None, space_id: str = None, **kwargs ) -> DetailedResponse: """ Compute explanations. Submit tasks for computing explanation of predictions. :param List[str] scoring_ids: (optional) IDs of the scoring transaction. :param List[dict] input_rows: (optional) List of scoring transactions. :param List[str] explanation_types: (optional) Types of explanations to generate. :param str subscription_id: (optional) Unique subscription ID. :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `PostExplanationTaskResponse` result """ headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='explanation_tasks_add') headers.update(sdk_headers) params = { 'project_id': project_id, 'space_id': space_id } data = { 'scoring_ids': scoring_ids, 'input_rows': input_rows, 'explanation_types': explanation_types, 'subscription_id': subscription_id } data = {k: v for (k, v) in data.items() if v is not None} data = json.dumps(data) headers['content-type'] = 'application/json' if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/explanation_tasks' request = self.watson_open_scale.prepare_request(method='POST', url=url, headers=headers, params=params, data=data) response = self.watson_open_scale.send(request) if hasattr(PostExplanationTaskResponse, 'from_dict'): response.result = PostExplanationTaskResponse.from_dict(response.result) return response def list(self, subscription_id: str, *, project_id: str = None, space_id: str = None, offset: int = None, limit: int = None, scoring_id: str = None, status: str = None, **kwargs ) -> DetailedResponse: """ List all explanations. List of all the computed explanations. :param str subscription_id: Unique subscription ID. :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param int offset: (optional) offset of the explanations to return. :param int limit: (optional) Maximum number of explanations to return. :param str scoring_id: (optional) ID of the scoring transaction. :param str status: (optional) Status of the explanation task. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `GetExplanationTasksResponse` result """ if subscription_id is None: raise ValueError('subscription_id must be provided') headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='explanation_tasks_list') headers.update(sdk_headers) params = { 'subscription_id': subscription_id, 'project_id': project_id, 'space_id': space_id, 'offset': offset, 'limit': limit, 'scoring_id': scoring_id, 'status': status } if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/explanation_tasks' request = self.watson_open_scale.prepare_request(method='GET', url=url, headers=headers, params=params) response = self.watson_open_scale.send(request) if hasattr(GetExplanationTasksResponse, 'from_dict'): response.result = GetExplanationTasksResponse.from_dict(response.result) return response def get(self, explanation_task_id: str, *, subscription_id: str = None, project_id: str = None, space_id: str = None, **kwargs ) -> DetailedResponse: """ Get explanation. Get explanation for the given explanation task id. :param str explanation_task_id: ID of the explanation task. :param str subscription_id: (optional) Unique subscription ID. :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `GetExplanationTaskResponse` result """ if explanation_task_id is None: raise ValueError('explanation_task_id must be provided') headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='explanation_tasks_get') headers.update(sdk_headers) params = { 'subscription_id': subscription_id, 'project_id': project_id, 'space_id': space_id } if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/explanation_tasks/{0}'.format( *self.watson_open_scale.encode_path_vars(explanation_task_id)) request = self.watson_open_scale.prepare_request(method='GET', url=url, headers=headers, params=params) response = self.watson_open_scale.send(request) if hasattr(GetExplanationTaskResponse, 'from_dict'): response.result = GetExplanationTaskResponse.from_dict(response.result) return response ######################### # Drift v2 Service ######################### class DriftV2Service: """ Drift v2 Service """ def __init__(self, watson_open_scale: WatsonOpenScaleV2) -> None: """ Construct a DriftV2Service client for the Watson OpenScale service. :param WatsonOpenScaleV2 watson_open_scale: client for the Watson OpenScale service. """ self.watson_open_scale = watson_open_scale def download_drift_v2_archive_metadata(self, subscription_id: str, *, project_id: str = None, space_id: str = None, archive_id: str = None, **kwargs ) -> DetailedResponse: """ Get drift archive metadata for a given subscription. :param str subscription_id: The id of the subscription. :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param str archive_id: (optional) The id of the archive to be downloaded. It will download the latest baseline archive by default. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse """ if subscription_id is None: raise ValueError('subscription_id must be provided') headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='download_drift_v2_archive_metadata') headers.update(sdk_headers) params = { 'subscription_id': subscription_id, 'project_id': project_id, 'space_id': space_id, 'archive_id': archive_id } if 'headers' in kwargs: headers.update(kwargs.get('headers')) url = '/v2/monitoring_services/drift_v2/archives' request = self.watson_open_scale.prepare_request(method='HEAD', url=url, headers=headers, params=params) response = self.watson_open_scale.send(request) return response def upload_drift_v2_archive(self, subscription_id: str, body: BinaryIO, *, project_id: str = None, space_id: str = None, archive_name: str = None, **kwargs ) -> DetailedResponse: """ Upload drift_v2 archive for a given subscription. This API is used to upload the drift_v2 archive necessary to configure the Drift v2 monitor. :param str subscription_id: The id of the subscription. :param BinaryIO body: :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param str archive_name: (optional) The name of the archive being uploaded. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse """ if subscription_id is None: raise ValueError('subscription_id must be provided') if body is None: raise ValueError('body must be provided') headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='upload_drift_v2_archive') headers.update(sdk_headers) params = { 'subscription_id': subscription_id, 'project_id': project_id, 'space_id': space_id, 'archive_name': archive_name } data = body headers['content-type'] = 'application/octet-stream' if 'headers' in kwargs: headers.update(kwargs.get('headers')) url = '/v2/monitoring_services/drift_v2/archives' request = self.watson_open_scale.prepare_request(method='PUT', url=url, headers=headers, params=params, data=data) response = self.watson_open_scale.send(request) return response def download_drift_v2_archive(self, subscription_id: str, *, project_id: str = None, space_id: str = None, archive_id: str = None, **kwargs ) -> DetailedResponse: """ Get drift v2 archive for a given subscription. This API is used to download the drift_v2 Archives. :param str subscription_id: The id of the subscription. :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param str archive_id: (optional) The id of the archive to be downloaded. It will download the latest baseline archive by default. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse """ if subscription_id is None: raise ValueError('subscription_id must be provided') headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='download_drift_v2_archive') headers.update(sdk_headers) params = { 'subscription_id': subscription_id, 'project_id': project_id, 'space_id': space_id, 'archive_id': archive_id } if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/octet-stream' url = '/v2/monitoring_services/drift_v2/archives' request = self.watson_open_scale.prepare_request(method='GET', url=url, headers=headers, params=params) response = self.watson_open_scale.send(request) return response ######################### # Drift Service ######################### class DriftService: """ Drift Service """ def __init__(self, watson_open_scale: WatsonOpenScaleV2) -> None: """ Construct a DriftService client for the Watson OpenScale service. :param WatsonOpenScaleV2 watson_open_scale: client for the Watson OpenScale service. """ self.watson_open_scale = watson_open_scale def drift_archive_head(self, monitor_instance_id: str, *, project_id: str = None, space_id: str = None, **kwargs ) -> DetailedResponse: """ Retrieves the Drift archive metadata. API to retrieve the Drift archive metadata. :param str monitor_instance_id: Unique monitor instance ID. :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse """ if monitor_instance_id is None: raise ValueError('monitor_instance_id must be provided') headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='drift_archive_head') headers.update(sdk_headers) params = { 'project_id': project_id, 'space_id': space_id } if 'headers' in kwargs: headers.update(kwargs.get('headers')) url = '/v2/monitoring_services/drift/monitor_instances/{0}/archives'.format( *self.watson_open_scale.encode_path_vars(monitor_instance_id)) request = self.watson_open_scale.prepare_request(method='HEAD', url=url, headers=headers, params=params) response = self.watson_open_scale.send(request) return response def drift_archive_post(self, data_mart_id: str, subscription_id: str, body: BinaryIO, *, project_id: str = None, space_id: str = None, archive_name: str = None, enable_data_drift: bool = None, enable_model_drift: bool = None, **kwargs ) -> DetailedResponse: """ Upload Drift archives. API to upload drift archive such as the Drift Detection Model. :param str data_mart_id: ID of the data mart. :param str subscription_id: Unique subscription ID. :param BinaryIO body: :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param str archive_name: (optional) The name of the archive being uploaded. :param bool enable_data_drift: (optional) Flag to enable/disable data drift. :param bool enable_model_drift: (optional) Flag to enable/disable model drift. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse """ if data_mart_id is None: raise ValueError('data_mart_id must be provided') if subscription_id is None: raise ValueError('subscription_id must be provided') if body is None: raise ValueError('body must be provided') headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='drift_archive_post') headers.update(sdk_headers) params = { 'project_id': project_id, 'space_id': space_id, 'archive_name': archive_name, 'enable_data_drift': enable_data_drift, 'enable_model_drift': enable_model_drift } data = body headers['content-type'] = 'application/octet-stream' if 'headers' in kwargs: headers.update(kwargs.get('headers')) url = '/v2/monitoring_services/drift/data_marts/{0}/subscriptions/{1}/archives'.format( *self.watson_open_scale.encode_path_vars(data_mart_id, subscription_id)) request = self.watson_open_scale.prepare_request(method='POST', url=url, headers=headers, params=params, data=data) response = self.watson_open_scale.send(request) return response def drift_archive_get(self, monitor_instance_id: str, *, project_id: str = None, space_id: str = None, **kwargs ) -> DetailedResponse: """ Retrieves the Drift archives. API to retrieve the Drift archives. :param str monitor_instance_id: Unique monitor instance ID. :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse """ if monitor_instance_id is None: raise ValueError('monitor_instance_id must be provided') headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='drift_archive_get') headers.update(sdk_headers) params = { 'project_id': project_id, 'space_id': space_id } if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/octet-stream' url = '/v2/monitoring_services/drift/monitor_instances/{0}/archives'.format( *self.watson_open_scale.encode_path_vars(monitor_instance_id)) request = self.watson_open_scale.prepare_request(method='GET', url=url, headers=headers, params=params) response = self.watson_open_scale.send(request) return response ######################### # Explainability Service ######################### class ExplainabilityService: """ Explainability Service """ def __init__(self, watson_open_scale: WatsonOpenScaleV2) -> None: """ Construct a ExplainabilityService client for the Watson OpenScale service. :param WatsonOpenScaleV2 watson_open_scale: client for the Watson OpenScale service. """ self.watson_open_scale = watson_open_scale def explainability_archive_put(self, subscription_id: str, body: BinaryIO, *, project_id: str = None, space_id: str = None, **kwargs ) -> DetailedResponse: """ Upload explainability configuration archive. API to upload explainability configuration archive containing the explainability artifacts. The api can also be used to update the archive. :param str subscription_id: Unique subscription ID. :param BinaryIO body: :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse """ if subscription_id is None: raise ValueError('subscription_id must be provided') if body is None: raise ValueError('body must be provided') headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='explainability_archive_put') headers.update(sdk_headers) params = { 'subscription_id': subscription_id, 'project_id': project_id, 'space_id': space_id } data = body headers['content-type'] = 'application/octet-stream' if 'headers' in kwargs: headers.update(kwargs.get('headers')) url = '/v2/monitoring_services/explainability/archives' request = self.watson_open_scale.prepare_request(method='PUT', url=url, headers=headers, params=params, data=data) response = self.watson_open_scale.send(request) return response def explainability_archive_post(self, subscription_id: str, body: BinaryIO, *, project_id: str = None, space_id: str = None, **kwargs ) -> DetailedResponse: """ Upload explainability configuration archive. API to upload explainability configuration archive containing the explainability artifacts. The api can also be used to update the archive. :param str subscription_id: Unique subscription ID. :param BinaryIO body: :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse """ if subscription_id is None: raise ValueError('subscription_id must be provided') if body is None: raise ValueError('body must be provided') headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='explainability_archive_post') headers.update(sdk_headers) params = { 'subscription_id': subscription_id, 'project_id': project_id, 'space_id': space_id } data = body headers['content-type'] = 'application/octet-stream' if 'headers' in kwargs: headers.update(kwargs.get('headers')) url = '/v2/monitoring_services/explainability/archives' request = self.watson_open_scale.prepare_request(method='POST', url=url, headers=headers, params=params, data=data) response = self.watson_open_scale.send(request) return response def explainability_archive_get(self, subscription_id: str, *, project_id: str = None, space_id: str = None, **kwargs ) -> DetailedResponse: """ Download the Explainability configuration archive. API to download the Explainability archive. :param str subscription_id: Unique subscription ID. :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse """ if subscription_id is None: raise ValueError('subscription_id must be provided') headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='explainability_archive_get') headers.update(sdk_headers) params = { 'subscription_id': subscription_id, 'project_id': project_id, 'space_id': space_id } if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/octet-stream' url = '/v2/monitoring_services/explainability/archives' request = self.watson_open_scale.prepare_request(method='GET', url=url, headers=headers, params=params) response = self.watson_open_scale.send(request) return response ######################### # Schema Utility ######################### class SchemaUtility: """ Schema Utility """ def __init__(self, watson_open_scale: WatsonOpenScaleV2) -> None: """ Construct a SchemaUtility client for the Watson OpenScale service. :param WatsonOpenScaleV2 watson_open_scale: client for the Watson OpenScale service. """ self.watson_open_scale = watson_open_scale def spark_schemas_post(self, body: Union[str, TextIO], *, project_id: str = None, space_id: str = None, **kwargs ) -> DetailedResponse: """ Parse a given file and extract the schema in Spark StructType format. API to consume a file such as CSV and returns the schema in Spark StructType format. :param str body: :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `SparkStruct` result """ if body is None: raise ValueError('body must be provided') headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='spark_schemas_post') headers.update(sdk_headers) params = { 'project_id': project_id, 'space_id': space_id } data = body headers['content-type'] = 'text/csv' if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/spark_schemas' request = self.watson_open_scale.prepare_request(method='POST', url=url, headers=headers, params=params, data=data) response = self.watson_open_scale.send(request) if hasattr(SparkStruct, 'from_dict'): response.result = SparkStruct.from_dict(response.result) return response ######################### # Model Risk Management ######################### class ModelRiskManagement: """ Model Risk Management """ def __init__(self, watson_open_scale: WatsonOpenScaleV2) -> None: """ Construct a ModelRiskManagement client for the Watson OpenScale service. :param WatsonOpenScaleV2 watson_open_scale: client for the Watson OpenScale service. """ self.watson_open_scale = watson_open_scale
[docs] def mrm_risk_evaluations(self, monitor_instance_id: str, *, unknown_base_type: Union[object, str, TextIO] = None, content_type: str = None, project_id: str = None, space_id: str = None, test_data_set_name: str = None, publish_metrics: str = None, publish_lineage: str = None, publish_fact: str = None, includes_model_output: str = None, delimiter: str = None, evaluation_tests: str = None, **kwargs ) -> DetailedResponse: """ Uploads the test data and triggers a monitor run for risk evaluation. Uploads the test data and triggers a monitor run for risk evaluation. :param str monitor_instance_id: The monitor instance ID. :param UNKNOWN_BASE_TYPE unknown_base_type: (optional) :param str content_type: (optional) The type of the input. A character encoding can be specified by including a `charset` parameter. For example, 'text/csv;charset=utf-8'. :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param str test_data_set_name: (optional) The name of the test CSV file being uploaded. :param str publish_metrics: (optional) Flag to decide whether to send evaluated metrics to OpenPages. :param str publish_lineage: (optional) Flag to decide whether a lineage event should be published to an integrated system. :param str publish_fact: (optional) Flag to decide whether Fact metadata should be published to an integrated system. :param str includes_model_output: (optional) Boolean flag to indicate whether the data being uploaded contains scored output or not. :param str delimiter: (optional) The delimiter to be used for CSV/Dynamic CSV files. :param str evaluation_tests: (optional) Comma separated list of monitor tests to run. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `PostRiskEvaluationsResponse` result """ if monitor_instance_id is None: raise ValueError('monitor_instance_id must be provided') headers = { 'Content-Type': content_type } sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='mrm_risk_evaluations') headers.update(sdk_headers) params = { 'project_id': project_id, 'space_id': space_id, 'test_data_set_name': test_data_set_name, 'publish_metrics': publish_metrics, 'publish_lineage': publish_lineage, 'publish_fact': publish_fact, 'includes_model_output': includes_model_output, 'delimiter': delimiter, 'evaluation_tests': evaluation_tests } if unknown_base_type is not None and isinstance(unknown_base_type, dict): data = json.dumps(unknown_base_type) if content_type is None: headers['Content-Type'] = 'application/json' else: data = unknown_base_type if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/monitoring_services/mrm/monitor_instances/{0}/risk_evaluations'.format( *self.watson_open_scale.encode_path_vars(monitor_instance_id)) request = self.watson_open_scale.prepare_request(method='POST', url=url, headers=headers, params=params, data=data) response = self.watson_open_scale.send(request) if hasattr(PostRiskEvaluationsResponse, 'from_dict'): response.result = PostRiskEvaluationsResponse.from_dict(response.result) return response
[docs] def mrm_put_risk_evaluation(self, monitor_instance_id: str, *, cancel_run: str = None, project_id: str = None, space_id: str = None, **kwargs ) -> DetailedResponse: """ Cancels the risk evaluations run. Cancels the risk evaluations run. :param str monitor_instance_id: The monitor instance ID. :param str cancel_run: (optional) :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `RiskEvaluationResponse` result """ if monitor_instance_id is None: raise ValueError('monitor_instance_id must be provided') headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='mrm_put_risk_evaluation') headers.update(sdk_headers) params = { 'project_id': project_id, 'space_id': space_id } data = { 'cancel_run': cancel_run } data = {k: v for (k, v) in data.items() if v is not None} data = json.dumps(data) headers['content-type'] = 'application/json' if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/monitoring_services/mrm/monitor_instances/{0}/risk_evaluations'.format( *self.watson_open_scale.encode_path_vars(monitor_instance_id)) request = self.watson_open_scale.prepare_request(method='PUT', url=url, headers=headers, params=params, data=data) response = self.watson_open_scale.send(request) if hasattr(RiskEvaluationResponse, 'from_dict'): response.result = RiskEvaluationResponse.from_dict(response.result) return response
[docs] def mrm_get_risk_evaluation(self, monitor_instance_id: str, *, project_id: str = None, space_id: str = None, **kwargs ) -> DetailedResponse: """ Returns the status of the risk evaluation. Returns the status of the risk evaluation. :param str monitor_instance_id: The monitor instance ID. :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `RiskEvaluationResponse` result """ if monitor_instance_id is None: raise ValueError('monitor_instance_id must be provided') headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='mrm_get_risk_evaluation') headers.update(sdk_headers) params = { 'project_id': project_id, 'space_id': space_id } if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/monitoring_services/mrm/monitor_instances/{0}/risk_evaluations'.format( *self.watson_open_scale.encode_path_vars(monitor_instance_id)) request = self.watson_open_scale.prepare_request(method='GET', url=url, headers=headers, params=params) response = self.watson_open_scale.send(request) if hasattr(RiskEvaluationResponse, 'from_dict'): response.result = RiskEvaluationResponse.from_dict(response.result) return response
[docs] def mrm_publish_metrics(self, monitor_instance_id: str, monitoring_run_id: str, *, metrics: List['IntegratedSystemMetricsArray'] = None, send_report: bool = None, project_id: str = None, space_id: str = None, **kwargs ) -> DetailedResponse: """ Publishes the chosen metrics to the integrated system reference. Publishes the chosen metrics to the integrated system reference. :param str monitor_instance_id: The monitor instance ID. :param str monitoring_run_id: The monitoring run ID. :param List[IntegratedSystemMetricsArray] metrics: (optional) :param bool send_report: (optional) :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse """ if monitor_instance_id is None: raise ValueError('monitor_instance_id must be provided') if monitoring_run_id is None: raise ValueError('monitoring_run_id must be provided') if metrics is not None: metrics = [convert_model(x) for x in metrics] headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='mrm_publish_metrics') headers.update(sdk_headers) params = { 'project_id': project_id, 'space_id': space_id } data = { 'metrics': metrics, 'send_report': send_report } data = {k: v for (k, v) in data.items() if v is not None} data = json.dumps(data) headers['content-type'] = 'application/json' if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/monitoring_services/mrm/monitor_instances/{0}/runs/{1}/integrated_system_metrics'.format( *self.watson_open_scale.encode_path_vars(monitor_instance_id, monitoring_run_id)) request = self.watson_open_scale.prepare_request(method='PUT', url=url, headers=headers, params=params, data=data) response = self.watson_open_scale.send(request) return response
[docs] def mrm_download_report(self, monitor_instance_id: str, monitoring_run_id: str, *, project_id: str = None, space_id: str = None, **kwargs ) -> DetailedResponse: """ Returns the risk evaluation report in a PDF format. Returns the risk evaluation report in a PDF format. :param str monitor_instance_id: The monitor instance ID. :param str monitoring_run_id: The monitoring run ID. :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `BinaryIO` result """ if monitor_instance_id is None: raise ValueError('monitor_instance_id must be provided') if monitoring_run_id is None: raise ValueError('monitoring_run_id must be provided') headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='mrm_download_report') headers.update(sdk_headers) params = { 'project_id': project_id, 'space_id': space_id } if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/pdf' url = '/v2/monitoring_services/mrm/monitor_instances/{0}/runs/{1}/risk_evaluation_report'.format( *self.watson_open_scale.encode_path_vars(monitor_instance_id, monitoring_run_id)) request = self.watson_open_scale.prepare_request(method='GET', url=url, headers=headers, params=params) response = self.watson_open_scale.send(request) return response
[docs] def mrm_get_all_sub_risk_evaluation_status(self, *, project_id: str = None, space_id: str = None, data_mart_id: str = None, **kwargs ) -> DetailedResponse: """ Returns the risk evaluation status of all subscriptions in a given service instance. Returns the risk evaluation status of all subscriptions in a given service instance. :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param str data_mart_id: (optional) The data mart ID. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `MrmGetRiskEvaluationStatusEntity` result """ headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='mrm_get_all_sub_risk_evaluation_status') headers.update(sdk_headers) params = { 'project_id': project_id, 'space_id': space_id, 'data_mart_id': data_mart_id } if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/subscriptions/risk_evaluation_status' request = self.watson_open_scale.prepare_request(method='GET', url=url, headers=headers, params=params) response = self.watson_open_scale.send(request) if hasattr(MrmGetRiskEvaluationStatusEntity, 'from_dict'): response.result = MrmGetRiskEvaluationStatusEntity.from_dict(response.result) return response
[docs] def mrm_update_risk_evaluation_status(self, subscription_id: str, *, state: str = None, project_id: str = None, space_id: str = None, **kwargs ) -> DetailedResponse: """ Updates the risk evaluation status for the given subscription. Updates the risk evaluation status for the given subscription. :param str subscription_id: The subscription ID. :param str state: (optional) :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse """ if subscription_id is None: raise ValueError('subscription_id must be provided') headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='mrm_update_risk_evaluation_status') headers.update(sdk_headers) params = { 'project_id': project_id, 'space_id': space_id } data = { 'state': state } data = {k: v for (k, v) in data.items() if v is not None} data = json.dumps(data) headers['content-type'] = 'application/json' if 'headers' in kwargs: headers.update(kwargs.get('headers')) url = '/v2/subscriptions/{0}/risk_evaluation_status'.format( *self.watson_open_scale.encode_path_vars(subscription_id)) request = self.watson_open_scale.prepare_request(method='PUT', url=url, headers=headers, params=params, data=data) response = self.watson_open_scale.send(request) return response
[docs] def mrm_get_risk_evaluation_status(self, subscription_id: str, *, project_id: str = None, space_id: str = None, **kwargs ) -> DetailedResponse: """ Gets risk evaluation status for the given subscription. Gets risk evaluation status for the given subscription. :param str subscription_id: The subscription ID. :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse """ if subscription_id is None: raise ValueError('subscription_id must be provided') headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='mrm_get_risk_evaluation_status') headers.update(sdk_headers) params = { 'project_id': project_id, 'space_id': space_id } if 'headers' in kwargs: headers.update(kwargs.get('headers')) url = '/v2/subscriptions/{0}/risk_evaluation_status'.format( *self.watson_open_scale.encode_path_vars(subscription_id)) request = self.watson_open_scale.prepare_request(method='GET', url=url, headers=headers, params=params) response = self.watson_open_scale.send(request) return response
[docs] def mrm_start_ai_setup(self, operational_space_id: str, *, monitors: List['AISetupMonitor'] = None, project_id: str = None, space_id: str = None, deployment_id: str = None, **kwargs ) -> DetailedResponse: """ Performs the setup activities in Watson X.Governance for a given AI service. Performs the service provider creation, gen_ai_app creation, data model creation and monitors configuration for the given AI service. :param str operational_space_id: The rank of the environment in which the monitoring is happening. Accepted values are `development`, `pre_production`, and `production`. :param List[AISetupMonitor] monitors: (optional) The list of monitors to be configured for the AI service. :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param str deployment_id: (optional) The GUID of the deployment. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `AISetupResponse` result """ if operational_space_id is None: raise ValueError('operational_space_id must be provided') if monitors is not None: monitors = [convert_model(x) for x in monitors] headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='mrm_start_ai_setup') headers.update(sdk_headers) params = { 'project_id': project_id, 'space_id': space_id, 'deployment_id': deployment_id } data = { 'operational_space_id': operational_space_id, 'monitors': monitors } data = {k: v for (k, v) in data.items() if v is not None} data = json.dumps(data) headers['content-type'] = 'application/json' if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/ai_setup' request = self.watson_open_scale.prepare_request(method='POST', url=url, headers=headers, params=params, data=data) response = self.watson_open_scale.send(request) if hasattr(AISetupResponse, 'from_dict'): response.result = AISetupResponse.from_dict(response.result) return response
[docs] def mrm_get_ai_setup(self, *, project_id: str = None, space_id: str = None, deployment_id: str = None, **kwargs ) -> DetailedResponse: """ Gets the status of the AI setup for the given AI service. Gets the status of the AI setup for the given AI service. :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param str deployment_id: (optional) The GUID of the deployment. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `AISetupResponse` result """ headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='mrm_get_ai_setup') headers.update(sdk_headers) params = { 'project_id': project_id, 'space_id': space_id, 'deployment_id': deployment_id } if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/ai_setup' request = self.watson_open_scale.prepare_request(method='GET', url=url, headers=headers, params=params) response = self.watson_open_scale.send(request) if hasattr(AISetupResponse, 'from_dict'): response.result = AISetupResponse.from_dict(response.result) return response
[docs] def mrm_start_prompt_setup(self, prompt_template_asset_id: str, label_column: str, operational_space_id: str, problem_type: str, input_data_type: str, *, data_input_locale: List[str] = None, generated_output_locale: List[str] = None, context_fields: List[str] = None, question_field: str = None, meta_fields: List['PromptSetupMetaField'] = None, data_properties: List['PromptSetupDataProperties'] = None, monitors: 'PromptSetupRequestMonitors' = None, project_id: str = None, space_id: str = None, deployment_id: str = None, **kwargs ) -> DetailedResponse: """ Performs the setup activities in Openscale for a given prompt template asset. Performs the service provider creation, subscription creation and monitors configuration for the given prompt template asset. :param str prompt_template_asset_id: The GUID of the prompt template asset. :param str label_column: The name of the column containing the reference output. :param str operational_space_id: The rank of the environment in which the monitoring is happening. Accepted values are `development`, `pre_production`, `production`. :param str problem_type: The task type to monitor for the given prompt template asset. :param str input_data_type: The input data type. :param List[str] data_input_locale: (optional) represents a list of language-code LLM can handle. :param List[str] generated_output_locale: (optional) represents a list of language-code LLM can handle. :param List[str] context_fields: (optional) The list of prompt variables containing the context. Applicable only for Retrieval-Augmented Generation problem type. :param str question_field: (optional) The prompt variable containing the question. Applicable only for Retrieval-Augmented Generation problem type. :param List[PromptSetupMetaField] meta_fields: (optional) The list of meta-fields for the prompt. :param List[PromptSetupDataProperties] data_properties: (optional) Contains metadata about the data that will flow through the prompt template. :param PromptSetupRequestMonitors monitors: (optional) The list of monitors to be configured for the prompt template. :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param str deployment_id: (optional) The GUID of the deployment. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `PromptSetupResponse` result """ if prompt_template_asset_id is None: raise ValueError('prompt_template_asset_id must be provided') if label_column is None: raise ValueError('label_column must be provided') if operational_space_id is None: raise ValueError('operational_space_id must be provided') if problem_type is None: raise ValueError('problem_type must be provided') if input_data_type is None: raise ValueError('input_data_type must be provided') if meta_fields is not None: meta_fields = [convert_model(x) for x in meta_fields] if data_properties is not None: data_properties = [convert_model(x) for x in data_properties] if monitors is not None: monitors = convert_model(monitors) headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='mrm_start_prompt_setup') headers.update(sdk_headers) params = { 'prompt_template_asset_id': prompt_template_asset_id, 'project_id': project_id, 'space_id': space_id, 'deployment_id': deployment_id } data = { 'label_column': label_column, 'operational_space_id': operational_space_id, 'problem_type': problem_type, 'input_data_type': input_data_type, 'data_input_locale': data_input_locale, 'generated_output_locale': generated_output_locale, 'context_fields': context_fields, 'question_field': question_field, 'meta_fields': meta_fields, 'data_properties': data_properties, 'monitors': monitors } data = {k: v for (k, v) in data.items() if v is not None} data = json.dumps(data) headers['content-type'] = 'application/json' if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/prompt_setup' request = self.watson_open_scale.prepare_request(method='POST', url=url, headers=headers, params=params, data=data) response = self.watson_open_scale.send(request) if hasattr(PromptSetupResponse, 'from_dict'): response.result = PromptSetupResponse.from_dict(response.result) return response
[docs] def mrm_get_prompt_setup(self, prompt_template_asset_id: str, *, project_id: str = None, space_id: str = None, deployment_id: str = None, **kwargs ) -> DetailedResponse: """ Gets the status of the prompt setup for the given prompt template asset. Gets the status of the prompt setup for the given prompt template asset. :param str prompt_template_asset_id: The GUID of the prompt template asset. :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param str deployment_id: (optional) The GUID of the deployment. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `PromptSetupResponse` result """ if prompt_template_asset_id is None: raise ValueError('prompt_template_asset_id must be provided') headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='mrm_get_prompt_setup') headers.update(sdk_headers) params = { 'prompt_template_asset_id': prompt_template_asset_id, 'project_id': project_id, 'space_id': space_id, 'deployment_id': deployment_id } if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/prompt_setup' request = self.watson_open_scale.prepare_request(method='GET', url=url, headers=headers, params=params) response = self.watson_open_scale.send(request) if hasattr(PromptSetupResponse, 'from_dict'): response.result = PromptSetupResponse.from_dict(response.result) return response
[docs] def mrm_update_notification_preferences(self, monitor_instance_id: str, *, notification_enabled: bool = None, notification_frequency: str = None, notification_emails: List[str] = None, project_id: str = None, space_id: str = None, **kwargs ) -> DetailedResponse: """ Sets the users email notification preference in the MRM monitor instance of a given model subscription. Sets the users email notification preference in the MRM monitor instance of a given model subscription. :param str monitor_instance_id: The monitor instance ID. :param bool notification_enabled: (optional) :param str notification_frequency: (optional) :param List[str] notification_emails: (optional) :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `RiskNotificationPreferencesResponse` result """ if monitor_instance_id is None: raise ValueError('monitor_instance_id must be provided') headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='mrm_update_notification_preferences') headers.update(sdk_headers) params = { 'project_id': project_id, 'space_id': space_id } data = { 'notification_enabled': notification_enabled, 'notification_frequency': notification_frequency, 'notification_emails': notification_emails } data = {k: v for (k, v) in data.items() if v is not None} data = json.dumps(data) headers['content-type'] = 'application/json' if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/monitoring_services/mrm/monitor_instances/{0}/risk_notifications'.format( *self.watson_open_scale.encode_path_vars(monitor_instance_id)) request = self.watson_open_scale.prepare_request(method='PUT', url=url, headers=headers, params=params, data=data) response = self.watson_open_scale.send(request) if hasattr(RiskNotificationPreferencesResponse, 'from_dict'): response.result = RiskNotificationPreferencesResponse.from_dict(response.result) return response
[docs] def mrm_get_notification_preferences(self, monitor_instance_id: str, *, project_id: str = None, space_id: str = None, **kwargs ) -> DetailedResponse: """ Gets the users email notification preferences for a given model subscription. Gets the users email notification preferences for a given model subscription. :param str monitor_instance_id: The monitor instance ID. :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `RiskNotificationPreferencesResponse` result """ if monitor_instance_id is None: raise ValueError('monitor_instance_id must be provided') headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='mrm_get_notification_preferences') headers.update(sdk_headers) params = { 'project_id': project_id, 'space_id': space_id } if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/monitoring_services/mrm/monitor_instances/{0}/risk_notifications'.format( *self.watson_open_scale.encode_path_vars(monitor_instance_id)) request = self.watson_open_scale.prepare_request(method='GET', url=url, headers=headers, params=params) response = self.watson_open_scale.send(request) if hasattr(RiskNotificationPreferencesResponse, 'from_dict'): response.result = RiskNotificationPreferencesResponse.from_dict(response.result) return response
######################### # WX Agentic Service ######################### class WXAgenticService: """ WX Agentic Service """ def __init__(self, watson_open_scale: WatsonOpenScaleV2) -> None: """ Construct a WXAgenticService client for the Watson OpenScale service. :param WatsonOpenScaleV2 watson_open_scale: client for the Watson OpenScale service. """ self.watson_open_scale = watson_open_scale def post_upload_traces_for_gen_ai_app(self, gen_ai_app_id: str, *, traces_file: BinaryIO = None, traces_file_content_type: str = None, project_id: str = None, space_id: str = None, **kwargs ) -> DetailedResponse: """ Uploads the traces given in the archive to the respective data-sets after processing them. Accepts an archive containing JSONs of traces in OTEL format. :param str gen_ai_app_id: Unique Gen AI App ID. :param BinaryIO traces_file: (optional) :param str traces_file_content_type: (optional) The content type of traces_file. :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `UploadTracesGenAIAppResponse` result """ if gen_ai_app_id is None: raise ValueError('gen_ai_app_id must be provided') headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='post_upload_traces_for_gen_ai_app') headers.update(sdk_headers) params = { 'project_id': project_id, 'space_id': space_id } form_data = [] if traces_file: form_data.append(('traces_file', (None, traces_file, traces_file_content_type or 'application/octet-stream'))) if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/gen_ai_apps/{0}/traces'.format( *self.watson_open_scale.encode_path_vars(gen_ai_app_id)) request = self.watson_open_scale.prepare_request(method='POST', url=url, headers=headers, params=params, files=form_data) response = self.watson_open_scale.send(request) if hasattr(UploadTracesGenAIAppResponse, 'from_dict'): response.result = UploadTracesGenAIAppResponse.from_dict(response.result) return response def upload_traces_for_gen_ai_app_get(self, gen_ai_app_id: str, *, project_id: str = None, space_id: str = None, **kwargs ) -> DetailedResponse: """ Gets the status of the traces upload. Gets the status of the traces upload. :param str gen_ai_app_id: Unique Gen AI App ID. :param str project_id: (optional) The GUID of the project. Please specify a combination of `?container_type=project&container_id=<id of the project>`. :param str space_id: (optional) The GUID of the space. Please specify a combination of `?container_type=space&container_id=<id of the space>`. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `UploadTracesGenAIAppResponse` result """ if gen_ai_app_id is None: raise ValueError('gen_ai_app_id must be provided') headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='get_upload_traces_for_gen_ai_app') headers.update(sdk_headers) params = { 'project_id': project_id, 'space_id': space_id } if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/v2/gen_ai_apps/{0}/traces'.format( *self.watson_open_scale.encode_path_vars(gen_ai_app_id)) request = self.watson_open_scale.prepare_request(method='GET', url=url, headers=headers, params=params) response = self.watson_open_scale.send(request) if hasattr(UploadTracesGenAIAppResponse, 'from_dict'): response.result = UploadTracesGenAIAppResponse.from_dict(response.result) return response ######################### # Guardrails Manager ######################### class GuardrailsManager: """ Guardrails Manager """ def __init__(self, watson_open_scale: WatsonOpenScaleV2) -> None: """ Construct a GuardrailsManager client for the Watson OpenScale service. :param WatsonOpenScaleV2 watson_open_scale: client for the Watson OpenScale service. """ self.watson_open_scale = watson_open_scale def detectors_list(self, x_governance_instance_id: str, inventory_id: str, **kwargs ) -> DetailedResponse: """ Get all detectors. Retrieves all detectors including both built-in detectors (from detector_template.json) and custom detectors (from CAMs). :param str x_governance_instance_id: Service instance ID (also known as Governance Instance ID or instance GUID). :param str inventory_id: CAMS inventory ID (UUID format). :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `ListDetectorsResponse` result """ if x_governance_instance_id is None: raise ValueError('x_governance_instance_id must be provided') if inventory_id is None: raise ValueError('inventory_id must be provided') headers = { 'X-Governance-Instance-Id': x_governance_instance_id } sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='list_detectors') headers.update(sdk_headers) params = { 'inventory_id': inventory_id } if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/guardrails_manager/v2/detectors' request = self.watson_open_scale.prepare_request(method='GET', url=url, headers=headers, params=params) response = self.watson_open_scale.send(request) if hasattr(ListDetectorsResponse, 'from_dict'): response.result = ListDetectorsResponse.from_dict(response.result) return response def detector_create(self, x_governance_instance_id: str, inventory_id: str, name: str, url: str, api_key: str, direction: List[str], *, description: str = None, detector_properties: List['DetectorProperty'] = None, parameters: List['DetectorParameter'] = None, **kwargs ) -> DetailedResponse: """ Create a detector. Creates a new detector with custom endpoint URL and configuration. :param str x_governance_instance_id: Service instance ID (also known as Governance Instance ID or instance GUID). :param str inventory_id: CAMS inventory ID (UUID format). :param str name: Name of the detector. :param str url: URL endpoint for the detector. :param str api_key: API key for authenticating with the detector endpoint. :param List[str] direction: Direction(s) where the detector applies (input, output, or both). :param str description: (optional) Description of the detector. :param List[DetectorProperty] detector_properties: (optional) Configurable properties for the detector. :param List[DetectorParameter] parameters: (optional) Parameters that can be passed to the detector. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `DetectorResponse` result """ if x_governance_instance_id is None: raise ValueError('x_governance_instance_id must be provided') if inventory_id is None: raise ValueError('inventory_id must be provided') if name is None: raise ValueError('name must be provided') if url is None: raise ValueError('url must be provided') if api_key is None: raise ValueError('api_key must be provided') if direction is None: raise ValueError('direction must be provided') if detector_properties is not None: detector_properties = [convert_model(x) for x in detector_properties] if parameters is not None: parameters = [convert_model(x) for x in parameters] headers = { 'X-Governance-Instance-Id': x_governance_instance_id } sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='create_detector') headers.update(sdk_headers) params = { 'inventory_id': inventory_id } data = { 'name': name, 'url': url, 'api_key': api_key, 'direction': direction, 'description': description, 'detector_properties': detector_properties, 'parameters': parameters } data = {k: v for (k, v) in data.items() if v is not None} data = json.dumps(data) headers['content-type'] = 'application/json' if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/guardrails_manager/v2/detectors' request = self.watson_open_scale.prepare_request(method='POST', url=url, headers=headers, params=params, data=data) response = self.watson_open_scale.send(request) if hasattr(DetectorResponse, 'from_dict'): response.result = DetectorResponse.from_dict(response.result) return response def detector_get(self, id: str, x_governance_instance_id: str, inventory_id: str, **kwargs ) -> DetailedResponse: """ Get a detector by ID. Retrieves a specific custom detector by its ID. :param str id: The UUID of the detector to retrieve. :param str x_governance_instance_id: Service instance ID (also known as Governance Instance ID or instance GUID). :param str inventory_id: CAMS inventory ID (UUID format). :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `DetectorResponse` result """ if id is None: raise ValueError('id must be provided') if x_governance_instance_id is None: raise ValueError('x_governance_instance_id must be provided') if inventory_id is None: raise ValueError('inventory_id must be provided') headers = { 'X-Governance-Instance-Id': x_governance_instance_id } sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='get_detector') headers.update(sdk_headers) params = { 'inventory_id': inventory_id } if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/guardrails_manager/v2/detectors/{0}'.format( *self.watson_open_scale.encode_path_vars(id)) request = self.watson_open_scale.prepare_request(method='GET', url=url, headers=headers, params=params) response = self.watson_open_scale.send(request) if hasattr(DetectorResponse, 'from_dict'): response.result = DetectorResponse.from_dict(response.result) return response def enforce_create(self, id: str, x_governance_instance_id: str, inventory_id: str, text: str, direction: str, detectors_properties: dict, *, detectors: List[str] = None, **kwargs ) -> DetailedResponse: """ Enforce a policy. Executes a policy by ID to detect and apply actions on the provided text based on configured detectors. :param str id: The UUID of the policy to enforce. :param str x_governance_instance_id: Service instance ID (also known as Governance Instance ID or instance GUID). :param str inventory_id: CAMS inventory ID (UUID format). :param str text: The text content to be analyzed by the policy detectors. :param str direction: Direction of the text flow (input or output). :param dict detectors_properties: Optional properties for detectors, keyed by detector name. :param List[str] detectors: (optional) Optional list of specific detector names to run (if not provided, all policy detectors will run). :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `EnforceResponse` result """ if id is None: raise ValueError('id must be provided') if x_governance_instance_id is None: raise ValueError('x_governance_instance_id must be provided') if inventory_id is None: raise ValueError('inventory_id must be provided') if text is None: raise ValueError('text must be provided') if direction is None: raise ValueError('direction must be provided') if detectors_properties is None: raise ValueError('detectors_properties must be provided') headers = { 'X-Governance-Instance-Id': x_governance_instance_id } sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='create_enforce') headers.update(sdk_headers) params = { 'inventory_id': inventory_id } data = { 'text': text, 'direction': direction, 'detectors_properties': detectors_properties, 'detectors': detectors } data = {k: v for (k, v) in data.items() if v is not None} data = json.dumps(data) headers['content-type'] = 'application/json' if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/guardrails_manager/v2/enforce/{0}'.format( *self.watson_open_scale.encode_path_vars(id)) request = self.watson_open_scale.prepare_request(method='POST', url=url, headers=headers, params=params, data=data) response = self.watson_open_scale.send(request) if hasattr(EnforceResponse, 'from_dict'): response.result = EnforceResponse.from_dict(response.result) return response def policies_list(self, inventory_id: str, policytype: str, *, search: str = None, **kwargs ) -> DetailedResponse: """ Get all policies. Retrieves a list of all policies with optional search and filtering by policy type. :param str inventory_id: CAMS inventory ID (UUID format). :param str policytype: Filter policies by type (publish for active, draft for inactive, false for all). :param str search: (optional) Search term to filter policies by name or description. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `PolicyResponseCollection` result """ if inventory_id is None: raise ValueError('inventory_id must be provided') if policytype is None: raise ValueError('policytype must be provided') headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='list_policies') headers.update(sdk_headers) params = { 'inventory_id': inventory_id, 'policytype': policytype, 'search': search } if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/guardrails_manager/v2/policies' request = self.watson_open_scale.prepare_request(method='GET', url=url, headers=headers, params=params) response = self.watson_open_scale.send(request) if hasattr(PolicyResponseCollection, 'from_dict'): response.result = PolicyResponseCollection.from_dict(response.result) return response def policy_create(self, inventory_id: str, name: str, input: List['PolicyDetectorConfig'], output: List['PolicyDetectorConfig'], policy_status: str, *, description: str = None, block_message: str = None, mask_character: str = None, tags: List[str] = None, **kwargs ) -> DetailedResponse: """ Create a policy. Creates a new policy with detector and action configurations for input and output directions. :param str inventory_id: CAMS inventory ID (UUID format). :param str name: Name of the policy. :param List[PolicyDetectorConfig] input: Detector configurations for input direction. :param List[PolicyDetectorConfig] output: Detector configurations for output direction. :param str policy_status: Status of the policy (publish for active, draft for inactive). :param str description: (optional) Description of the policy. :param str block_message: (optional) Message to display when content is blocked. :param str mask_character: (optional) Character to use for masking (e.g., "*"). :param List[str] tags: (optional) Tags for categorizing the policy. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `PolicyResponse` result """ if inventory_id is None: raise ValueError('inventory_id must be provided') if name is None: raise ValueError('name must be provided') if input is None: raise ValueError('input must be provided') if output is None: raise ValueError('output must be provided') if policy_status is None: raise ValueError('policy_status must be provided') input = [convert_model(x) for x in input] output = [convert_model(x) for x in output] headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='create_policy') headers.update(sdk_headers) params = { 'inventory_id': inventory_id } data = { 'name': name, 'input': input, 'output': output, 'policy_status': policy_status, 'description': description, 'block_message': block_message, 'mask_character': mask_character, 'tags': tags } data = {k: v for (k, v) in data.items() if v is not None} data = json.dumps(data) headers['content-type'] = 'application/json' if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/guardrails_manager/v2/policies' request = self.watson_open_scale.prepare_request(method='POST', url=url, headers=headers, params=params, data=data) response = self.watson_open_scale.send(request) if hasattr(PolicyResponse, 'from_dict'): response.result = PolicyResponse.from_dict(response.result) return response def policy_get(self, id: str, inventory_id: str, **kwargs ) -> DetailedResponse: """ Get a policy by ID. Retrieves a specific policy by its unique identifier. :param str id: Unique identifier for the policy (UUID format). :param str inventory_id: CAMS inventory ID (UUID format). :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `PolicyResponse` result """ if id is None: raise ValueError('id must be provided') if inventory_id is None: raise ValueError('inventory_id must be provided') headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='get_policy') headers.update(sdk_headers) params = { 'inventory_id': inventory_id } if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/guardrails_manager/v2/policies/{0}'.format( *self.watson_open_scale.encode_path_vars(id)) request = self.watson_open_scale.prepare_request(method='GET', url=url, headers=headers, params=params) response = self.watson_open_scale.send(request) if hasattr(PolicyResponse, 'from_dict'): response.result = PolicyResponse.from_dict(response.result) return response def policy_replace(self, id: str, inventory_id: str, name: str, input: List['PolicyDetectorConfig'], output: List['PolicyDetectorConfig'], policy_status: str, *, description: str = None, block_message: str = None, mask_character: str = None, tags: List[str] = None, **kwargs ) -> DetailedResponse: """ Update a policy. Updates an existing policy with new detector and action configurations. :param str id: Unique identifier for the policy (UUID format). :param str inventory_id: CAMS inventory ID (UUID format). :param str name: Name of the policy. :param List[PolicyDetectorConfig] input: Detector configurations for input direction. :param List[PolicyDetectorConfig] output: Detector configurations for output direction. :param str policy_status: Status of the policy (publish for active, draft for inactive). :param str description: (optional) Description of the policy. :param str block_message: (optional) Message to display when content is blocked. :param str mask_character: (optional) Character to use for masking (e.g., "*"). :param List[str] tags: (optional) Tags for categorizing the policy. :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse with `PolicyResponse` result """ if id is None: raise ValueError('id must be provided') if inventory_id is None: raise ValueError('inventory_id must be provided') if name is None: raise ValueError('name must be provided') if input is None: raise ValueError('input must be provided') if output is None: raise ValueError('output must be provided') if policy_status is None: raise ValueError('policy_status must be provided') input = [convert_model(x) for x in input] output = [convert_model(x) for x in output] headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='replace_policy') headers.update(sdk_headers) params = { 'inventory_id': inventory_id } data = { 'name': name, 'input': input, 'output': output, 'policy_status': policy_status, 'description': description, 'block_message': block_message, 'mask_character': mask_character, 'tags': tags } data = {k: v for (k, v) in data.items() if v is not None} data = json.dumps(data) headers['content-type'] = 'application/json' if 'headers' in kwargs: headers.update(kwargs.get('headers')) headers['Accept'] = 'application/json' url = '/guardrails_manager/v2/policies/{0}'.format( *self.watson_open_scale.encode_path_vars(id)) request = self.watson_open_scale.prepare_request(method='PUT', url=url, headers=headers, params=params, data=data) response = self.watson_open_scale.send(request) if hasattr(PolicyResponse, 'from_dict'): response.result = PolicyResponse.from_dict(response.result) return response def policy_delete(self, id: str, inventory_id: str, **kwargs ) -> DetailedResponse: """ Delete a policy. Deletes a policy by its unique identifier. :param str id: Unique identifier for the policy (UUID format). :param str inventory_id: CAMS inventory ID (UUID format). :param dict headers: A `dict` containing the request headers :return: A `DetailedResponse` containing the result, headers and HTTP status code. :rtype: DetailedResponse """ if id is None: raise ValueError('id must be provided') if inventory_id is None: raise ValueError('inventory_id must be provided') headers = {} sdk_headers = get_sdk_headers(service_name=self.watson_open_scale.DEFAULT_SERVICE_NAME, service_version='V2', operation_id='delete_policy') headers.update(sdk_headers) params = { 'inventory_id': inventory_id } if 'headers' in kwargs: headers.update(kwargs.get('headers')) url = '/guardrails_manager/v2/policies/{0}'.format( *self.watson_open_scale.encode_path_vars(id)) request = self.watson_open_scale.prepare_request(method='DELETE', url=url, headers=headers, params=params) response = self.watson_open_scale.send(request) return response class ServiceProvidersListEnums: """ Enums for service_providers_list parameters. """ class ContainerType(str, Enum): """ Type of container. One of project, space and wxo. Must be used with `container_id` together. """ PROJECT = 'project' SPACE = 'space' WXO = 'wxo' class ServiceProvidersAddEnums: """ Enums for service_providers_add parameters. """ class ContainerType(str, Enum): """ Type of container. One of project, space and wxo. Must be used with `container_id` together. """ PROJECT = 'project' SPACE = 'space' WXO = 'wxo' class ServiceProvidersGetEnums: """ Enums for service_providers_get parameters. """ class ContainerType(str, Enum): """ Type of container. One of project, space and wxo. Must be used with `container_id` together. """ PROJECT = 'project' SPACE = 'space' WXO = 'wxo' class ServiceProvidersDeleteEnums: """ Enums for service_providers_delete parameters. """ class ContainerType(str, Enum): """ Type of container. One of project, space and wxo. Must be used with `container_id` together. """ PROJECT = 'project' SPACE = 'space' WXO = 'wxo' class ServiceProvidersUpdateEnums: """ Enums for service_providers_update parameters. """ class ContainerType(str, Enum): """ Type of container. One of project, space and wxo. Must be used with `container_id` together. """ PROJECT = 'project' SPACE = 'space' WXO = 'wxo' class SubscriptionsListEnums: """ Enums for subscriptions_list parameters. """ class ContainerType(str, Enum): """ Type of container. One of project, space and wxo. Must be used with `container_id` together. """ PROJECT = 'project' SPACE = 'space' WXO = 'wxo' class SubscriptionsAddEnums: """ Enums for subscriptions_add parameters. """ class ContainerType(str, Enum): """ Type of container. One of project, space and wxo. Must be used with `container_id` together. """ PROJECT = 'project' SPACE = 'space' WXO = 'wxo' class SubscriptionsGetEnums: """ Enums for subscriptions_get parameters. """ class ContainerType(str, Enum): """ Type of container. One of project, space and wxo. Must be used with `container_id` together. """ PROJECT = 'project' SPACE = 'space' WXO = 'wxo' class SubscriptionsUpdateEnums: """ Enums for subscriptions_update parameters. """ class ContainerType(str, Enum): """ Type of container. One of project, space and wxo. Must be used with `container_id` together. """ PROJECT = 'project' SPACE = 'space' WXO = 'wxo' class SubscriptionsDeleteEnums: """ Enums for subscriptions_delete parameters. """ class ContainerType(str, Enum): """ Type of container. One of project, space and wxo. Must be used with `container_id` together. """ PROJECT = 'project' SPACE = 'space' WXO = 'wxo' class SubscriptionsTablesEnums: """ Enums for subscriptions_tables parameters. """ class DatasetType(str, Enum): """ data set type of subscription. """ FEEDBACK = 'feedback' class DataSetsListEnums: """ Enums for data_sets_list parameters. """ class ContainerType(str, Enum): """ Type of container. One of project, space and wxo. Must be used with `container_id` together. """ PROJECT = 'project' SPACE = 'space' WXO = 'wxo' class TargetTargetType(str, Enum): """ type of the target. """ SUBSCRIPTION = 'subscription' INSTANCE = 'instance' DATA_MART = 'data_mart' PROJECT = 'project' SPACE = 'space' AI_DECISION_COORDINATION = 'ai_decision_coordination' GEN_AI_APP = 'gen_ai_app' WXO = 'wxo' class Type(str, Enum): """ type of the data set. """ MANUAL_LABELING = 'manual_labeling' PAYLOAD_LOGGING = 'payload_logging' FEEDBACK = 'feedback' BUSINESS_PAYLOAD = 'business_payload' EXPLANATIONS = 'explanations' EXPLANATIONS_WHATIF = 'explanations_whatif' TRAINING = 'training' PAYLOAD_LOGGING_ERROR = 'payload_logging_error' MODEL_HEALTH = 'model_health' DRIFT_STATS = 'drift_stats' DRIFT_INTERVALS = 'drift_intervals' DRIFT_INSIGHTS = 'drift_insights' GEN_AI_QUALITY_METRICS = 'gen_ai_quality_metrics' GEN_AI_SECURITY_METRICS = 'gen_ai_security_metrics' DRIFT_SCORES = 'drift_scores' AIDC_FEEDBACK = 'aidc_feedback' CUSTOM = 'custom' NODES_INFO = 'nodes_info' EDGES_INFO = 'edges_info' AGENTIC_APP_IO = 'agentic_app_io' NODES_IO = 'nodes_io' AGENTIC_APP_METRICS = 'agentic_app_metrics' SPANS = 'spans' class DataSetsAddEnums: """ Enums for data_sets_add parameters. """ class ContainerType(str, Enum): """ Type of container. One of project, space and wxo. Must be used with `container_id` together. """ PROJECT = 'project' SPACE = 'space' WXO = 'wxo' class DataSetsGetEnums: """ Enums for data_sets_get parameters. """ class ContainerType(str, Enum): """ Type of container. One of project, space and wxo. Must be used with `container_id` together. """ PROJECT = 'project' SPACE = 'space' WXO = 'wxo' class DataSetsDeleteEnums: """ Enums for data_sets_delete parameters. """ class ContainerType(str, Enum): """ Type of container. One of project, space and wxo. Must be used with `container_id` together. """ PROJECT = 'project' SPACE = 'space' WXO = 'wxo' class DataSetsUpdateEnums: """ Enums for data_sets_update parameters. """ class ContainerType(str, Enum): """ Type of container. One of project, space and wxo. Must be used with `container_id` together. """ PROJECT = 'project' SPACE = 'space' WXO = 'wxo' class RecordsAddEnums: """ Enums for records_add parameters. """ class ContentType(str, Enum): """ The type of the input. A character encoding can be specified by including a `charset` parameter. For example, 'text/csv;charset=utf-8'. """ APPLICATION_JSON = 'application/json' TEXT_CSV = 'text/csv' class OnError(str, Enum): """ expected behaviour on error. """ STOP = 'stop' CONTINUE = 'continue' class RecordsListEnums: """ Enums for records_list parameters. """ class Format(str, Enum): """ What JSON format to use on output. """ DICT = 'dict' LIST = 'list' class BinaryFormat(str, Enum): """ Binary data presentation format. By default, the binary field value is encoded to base64 string. If _reference_ is chosen, every binary field is moved to the _references_ section with value set to an uri to the particular field within the record that can be GET in a separate request. """ REFERENCE = 'reference' class RecordsGetEnums: """ Enums for records_get parameters. """ class BinaryFormat(str, Enum): """ Binary data presentation format. By default, the binary field value is encoded to base64 string. If _reference_ is chosen, every binary field is moved to the _references_ section with value set to an uri to the particular field within the record that can be GET in a separate request. """ REFERENCE = 'reference' class RecordsUpdateEnums: """ Enums for records_update parameters. """ class BinaryFormat(str, Enum): """ Binary data presentation format. By default, the binary field value is encoded to base64 string. If _reference_ is chosen, every binary field is moved to the _references_ section with value set to an uri to the particular field within the record that can be GET in a separate request. """ REFERENCE = 'reference' class RecordsQueryEnums: """ Enums for records_query parameters. """ class DataSetType(str, Enum): """ a (single) data set type. """ MANUAL_LABELING = 'manual_labeling' PAYLOAD_LOGGING = 'payload_logging' FEEDBACK = 'feedback' BUSINESS_PAYLOAD = 'business_payload' EXPLANATIONS = 'explanations' EXPLANATIONS_WHATIF = 'explanations_whatif' TRAINING = 'training' PAYLOAD_LOGGING_ERROR = 'payload_logging_error' MODEL_HEALTH = 'model_health' DRIFT_STATS = 'drift_stats' DRIFT_INTERVALS = 'drift_intervals' DRIFT_INSIGHTS = 'drift_insights' GEN_AI_QUALITY_METRICS = 'gen_ai_quality_metrics' GEN_AI_SECURITY_METRICS = 'gen_ai_security_metrics' DRIFT_SCORES = 'drift_scores' AIDC_FEEDBACK = 'aidc_feedback' CUSTOM = 'custom' NODES_INFO = 'nodes_info' EDGES_INFO = 'edges_info' AGENTIC_APP_IO = 'agentic_app_io' NODES_IO = 'nodes_io' AGENTIC_APP_METRICS = 'agentic_app_metrics' SPANS = 'spans' class InstancesListEnums: """ Enums for instances_list parameters. """ class ContainerType(str, Enum): """ Type of container. One of project, space and wxo. Must be used with `container_id` together. """ PROJECT = 'project' SPACE = 'space' WXO = 'wxo' class InstancesAddEnums: """ Enums for instances_add parameters. """ class ContainerType(str, Enum): """ Type of container. One of project, space and wxo. Must be used with `container_id` together. """ PROJECT = 'project' SPACE = 'space' WXO = 'wxo' class InstancesGetEnums: """ Enums for instances_get parameters. """ class ContainerType(str, Enum): """ Type of container. One of project, space and wxo. Must be used with `container_id` together. """ PROJECT = 'project' SPACE = 'space' WXO = 'wxo' class InstancesUpdateEnums: """ Enums for instances_update parameters. """ class ContainerType(str, Enum): """ Type of container. One of project, space and wxo. Must be used with `container_id` together. """ PROJECT = 'project' SPACE = 'space' WXO = 'wxo' class InstancesDeleteEnums: """ Enums for instances_delete parameters. """ class ContainerType(str, Enum): """ Type of container. One of project, space and wxo. Must be used with `container_id` together. """ PROJECT = 'project' SPACE = 'space' WXO = 'wxo' class MeasurementsAddEnums: """ Enums for measurements_add parameters. """ class ContainerType(str, Enum): """ Type of container. One of project, space and wxo. Must be used with `container_id` together. """ PROJECT = 'project' SPACE = 'space' WXO = 'wxo' class MeasurementsListEnums: """ Enums for measurements_list parameters. """ class ContainerType(str, Enum): """ Type of container. One of project, space and wxo. Must be used with `container_id` together. """ PROJECT = 'project' SPACE = 'space' WXO = 'wxo' class MeasurementsGetEnums: """ Enums for measurements_get parameters. """ class ContainerType(str, Enum): """ Type of container. One of project, space and wxo. Must be used with `container_id` together. """ PROJECT = 'project' SPACE = 'space' WXO = 'wxo' class MeasurementsQueryEnums: """ Enums for measurements_query parameters. """ class ContainerType(str, Enum): """ Type of container. One of project, space and wxo. Must be used with `container_id` together. """ PROJECT = 'project' SPACE = 'space' WXO = 'wxo' class TargetType(str, Enum): """ Type of the monitoring target (subscription). """ SUBSCRIPTION = 'subscription' INSTANCE = 'instance' DATA_MART = 'data_mart' PROJECT = 'project' SPACE = 'space' AI_DECISION_COORDINATION = 'ai_decision_coordination' GEN_AI_APP = 'gen_ai_app' WXO = 'wxo' class Format(str, Enum): """ Format of the returned data. `full` format compared to `compact` is additive and contains `sources` part. """ COMPACT = 'compact' FULL = 'full' class MetricsListEnums: """ Enums for metrics_list parameters. """ class Agg(str, Enum): """ Comma delimited function list constructed from metric name and function, e.g. `agg=metric_name:count,:last` that defines aggregations. """ LAST = 'last' FIRST = 'first' MAX = 'max' MIN = 'min' SUM = 'sum' AVG = 'avg' COUNT = 'count' STDDEV = 'stddev' MEDIAN = 'median' class ContainerType(str, Enum): """ Type of container. One of project, space and wxo. Must be used with `container_id` together. """ PROJECT = 'project' SPACE = 'space' WXO = 'wxo' class Interval(str, Enum): """ Time unit in which metrics are grouped and aggregated, interval by interval. """ MINUTE = 'minute' HOUR = 'hour' DAY = 'day' WEEK = 'week' MONTH = 'month' YEAR = 'year' class AiDecisionCoordinationsListEnums: """ Enums for ai_decision_coordinations_list parameters. """ class ContainerType(str, Enum): """ Type of container. One of project, space and wxo. Must be used with `container_id` together. """ PROJECT = 'project' SPACE = 'space' WXO = 'wxo' class AiDecisionCoordinationsAddEnums: """ Enums for ai_decision_coordinations_add parameters. """ class ContainerType(str, Enum): """ Type of container. One of project, space and wxo. Must be used with `container_id` together. """ PROJECT = 'project' SPACE = 'space' WXO = 'wxo' class AiDecisionCoordinationsGetEnums: """ Enums for ai_decision_coordinations_get parameters. """ class ContainerType(str, Enum): """ Type of container. One of project, space and wxo. Must be used with `container_id` together. """ PROJECT = 'project' SPACE = 'space' WXO = 'wxo' class AiDecisionCoordinationsUpdateEnums: """ Enums for ai_decision_coordinations_update parameters. """ class ContainerType(str, Enum): """ Type of container. One of project, space and wxo. Must be used with `container_id` together. """ PROJECT = 'project' SPACE = 'space' WXO = 'wxo' class AiDecisionCoordinationsDeleteEnums: """ Enums for ai_decision_coordinations_delete parameters. """ class ContainerType(str, Enum): """ Type of container. One of project, space and wxo. Must be used with `container_id` together. """ PROJECT = 'project' SPACE = 'space' WXO = 'wxo' class GenAiAppsListEnums: """ Enums for gen_ai_apps_list parameters. """ class ContainerType(str, Enum): """ Type of container. One of project, space and wxo. Must be used with `container_id` together. """ PROJECT = 'project' SPACE = 'space' WXO = 'wxo' class GenAiAppsAddEnums: """ Enums for gen_ai_apps_add parameters. """ class ContainerType(str, Enum): """ Type of container. One of project, space and wxo. Must be used with `container_id` together. """ PROJECT = 'project' SPACE = 'space' WXO = 'wxo' class AgenticAiAppsGetEnums: """ Enums for agentic_ai_apps_get parameters. """ class ContainerType(str, Enum): """ Type of container. One of project, space and wxo. Must be used with `container_id` together. """ PROJECT = 'project' SPACE = 'space' WXO = 'wxo' class AgenticAiAppsUpdateEnums: """ Enums for agentic_ai_apps_update parameters. """ class ContainerType(str, Enum): """ Type of container. One of project, space and wxo. Must be used with `container_id` together. """ PROJECT = 'project' SPACE = 'space' WXO = 'wxo' class AgenticAiAppsDeleteEnums: """ Enums for agentic_ai_apps_delete parameters. """ class ContainerType(str, Enum): """ Type of container. One of project, space and wxo. Must be used with `container_id` together. """ PROJECT = 'project' SPACE = 'space' WXO = 'wxo' class IntegratedSystemsListEnums: """ Enums for integrated_systems_list parameters. """ class ContainerType(str, Enum): """ Type of container. One of project, space and wxo. Must be used with `container_id` together. """ PROJECT = 'project' SPACE = 'space' WXO = 'wxo' class Type(str, Enum): """ comma-separated list of type for the integrated system. """ OPEN_PAGES = 'open_pages' SLACK = 'slack' WEBHOOK = 'webhook' HIVE = 'hive' SPARK = 'spark' JDBC = 'jdbc' CUSTOM_METRICS_PROVIDER = 'custom_metrics_provider' WATSON_KNOWLEDGE_CATALOG = 'watson_knowledge_catalog' GENERATIVE_AI_EVALUATOR = 'generative_ai_evaluator' EMBEDDINGS_PROVIDER = 'embeddings_provider' class IntegratedSystemsAddEnums: """ Enums for integrated_systems_add parameters. """ class ContainerType(str, Enum): """ Type of container. One of project, space and wxo. Must be used with `container_id` together. """ PROJECT = 'project' SPACE = 'space' WXO = 'wxo' class IntegratedSystemsGetEnums: """ Enums for integrated_systems_get parameters. """ class ContainerType(str, Enum): """ Type of container. One of project, space and wxo. Must be used with `container_id` together. """ PROJECT = 'project' SPACE = 'space' WXO = 'wxo' class IntegratedSystemsUpdateEnums: """ Enums for integrated_systems_update parameters. """ class ContainerType(str, Enum): """ Type of container. One of project, space and wxo. Must be used with `container_id` together. """ PROJECT = 'project' SPACE = 'space' WXO = 'wxo' class IntegratedSystemsDeleteEnums: """ Enums for integrated_systems_delete parameters. """ class ContainerType(str, Enum): """ Type of container. One of project, space and wxo. Must be used with `container_id` together. """ PROJECT = 'project' SPACE = 'space' WXO = 'wxo' class ExplanationTasksListEnums: """ Enums for explanation_tasks_list parameters. """ class Status(str, Enum): """ Status of the explanation task. """ IN_PROGRESS = 'in_progress' FINISHED = 'finished' ERROR = 'error' class MrmRiskEvaluationsEnums: """ Enums for mrm_risk_evaluations parameters. """ class ContentType(str, Enum): """ The type of the input. A character encoding can be specified by including a `charset` parameter. For example, 'text/csv;charset=utf-8'. """ APPLICATION_JSON = 'application/json' TEXT_CSV = 'text/csv' class EvaluationTests(str, Enum): """ Comma separated list of monitor tests to run. """ DRIFT = 'drift' FAIRNESS = 'fairness' QUALITY = 'quality' EXPLAINABILITY = 'explainability' class ListPoliciesEnums: """ Enums for list_policies parameters. """ class Policytype(str, Enum): """ Filter policies by type (publish for active, draft for inactive, false for all). """ PUBLISH = 'publish' DRAFT = 'draft' FALSE = 'false' ############################################################################## # Models ############################################################################## class AIDecisionCoordinationCollection(): """ AIDecisionCoordinationCollection. :attr List[AIDecisionCoordinationResponse] ai_decision_coordinations: """ def __init__(self, ai_decision_coordinations: List['AIDecisionCoordinationResponse']) -> None: """ Initialize a AIDecisionCoordinationCollection object. :param List[AIDecisionCoordinationResponse] ai_decision_coordinations: """ self.ai_decision_coordinations = ai_decision_coordinations @classmethod def from_dict(cls, _dict: Dict) -> 'AIDecisionCoordinationCollection': """Initialize a AIDecisionCoordinationCollection object from a json dictionary.""" args = {} if 'ai_decision_coordinations' in _dict: args['ai_decision_coordinations'] = [AIDecisionCoordinationResponse.from_dict(x) for x in _dict.get('ai_decision_coordinations')] else: raise ValueError('Required property \'ai_decision_coordinations\' not present in AIDecisionCoordinationCollection JSON') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a AIDecisionCoordinationCollection object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'ai_decision_coordinations') and self.ai_decision_coordinations is not None: _dict['ai_decision_coordinations'] = [x.to_dict() for x in self.ai_decision_coordinations] return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this AIDecisionCoordinationCollection object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'AIDecisionCoordinationCollection') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'AIDecisionCoordinationCollection') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class AIDecisionCoordinationEntity(): """ AI Decision Coordination definition. :attr str service_provider_id: The GUID of the Service Provider. :attr str usecase_id: The GUID of the Usecase. :attr Asset asset: asset_type must be ai_decision_coordination. :attr Status status: (optional) """ def __init__(self, service_provider_id: str, usecase_id: str, asset: 'Asset', *, status: 'Status' = None) -> None: """ Initialize a AIDecisionCoordinationEntity object. :param str service_provider_id: The GUID of the Service Provider. :param str usecase_id: The GUID of the Usecase. :param Asset asset: asset_type must be ai_decision_coordination. :param Status status: (optional) """ self.service_provider_id = service_provider_id self.usecase_id = usecase_id self.asset = asset self.status = status @classmethod def from_dict(cls, _dict: Dict) -> 'AIDecisionCoordinationEntity': """Initialize a AIDecisionCoordinationEntity object from a json dictionary.""" args = {} if 'service_provider_id' in _dict: args['service_provider_id'] = _dict.get('service_provider_id') else: raise ValueError('Required property \'service_provider_id\' not present in AIDecisionCoordinationEntity JSON') if 'usecase_id' in _dict: args['usecase_id'] = _dict.get('usecase_id') else: raise ValueError('Required property \'usecase_id\' not present in AIDecisionCoordinationEntity JSON') if 'asset' in _dict: args['asset'] = Asset.from_dict(_dict.get('asset')) else: raise ValueError('Required property \'asset\' not present in AIDecisionCoordinationEntity JSON') if 'status' in _dict: args['status'] = Status.from_dict(_dict.get('status')) return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a AIDecisionCoordinationEntity object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'service_provider_id') and self.service_provider_id is not None: _dict['service_provider_id'] = self.service_provider_id if hasattr(self, 'usecase_id') and self.usecase_id is not None: _dict['usecase_id'] = self.usecase_id if hasattr(self, 'asset') and self.asset is not None: _dict['asset'] = self.asset.to_dict() if hasattr(self, 'status') and self.status is not None: _dict['status'] = self.status.to_dict() return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this AIDecisionCoordinationEntity object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'AIDecisionCoordinationEntity') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'AIDecisionCoordinationEntity') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class AIDecisionCoordinationResponse(): """ AIDecisionCoordinationResponse. :attr Metadata metadata: (optional) :attr AIDecisionCoordinationEntity entity: (optional) AI Decision Coordination definition. """ def __init__(self, *, metadata: 'Metadata' = None, entity: 'AIDecisionCoordinationEntity' = None) -> None: """ Initialize a AIDecisionCoordinationResponse object. :param Metadata metadata: (optional) :param AIDecisionCoordinationEntity entity: (optional) AI Decision Coordination definition. """ self.metadata = metadata self.entity = entity @classmethod def from_dict(cls, _dict: Dict) -> 'AIDecisionCoordinationResponse': """Initialize a AIDecisionCoordinationResponse object from a json dictionary.""" args = {} if 'metadata' in _dict: args['metadata'] = Metadata.from_dict(_dict.get('metadata')) if 'entity' in _dict: args['entity'] = AIDecisionCoordinationEntity.from_dict(_dict.get('entity')) return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a AIDecisionCoordinationResponse object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'metadata') and self.metadata is not None: _dict['metadata'] = self.metadata.to_dict() if hasattr(self, 'entity') and self.entity is not None: _dict['entity'] = self.entity.to_dict() return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this AIDecisionCoordinationResponse object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'AIDecisionCoordinationResponse') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'AIDecisionCoordinationResponse') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class AISetupDataSetResponse(): """ The data-set details in the AI setup response. :attr str data_set_type: (optional) type of a data set. :attr str data_set_id: (optional) Unique identifier of the data set (like scoring or feedback). """ def __init__(self, *, data_set_type: str = None, data_set_id: str = None) -> None: """ Initialize a AISetupDataSetResponse object. :param str data_set_type: (optional) type of a data set. :param str data_set_id: (optional) Unique identifier of the data set (like scoring or feedback). """ self.data_set_type = data_set_type self.data_set_id = data_set_id @classmethod def from_dict(cls, _dict: Dict) -> 'AISetupDataSetResponse': """Initialize a AISetupDataSetResponse object from a json dictionary.""" args = {} if 'data_set_type' in _dict: args['data_set_type'] = _dict.get('data_set_type') if 'data_set_id' in _dict: args['data_set_id'] = _dict.get('data_set_id') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a AISetupDataSetResponse object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'data_set_type') and self.data_set_type is not None: _dict['data_set_type'] = self.data_set_type if hasattr(self, 'data_set_id') and self.data_set_id is not None: _dict['data_set_id'] = self.data_set_id return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this AISetupDataSetResponse object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'AISetupDataSetResponse') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'AISetupDataSetResponse') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class DataSetTypeEnum(str, Enum): """ type of a data set. """ MANUAL_LABELING = 'manual_labeling' PAYLOAD_LOGGING = 'payload_logging' FEEDBACK = 'feedback' BUSINESS_PAYLOAD = 'business_payload' EXPLANATIONS = 'explanations' EXPLANATIONS_WHATIF = 'explanations_whatif' TRAINING = 'training' PAYLOAD_LOGGING_ERROR = 'payload_logging_error' MODEL_HEALTH = 'model_health' DRIFT_STATS = 'drift_stats' DRIFT_INTERVALS = 'drift_intervals' DRIFT_INSIGHTS = 'drift_insights' GEN_AI_QUALITY_METRICS = 'gen_ai_quality_metrics' GEN_AI_SECURITY_METRICS = 'gen_ai_security_metrics' DRIFT_SCORES = 'drift_scores' AIDC_FEEDBACK = 'aidc_feedback' CUSTOM = 'custom' NODES_INFO = 'nodes_info' EDGES_INFO = 'edges_info' AGENTIC_APP_IO = 'agentic_app_io' NODES_IO = 'nodes_io' AGENTIC_APP_METRICS = 'agentic_app_metrics' SPANS = 'spans' class AISetupMonitor(): """ Monitor object containing details about the monitor to be configured via AI setup. :attr str monitor_definition_id: (optional) The monitor definition ID of the monitor to be configured. :attr object parameters: (optional) The parameters for the monitor to be configured. :attr List[MetricThreshold] thresholds: (optional) The list of thresholds for the monitor to be configured. """ def __init__(self, *, monitor_definition_id: str = None, parameters: object = None, thresholds: List['MetricThreshold'] = None) -> None: """ Initialize a AISetupMonitor object. :param str monitor_definition_id: (optional) The monitor definition ID of the monitor to be configured. :param object parameters: (optional) The parameters for the monitor to be configured. :param List[MetricThreshold] thresholds: (optional) The list of thresholds for the monitor to be configured. """ self.monitor_definition_id = monitor_definition_id self.parameters = parameters self.thresholds = thresholds @classmethod def from_dict(cls, _dict: Dict) -> 'AISetupMonitor': """Initialize a AISetupMonitor object from a json dictionary.""" args = {} if 'monitor_definition_id' in _dict: args['monitor_definition_id'] = _dict.get('monitor_definition_id') if 'parameters' in _dict: args['parameters'] = _dict.get('parameters') if 'thresholds' in _dict: args['thresholds'] = [MetricThreshold.from_dict(x) for x in _dict.get('thresholds')] return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a AISetupMonitor object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'monitor_definition_id') and self.monitor_definition_id is not None: _dict['monitor_definition_id'] = self.monitor_definition_id if hasattr(self, 'parameters') and self.parameters is not None: _dict['parameters'] = self.parameters if hasattr(self, 'thresholds') and self.thresholds is not None: _dict['thresholds'] = [x.to_dict() for x in self.thresholds] return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this AISetupMonitor object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'AISetupMonitor') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'AISetupMonitor') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class AISetupMonitorResponse(): """ The monitor details in the AI setup response. :attr str monitor_definition_id: (optional) :attr str monitor_instance_id: (optional) """ def __init__(self, *, monitor_definition_id: str = None, monitor_instance_id: str = None) -> None: """ Initialize a AISetupMonitorResponse object. :param str monitor_definition_id: (optional) :param str monitor_instance_id: (optional) """ self.monitor_definition_id = monitor_definition_id self.monitor_instance_id = monitor_instance_id @classmethod def from_dict(cls, _dict: Dict) -> 'AISetupMonitorResponse': """Initialize a AISetupMonitorResponse object from a json dictionary.""" args = {} if 'monitor_definition_id' in _dict: args['monitor_definition_id'] = _dict.get('monitor_definition_id') if 'monitor_instance_id' in _dict: args['monitor_instance_id'] = _dict.get('monitor_instance_id') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a AISetupMonitorResponse object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'monitor_definition_id') and self.monitor_definition_id is not None: _dict['monitor_definition_id'] = self.monitor_definition_id if hasattr(self, 'monitor_instance_id') and self.monitor_instance_id is not None: _dict['monitor_instance_id'] = self.monitor_instance_id return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this AISetupMonitorResponse object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'AISetupMonitorResponse') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'AISetupMonitorResponse') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class AISetupResponse(): """ The AI setup response. :attr str ai_service_id: :attr str project_id: (optional) :attr str space_id: (optional) :attr str deployment_id: (optional) :attr str service_provider_id: (optional) :attr str gen_ai_app_id: (optional) The ID (typically a UUID v4) which uniquely identifies the resource. :attr str start_time: The date-timestamp when the AI setup was started. :attr str end_time: (optional) The date-timestamp when the AI setup ended. :attr List[AISetupDataSetResponse] data_sets: (optional) The list of data-set details in the AI setup response. :attr List[AISetupMonitorResponse] monitors: (optional) The list of monitor details in the AI setup response. :attr AISetupResponseStatus status: (optional) The AI setup status. :attr List[str] evaluation_tests: (optional) The evaluation tests to be executed as part of the risk-evaluations. """ def __init__(self, ai_service_id: str, start_time: str, *, project_id: str = None, space_id: str = None, deployment_id: str = None, service_provider_id: str = None, gen_ai_app_id: str = None, end_time: str = None, data_sets: List['AISetupDataSetResponse'] = None, monitors: List['AISetupMonitorResponse'] = None, status: 'AISetupResponseStatus' = None, evaluation_tests: List[str] = None) -> None: """ Initialize a AISetupResponse object. :param str ai_service_id: :param str start_time: The date-timestamp when the AI setup was started. :param str project_id: (optional) :param str space_id: (optional) :param str deployment_id: (optional) :param str service_provider_id: (optional) :param str gen_ai_app_id: (optional) The ID (typically a UUID v4) which uniquely identifies the resource. :param str end_time: (optional) The date-timestamp when the AI setup ended. :param List[AISetupDataSetResponse] data_sets: (optional) The list of data-set details in the AI setup response. :param List[AISetupMonitorResponse] monitors: (optional) The list of monitor details in the AI setup response. :param AISetupResponseStatus status: (optional) The AI setup status. :param List[str] evaluation_tests: (optional) The evaluation tests to be executed as part of the risk-evaluations. """ self.ai_service_id = ai_service_id self.project_id = project_id self.space_id = space_id self.deployment_id = deployment_id self.service_provider_id = service_provider_id self.gen_ai_app_id = gen_ai_app_id self.start_time = start_time self.end_time = end_time self.data_sets = data_sets self.monitors = monitors self.status = status self.evaluation_tests = evaluation_tests @classmethod def from_dict(cls, _dict: Dict) -> 'AISetupResponse': """Initialize a AISetupResponse object from a json dictionary.""" args = {} if 'ai_service_id' in _dict: args['ai_service_id'] = _dict.get('ai_service_id') else: raise ValueError('Required property \'ai_service_id\' not present in AISetupResponse JSON') if 'project_id' in _dict: args['project_id'] = _dict.get('project_id') if 'space_id' in _dict: args['space_id'] = _dict.get('space_id') if 'deployment_id' in _dict: args['deployment_id'] = _dict.get('deployment_id') if 'service_provider_id' in _dict: args['service_provider_id'] = _dict.get('service_provider_id') if 'gen_ai_app_id' in _dict: args['gen_ai_app_id'] = _dict.get('gen_ai_app_id') if 'start_time' in _dict: args['start_time'] = _dict.get('start_time') else: raise ValueError('Required property \'start_time\' not present in AISetupResponse JSON') if 'end_time' in _dict: args['end_time'] = _dict.get('end_time') if 'data_sets' in _dict: args['data_sets'] = [AISetupDataSetResponse.from_dict(x) for x in _dict.get('data_sets')] if 'monitors' in _dict: args['monitors'] = [AISetupMonitorResponse.from_dict(x) for x in _dict.get('monitors')] if 'status' in _dict: args['status'] = AISetupResponseStatus.from_dict(_dict.get('status')) if 'evaluation_tests' in _dict: args['evaluation_tests'] = _dict.get('evaluation_tests') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a AISetupResponse object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'ai_service_id') and self.ai_service_id is not None: _dict['ai_service_id'] = self.ai_service_id if hasattr(self, 'project_id') and self.project_id is not None: _dict['project_id'] = self.project_id if hasattr(self, 'space_id') and self.space_id is not None: _dict['space_id'] = self.space_id if hasattr(self, 'deployment_id') and self.deployment_id is not None: _dict['deployment_id'] = self.deployment_id if hasattr(self, 'service_provider_id') and self.service_provider_id is not None: _dict['service_provider_id'] = self.service_provider_id if hasattr(self, 'gen_ai_app_id') and self.gen_ai_app_id is not None: _dict['gen_ai_app_id'] = self.gen_ai_app_id if hasattr(self, 'start_time') and self.start_time is not None: _dict['start_time'] = self.start_time if hasattr(self, 'end_time') and self.end_time is not None: _dict['end_time'] = self.end_time if hasattr(self, 'data_sets') and self.data_sets is not None: _dict['data_sets'] = [x.to_dict() for x in self.data_sets] if hasattr(self, 'monitors') and self.monitors is not None: _dict['monitors'] = [x.to_dict() for x in self.monitors] if hasattr(self, 'status') and self.status is not None: _dict['status'] = self.status.to_dict() if hasattr(self, 'evaluation_tests') and self.evaluation_tests is not None: _dict['evaluation_tests'] = self.evaluation_tests return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this AISetupResponse object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'AISetupResponse') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'AISetupResponse') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class AISetupResponseStatus(): """ The AI setup status. :attr str state: The AI setup state. :attr GenericErrorResponse failure: (optional) """ def __init__(self, state: str, *, failure: 'GenericErrorResponse' = None) -> None: """ Initialize a AISetupResponseStatus object. :param str state: The AI setup state. :param GenericErrorResponse failure: (optional) """ self.state = state self.failure = failure @classmethod def from_dict(cls, _dict: Dict) -> 'AISetupResponseStatus': """Initialize a AISetupResponseStatus object from a json dictionary.""" args = {} if 'state' in _dict: args['state'] = _dict.get('state') else: raise ValueError('Required property \'state\' not present in AISetupResponseStatus JSON') if 'failure' in _dict: args['failure'] = GenericErrorResponse.from_dict(_dict.get('failure')) return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a AISetupResponseStatus object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'state') and self.state is not None: _dict['state'] = self.state if hasattr(self, 'failure') and self.failure is not None: _dict['failure'] = self.failure.to_dict() return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this AISetupResponseStatus object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'AISetupResponseStatus') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'AISetupResponseStatus') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class StateEnum(str, Enum): """ The AI setup state. """ RUNNING = 'RUNNING' ERROR = 'ERROR' FINISHED = 'FINISHED' class AnalyticsEngine(): """ AnalyticsEngine. :attr str type: Type of analytics engine. e.g. spark. :attr str integrated_system_id: (optional) id of the Integrated System. :attr object credentials: (optional) Credentials to override credentials in integration_reference. :attr object parameters: (optional) Additional parameters (e.g. max_num_executors, min_num_executors, executor_cores, executor_memory, driver_cores, driver_memory). """ def __init__(self, type: str, *, integrated_system_id: str = None, credentials: object = None, parameters: object = None) -> None: """ Initialize a AnalyticsEngine object. :param str type: Type of analytics engine. e.g. spark. :param str integrated_system_id: (optional) id of the Integrated System. :param object credentials: (optional) Credentials to override credentials in integration_reference. :param object parameters: (optional) Additional parameters (e.g. max_num_executors, min_num_executors, executor_cores, executor_memory, driver_cores, driver_memory). """ self.type = type self.integrated_system_id = integrated_system_id self.credentials = credentials self.parameters = parameters @classmethod def from_dict(cls, _dict: Dict) -> 'AnalyticsEngine': """Initialize a AnalyticsEngine object from a json dictionary.""" args = {} if 'type' in _dict: args['type'] = _dict.get('type') else: raise ValueError('Required property \'type\' not present in AnalyticsEngine JSON') if 'integrated_system_id' in _dict: args['integrated_system_id'] = _dict.get('integrated_system_id') if 'credentials' in _dict: args['credentials'] = _dict.get('credentials') if 'parameters' in _dict: args['parameters'] = _dict.get('parameters') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a AnalyticsEngine object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'type') and self.type is not None: _dict['type'] = self.type if hasattr(self, 'integrated_system_id') and self.integrated_system_id is not None: _dict['integrated_system_id'] = self.integrated_system_id if hasattr(self, 'credentials') and self.credentials is not None: _dict['credentials'] = self.credentials if hasattr(self, 'parameters') and self.parameters is not None: _dict['parameters'] = self.parameters return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this AnalyticsEngine object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'AnalyticsEngine') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'AnalyticsEngine') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class ApplicabilitySelection(): """ ApplicabilitySelection. :attr List[str] input_data_type: (optional) :attr List[str] problem_type: (optional) :attr List[str] target_type: (optional) """ def __init__(self, *, input_data_type: List[str] = None, problem_type: List[str] = None, target_type: List[str] = None) -> None: """ Initialize a ApplicabilitySelection object. :param List[str] input_data_type: (optional) :param List[str] problem_type: (optional) :param List[str] target_type: (optional) """ self.input_data_type = input_data_type self.problem_type = problem_type self.target_type = target_type @classmethod def from_dict(cls, _dict: Dict) -> 'ApplicabilitySelection': """Initialize a ApplicabilitySelection object from a json dictionary.""" args = {} if 'input_data_type' in _dict: args['input_data_type'] = _dict.get('input_data_type') if 'problem_type' in _dict: args['problem_type'] = _dict.get('problem_type') if 'target_type' in _dict: args['target_type'] = _dict.get('target_type') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a ApplicabilitySelection object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'input_data_type') and self.input_data_type is not None: _dict['input_data_type'] = self.input_data_type if hasattr(self, 'problem_type') and self.problem_type is not None: _dict['problem_type'] = self.problem_type if hasattr(self, 'target_type') and self.target_type is not None: _dict['target_type'] = self.target_type return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this ApplicabilitySelection object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'ApplicabilitySelection') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'ApplicabilitySelection') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class InputDataTypeEnum(str, Enum): """ input_data_type. """ STRUCTURED = 'structured' UNSTRUCTURED_IMAGE = 'unstructured_image' UNSTRUCTURED_TEXT = 'unstructured_text' CHAT = 'chat' UNSTRUCTURED_VIDEO = 'unstructured_video' UNSTRUCTURED_AUDIO = 'unstructured_audio' class ProblemTypeEnum(str, Enum): """ problem_type. """ BINARY = 'binary' REGRESSION = 'regression' MULTICLASS = 'multiclass' QUESTION_ANSWERING = 'question_answering' RETRIEVAL_AUGMENTED_GENERATION = 'retrieval_augmented_generation' SUMMARIZATION = 'summarization' CLASSIFICATION = 'classification' GENERATION = 'generation' CODE = 'code' EXTRACTION = 'extraction' class TargetTypeEnum(str, Enum): """ Type of the target (e.g. subscription, ...). """ SUBSCRIPTION = 'subscription' INSTANCE = 'instance' DATA_MART = 'data_mart' PROJECT = 'project' SPACE = 'space' AI_DECISION_COORDINATION = 'ai_decision_coordination' GEN_AI_APP = 'gen_ai_app' WXO = 'wxo'
[docs] class Asset(): """ Asset. :attr str asset_id: :attr str url: (optional) :attr str name: (optional) :attr str asset_type: ai_decision_coordination is limited for AI Decision Coordination. agent is limited to Agentitc AI App. :attr str asset_rn: (optional) Asset Resource Name (used for integration with 3rd party ML engines). :attr str created_at: (optional) :attr str problem_type: (optional) :attr str model_type: (optional) :attr str runtime_environment: (optional) :attr str input_data_type: (optional) :attr str foundational_model_id: (optional) :attr AssetLocale locale: (optional) represents languages used in both input and output of the model. """ def __init__(self, asset_id: str, asset_type: str, *, url: str = None, name: str = None, asset_rn: str = None, created_at: str = None, problem_type: str = None, model_type: str = None, runtime_environment: str = None, input_data_type: str = None, foundational_model_id: str = None, locale: 'AssetLocale' = None) -> None: """ Initialize a Asset object. :param str asset_id: :param str asset_type: ai_decision_coordination is limited for AI Decision Coordination. agent is limited to Agentitc AI App. :param str url: (optional) :param str name: (optional) :param str asset_rn: (optional) Asset Resource Name (used for integration with 3rd party ML engines). :param str created_at: (optional) :param str problem_type: (optional) :param str model_type: (optional) :param str runtime_environment: (optional) :param str input_data_type: (optional) :param str foundational_model_id: (optional) :param AssetLocale locale: (optional) represents languages used in both input and output of the model. """ self.asset_id = asset_id self.url = url self.name = name self.asset_type = asset_type self.asset_rn = asset_rn self.created_at = created_at self.problem_type = problem_type self.model_type = model_type self.runtime_environment = runtime_environment self.input_data_type = input_data_type self.foundational_model_id = foundational_model_id self.locale = locale @classmethod def from_dict(cls, _dict: Dict) -> 'Asset': """Initialize a Asset object from a json dictionary.""" args = {} if 'asset_id' in _dict: args['asset_id'] = _dict.get('asset_id') else: raise ValueError('Required property \'asset_id\' not present in Asset JSON') if 'url' in _dict: args['url'] = _dict.get('url') if 'name' in _dict: args['name'] = _dict.get('name') if 'asset_type' in _dict: args['asset_type'] = _dict.get('asset_type') else: raise ValueError('Required property \'asset_type\' not present in Asset JSON') if 'asset_rn' in _dict: args['asset_rn'] = _dict.get('asset_rn') if 'created_at' in _dict: args['created_at'] = _dict.get('created_at') if 'problem_type' in _dict: args['problem_type'] = _dict.get('problem_type') if 'model_type' in _dict: args['model_type'] = _dict.get('model_type') if 'runtime_environment' in _dict: args['runtime_environment'] = _dict.get('runtime_environment') if 'input_data_type' in _dict: args['input_data_type'] = _dict.get('input_data_type') if 'foundational_model_id' in _dict: args['foundational_model_id'] = _dict.get('foundational_model_id') if 'locale' in _dict: args['locale'] = AssetLocale.from_dict(_dict.get('locale')) return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a Asset object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'asset_id') and self.asset_id is not None: _dict['asset_id'] = self.asset_id if hasattr(self, 'url') and self.url is not None: _dict['url'] = self.url if hasattr(self, 'name') and self.name is not None: _dict['name'] = self.name if hasattr(self, 'asset_type') and self.asset_type is not None: _dict['asset_type'] = self.asset_type if hasattr(self, 'asset_rn') and self.asset_rn is not None: _dict['asset_rn'] = self.asset_rn if hasattr(self, 'created_at') and self.created_at is not None: _dict['created_at'] = self.created_at if hasattr(self, 'problem_type') and self.problem_type is not None: _dict['problem_type'] = self.problem_type if hasattr(self, 'model_type') and self.model_type is not None: _dict['model_type'] = self.model_type if hasattr(self, 'runtime_environment') and self.runtime_environment is not None: _dict['runtime_environment'] = self.runtime_environment if hasattr(self, 'input_data_type') and self.input_data_type is not None: _dict['input_data_type'] = self.input_data_type if hasattr(self, 'foundational_model_id') and self.foundational_model_id is not None: _dict['foundational_model_id'] = self.foundational_model_id if hasattr(self, 'locale') and self.locale is not None: _dict['locale'] = self.locale.to_dict() return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this Asset object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'Asset') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'Asset') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class AssetTypeEnum(str, Enum): """ ai_decision_coordination is limited for AI Decision Coordination. agent is limited to Agentitc AI App. """ MODEL = 'model' FUNCTION = 'function' PROMPT = 'prompt' AI_DECISION_COORDINATION = 'ai_decision_coordination' AGENT = 'agent' class ProblemTypeEnum(str, Enum): """ problem_type. """ BINARY = 'binary' REGRESSION = 'regression' MULTICLASS = 'multiclass' QUESTION_ANSWERING = 'question_answering' SUMMARIZATION = 'summarization' RETRIEVAL_AUGMENTED_GENERATION = 'retrieval_augmented_generation' CLASSIFICATION = 'classification' GENERATION = 'generation' CODE = 'code' EXTRACTION = 'extraction' class InputDataTypeEnum(str, Enum): """ input_data_type. """ STRUCTURED = 'structured' UNSTRUCTURED_IMAGE = 'unstructured_image' UNSTRUCTURED_TEXT = 'unstructured_text' CHAT = 'chat' UNSTRUCTURED_VIDEO = 'unstructured_video' UNSTRUCTURED_AUDIO = 'unstructured_audio'
class AssetDeployment(): """ AssetDeployment. :attr str deployment_id: (optional) :attr str deployment_rn: (optional) Deployment Resource Name (used for integration with 3rd party ML engines). :attr str url: (optional) :attr str name: (optional) :attr str description: (optional) :attr str deployment_type: (optional) Deployment type. :attr str created_at: (optional) :attr ScoringEndpoint scoring_endpoint: (optional) Definition of scoring endpoint in custom_machine_learning. :attr List[InferenceEndpoint] inference_endpoint: (optional) inference endpoints for the deployment at watsonx.ai. Either of `inference_endpoint` or `scoring_endpoint` should be provided. If both given, underlying API will reject the request. """ def __init__(self, *, deployment_id: str = None, deployment_rn: str = None, url: str = None, name: str = None, description: str = None, deployment_type: str = None, created_at: str = None, scoring_endpoint: 'ScoringEndpoint' = None, inference_endpoint: List['InferenceEndpoint'] = None) -> None: """ Initialize a AssetDeployment object. :param str deployment_id: (optional) :param str deployment_rn: (optional) Deployment Resource Name (used for integration with 3rd party ML engines). :param str url: (optional) :param str name: (optional) :param str description: (optional) :param str deployment_type: (optional) Deployment type. :param str created_at: (optional) :param ScoringEndpoint scoring_endpoint: (optional) Definition of scoring endpoint in custom_machine_learning. :param List[InferenceEndpoint] inference_endpoint: (optional) inference endpoints for the deployment at watsonx.ai. Either of `inference_endpoint` or `scoring_endpoint` should be provided. If both given, underlying API will reject the request. """ self.deployment_id = deployment_id self.deployment_rn = deployment_rn self.url = url self.name = name self.description = description self.deployment_type = deployment_type self.created_at = created_at self.scoring_endpoint = scoring_endpoint self.inference_endpoint = inference_endpoint @classmethod def from_dict(cls, _dict: Dict) -> 'AssetDeployment': """Initialize a AssetDeployment object from a json dictionary.""" args = {} if 'deployment_id' in _dict: args['deployment_id'] = _dict.get('deployment_id') if 'deployment_rn' in _dict: args['deployment_rn'] = _dict.get('deployment_rn') if 'url' in _dict: args['url'] = _dict.get('url') if 'name' in _dict: args['name'] = _dict.get('name') if 'description' in _dict: args['description'] = _dict.get('description') if 'deployment_type' in _dict: args['deployment_type'] = _dict.get('deployment_type') if 'created_at' in _dict: args['created_at'] = _dict.get('created_at') if 'scoring_endpoint' in _dict: args['scoring_endpoint'] = ScoringEndpoint.from_dict(_dict.get('scoring_endpoint')) if 'inference_endpoint' in _dict: args['inference_endpoint'] = [InferenceEndpoint.from_dict(x) for x in _dict.get('inference_endpoint')] return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a AssetDeployment object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'deployment_id') and self.deployment_id is not None: _dict['deployment_id'] = self.deployment_id if hasattr(self, 'deployment_rn') and self.deployment_rn is not None: _dict['deployment_rn'] = self.deployment_rn if hasattr(self, 'url') and self.url is not None: _dict['url'] = self.url if hasattr(self, 'name') and self.name is not None: _dict['name'] = self.name if hasattr(self, 'description') and self.description is not None: _dict['description'] = self.description if hasattr(self, 'deployment_type') and self.deployment_type is not None: _dict['deployment_type'] = self.deployment_type if hasattr(self, 'created_at') and self.created_at is not None: _dict['created_at'] = self.created_at if hasattr(self, 'scoring_endpoint') and self.scoring_endpoint is not None: _dict['scoring_endpoint'] = self.scoring_endpoint.to_dict() if hasattr(self, 'inference_endpoint') and self.inference_endpoint is not None: _dict['inference_endpoint'] = [x.to_dict() for x in self.inference_endpoint] return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this AssetDeployment object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'AssetDeployment') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'AssetDeployment') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class DeploymentTypeEnum(str, Enum): """ Deployment type. """ ONLINE = 'online' BATCH = 'batch' DETACHED = 'detached'
[docs] class AssetDeploymentRequest(): """ AssetDeploymentRequest. :attr str deployment_id: :attr str deployment_rn: (optional) Deployment Resource Name (used for integration with 3rd party ML engines). :attr str url: (optional) :attr str name: :attr str description: (optional) :attr str deployment_type: Deployment type. :attr str created_at: (optional) :attr ScoringEndpointRequest scoring_endpoint: (optional) Definition of scoring endpoint in custom_machine_learning. """ def __init__(self, deployment_id: str, name: str, deployment_type: str, *, deployment_rn: str = None, url: str = None, description: str = None, created_at: str = None, scoring_endpoint: 'ScoringEndpointRequest' = None) -> None: """ Initialize a AssetDeploymentRequest object. :param str deployment_id: :param str name: :param str deployment_type: Deployment type. :param str deployment_rn: (optional) Deployment Resource Name (used for integration with 3rd party ML engines). :param str url: (optional) :param str description: (optional) :param str created_at: (optional) :param ScoringEndpointRequest scoring_endpoint: (optional) Definition of scoring endpoint in custom_machine_learning. """ self.deployment_id = deployment_id self.deployment_rn = deployment_rn self.url = url self.name = name self.description = description self.deployment_type = deployment_type self.created_at = created_at self.scoring_endpoint = scoring_endpoint @classmethod def from_dict(cls, _dict: Dict) -> 'AssetDeploymentRequest': """Initialize a AssetDeploymentRequest object from a json dictionary.""" args = {} if 'deployment_id' in _dict: args['deployment_id'] = _dict.get('deployment_id') else: raise ValueError('Required property \'deployment_id\' not present in AssetDeploymentRequest JSON') if 'deployment_rn' in _dict: args['deployment_rn'] = _dict.get('deployment_rn') if 'url' in _dict: args['url'] = _dict.get('url') if 'name' in _dict: args['name'] = _dict.get('name') else: raise ValueError('Required property \'name\' not present in AssetDeploymentRequest JSON') if 'description' in _dict: args['description'] = _dict.get('description') if 'deployment_type' in _dict: args['deployment_type'] = _dict.get('deployment_type') else: raise ValueError('Required property \'deployment_type\' not present in AssetDeploymentRequest JSON') if 'created_at' in _dict: args['created_at'] = _dict.get('created_at') if 'scoring_endpoint' in _dict: args['scoring_endpoint'] = ScoringEndpointRequest.from_dict(_dict.get('scoring_endpoint')) return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a AssetDeploymentRequest object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'deployment_id') and self.deployment_id is not None: _dict['deployment_id'] = self.deployment_id if hasattr(self, 'deployment_rn') and self.deployment_rn is not None: _dict['deployment_rn'] = self.deployment_rn if hasattr(self, 'url') and self.url is not None: _dict['url'] = self.url if hasattr(self, 'name') and self.name is not None: _dict['name'] = self.name if hasattr(self, 'description') and self.description is not None: _dict['description'] = self.description if hasattr(self, 'deployment_type') and self.deployment_type is not None: _dict['deployment_type'] = self.deployment_type if hasattr(self, 'created_at') and self.created_at is not None: _dict['created_at'] = self.created_at if hasattr(self, 'scoring_endpoint') and self.scoring_endpoint is not None: _dict['scoring_endpoint'] = self.scoring_endpoint.to_dict() return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this AssetDeploymentRequest object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'AssetDeploymentRequest') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'AssetDeploymentRequest') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other
[docs] class DeploymentTypeEnum(str, Enum): """ Deployment type. """ ONLINE = 'online' BATCH = 'batch' DETACHED = 'detached'
class AssetLocale(): """ represents languages used in both input and output of the model. :attr List[str] input: (optional) represents a list of language-code LLM can handle. :attr List[str] output: (optional) represents a list of language-code LLM can handle. """ def __init__(self, *, input: List[str] = None, output: List[str] = None) -> None: """ Initialize a AssetLocale object. :param List[str] input: (optional) represents a list of language-code LLM can handle. :param List[str] output: (optional) represents a list of language-code LLM can handle. """ self.input = input self.output = output @classmethod def from_dict(cls, _dict: Dict) -> 'AssetLocale': """Initialize a AssetLocale object from a json dictionary.""" args = {} if 'input' in _dict: args['input'] = _dict.get('input') if 'output' in _dict: args['output'] = _dict.get('output') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a AssetLocale object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'input') and self.input is not None: _dict['input'] = self.input if hasattr(self, 'output') and self.output is not None: _dict['output'] = self.output return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this AssetLocale object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'AssetLocale') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'AssetLocale') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class InputEnum(str, Enum): """ represents a language-code, which can include country/region potentially once they are supported, e.g. en-US or pt-BR. """ EN = 'en' JA = 'ja' DE = 'de' FR = 'fr' ES = 'es' AR = 'ar' IT = 'it' PT = 'pt' KO = 'ko' DA = 'da' class OutputEnum(str, Enum): """ represents a language-code, which can include country/region potentially once they are supported, e.g. en-US or pt-BR. """ EN = 'en' JA = 'ja' DE = 'de' FR = 'fr' ES = 'es' AR = 'ar' IT = 'it' PT = 'pt' KO = 'ko' DA = 'da' class AssetProperties(): """ Additional asset properties (subject of discovery if not provided when creating the subscription). :attr SecretCleaned training_data_reference: (optional) :attr SparkStruct training_data_schema: (optional) :attr SparkStruct input_data_schema: (optional) :attr SparkStruct output_data_schema: (optional) :attr str input_token_count_field: (optional) Field with this name will be given modeling_role `input-token-count`. :attr str output_token_count_field: (optional) Field with this name will be given modeling_role `output-token-count`. :attr str label_column: (optional) :attr List[str] labels: (optional) :attr dict dashboard_configuration: (optional) :attr str predicted_target_field: (optional) Field with this name will be given modeling_role `decoded-target`. :attr str prediction_field: (optional) Field with this name will be given modeling_role `prediction`. :attr str transaction_id_field: (optional) Field with this name will have `transaction_id_key` metadata set to true. :attr List[str] feature_fields: (optional) Fields to be given modeling_role feature. :attr List[str] categorical_fields: (optional) Fields to be given metadata `measure` of value `discrete`. :attr List[str] context_fields: (optional) Contexts fields with this name will be given `prompt_role` as `context_field` used in Retrieval-Augmented Generation. :attr str question_field: (optional) Question field with this name will be given `prompt_role` as `question_field` used in Retrieval-Augmented Generation. :attr List[str] probability_fields: (optional) Fields to be given modeling_role `class_probability` (for columns of double data type) or `probability` (for column of array data type). :attr List[str] prediction_names: (optional) Prediction names for multiple output models. """ def __init__(self, *, training_data_reference: 'SecretCleaned' = None, training_data_schema: 'SparkStruct' = None, input_data_schema: 'SparkStruct' = None, output_data_schema: 'SparkStruct' = None, input_token_count_field: str = None, output_token_count_field: str = None, label_column: str = None, labels: List[str] = None, dashboard_configuration: dict = None, predicted_target_field: str = None, prediction_field: str = None, transaction_id_field: str = None, feature_fields: List[str] = None, categorical_fields: List[str] = None, context_fields: List[str] = None, question_field: str = None, probability_fields: List[str] = None, prediction_names: List[str] = None) -> None: """ Initialize a AssetProperties object. :param SecretCleaned training_data_reference: (optional) :param SparkStruct training_data_schema: (optional) :param SparkStruct input_data_schema: (optional) :param SparkStruct output_data_schema: (optional) :param str input_token_count_field: (optional) Field with this name will be given modeling_role `input-token-count`. :param str output_token_count_field: (optional) Field with this name will be given modeling_role `output-token-count`. :param str label_column: (optional) :param List[str] labels: (optional) :param dict dashboard_configuration: (optional) :param str predicted_target_field: (optional) Field with this name will be given modeling_role `decoded-target`. :param str prediction_field: (optional) Field with this name will be given modeling_role `prediction`. :param str transaction_id_field: (optional) Field with this name will have `transaction_id_key` metadata set to true. :param List[str] feature_fields: (optional) Fields to be given modeling_role feature. :param List[str] categorical_fields: (optional) Fields to be given metadata `measure` of value `discrete`. :param List[str] context_fields: (optional) Contexts fields with this name will be given `prompt_role` as `context_field` used in Retrieval-Augmented Generation. :param str question_field: (optional) Question field with this name will be given `prompt_role` as `question_field` used in Retrieval-Augmented Generation. :param List[str] probability_fields: (optional) Fields to be given modeling_role `class_probability` (for columns of double data type) or `probability` (for column of array data type). :param List[str] prediction_names: (optional) Prediction names for multiple output models. """ self.training_data_reference = training_data_reference self.training_data_schema = training_data_schema self.input_data_schema = input_data_schema self.output_data_schema = output_data_schema self.input_token_count_field = input_token_count_field self.output_token_count_field = output_token_count_field self.label_column = label_column self.labels = labels self.dashboard_configuration = dashboard_configuration self.predicted_target_field = predicted_target_field self.prediction_field = prediction_field self.transaction_id_field = transaction_id_field self.feature_fields = feature_fields self.categorical_fields = categorical_fields self.context_fields = context_fields self.question_field = question_field self.probability_fields = probability_fields self.prediction_names = prediction_names @classmethod def from_dict(cls, _dict: Dict) -> 'AssetProperties': """Initialize a AssetProperties object from a json dictionary.""" args = {} if 'training_data_reference' in _dict: args['training_data_reference'] = SecretCleaned.from_dict(_dict.get('training_data_reference')) if 'training_data_schema' in _dict: args['training_data_schema'] = SparkStruct.from_dict(_dict.get('training_data_schema')) if 'input_data_schema' in _dict: args['input_data_schema'] = SparkStruct.from_dict(_dict.get('input_data_schema')) if 'output_data_schema' in _dict: args['output_data_schema'] = SparkStruct.from_dict(_dict.get('output_data_schema')) if 'input_token_count_field' in _dict: args['input_token_count_field'] = _dict.get('input_token_count_field') if 'output_token_count_field' in _dict: args['output_token_count_field'] = _dict.get('output_token_count_field') if 'label_column' in _dict: args['label_column'] = _dict.get('label_column') if 'labels' in _dict: args['labels'] = _dict.get('labels') if 'dashboard_configuration' in _dict: args['dashboard_configuration'] = _dict.get('dashboard_configuration') if 'predicted_target_field' in _dict: args['predicted_target_field'] = _dict.get('predicted_target_field') if 'prediction_field' in _dict: args['prediction_field'] = _dict.get('prediction_field') if 'transaction_id_field' in _dict: args['transaction_id_field'] = _dict.get('transaction_id_field') if 'feature_fields' in _dict: args['feature_fields'] = _dict.get('feature_fields') if 'categorical_fields' in _dict: args['categorical_fields'] = _dict.get('categorical_fields') if 'context_fields' in _dict: args['context_fields'] = _dict.get('context_fields') if 'question_field' in _dict: args['question_field'] = _dict.get('question_field') if 'probability_fields' in _dict: args['probability_fields'] = _dict.get('probability_fields') if 'prediction_names' in _dict: args['prediction_names'] = _dict.get('prediction_names') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a AssetProperties object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'training_data_reference') and self.training_data_reference is not None: _dict['training_data_reference'] = self.training_data_reference.to_dict() if hasattr(self, 'training_data_schema') and self.training_data_schema is not None: _dict['training_data_schema'] = self.training_data_schema.to_dict() if hasattr(self, 'input_data_schema') and self.input_data_schema is not None: _dict['input_data_schema'] = self.input_data_schema.to_dict() if hasattr(self, 'output_data_schema') and self.output_data_schema is not None: _dict['output_data_schema'] = self.output_data_schema.to_dict() if hasattr(self, 'input_token_count_field') and self.input_token_count_field is not None: _dict['input_token_count_field'] = self.input_token_count_field if hasattr(self, 'output_token_count_field') and self.output_token_count_field is not None: _dict['output_token_count_field'] = self.output_token_count_field if hasattr(self, 'label_column') and self.label_column is not None: _dict['label_column'] = self.label_column if hasattr(self, 'labels') and self.labels is not None: _dict['labels'] = self.labels if hasattr(self, 'dashboard_configuration') and self.dashboard_configuration is not None: _dict['dashboard_configuration'] = self.dashboard_configuration if hasattr(self, 'predicted_target_field') and self.predicted_target_field is not None: _dict['predicted_target_field'] = self.predicted_target_field if hasattr(self, 'prediction_field') and self.prediction_field is not None: _dict['prediction_field'] = self.prediction_field if hasattr(self, 'transaction_id_field') and self.transaction_id_field is not None: _dict['transaction_id_field'] = self.transaction_id_field if hasattr(self, 'feature_fields') and self.feature_fields is not None: _dict['feature_fields'] = self.feature_fields if hasattr(self, 'categorical_fields') and self.categorical_fields is not None: _dict['categorical_fields'] = self.categorical_fields if hasattr(self, 'context_fields') and self.context_fields is not None: _dict['context_fields'] = self.context_fields if hasattr(self, 'question_field') and self.question_field is not None: _dict['question_field'] = self.question_field if hasattr(self, 'probability_fields') and self.probability_fields is not None: _dict['probability_fields'] = self.probability_fields if hasattr(self, 'prediction_names') and self.prediction_names is not None: _dict['prediction_names'] = self.prediction_names return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this AssetProperties object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'AssetProperties') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'AssetProperties') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other
[docs] class AssetPropertiesRequest(): """ Additional asset properties (subject of discovery if not provided when creating the subscription). :attr TrainingDataReference training_data_reference: (optional) :attr SparkStruct training_data_schema: (optional) :attr SparkStruct input_data_schema: (optional) :attr SparkStruct output_data_schema: (optional) :attr str input_token_count_field: (optional) Field with this name will be given modeling_role `input-token-count`. :attr str output_token_count_field: (optional) Field with this name will be given modeling_role `output-token-count`. :attr str label_column: (optional) :attr List[str] labels: (optional) :attr dict dashboard_configuration: (optional) :attr str predicted_target_field: (optional) Field with this name will be given modeling_role `decoded-target`. :attr str prediction_field: (optional) Field with this name will be given modeling_role `prediction`. :attr str transaction_id_field: (optional) Field with this name will have `transaction_id_key` metadata set to true. :attr List[str] feature_fields: (optional) Fields to be given modeling_role feature. :attr List[str] categorical_fields: (optional) Fields to be given metadata `measure` of value `discrete`. :attr List[str] context_fields: (optional) Contexts fields with this name will be given `prompt_role` as `context_field` used in Retrieval-Augmented Generation. :attr str question_field: (optional) Question field with this name will be given `prompt_role` as `question_field` used in Retrieval-Augmented Generation. :attr List[str] probability_fields: (optional) Fields to be given modeling_role `class_probability` (for columns of double data type) or `probability` (for column of array data type). :attr List[str] prediction_names: (optional) Prediction names for multiple output models. """ def __init__(self, *, training_data_reference: 'TrainingDataReference' = None, training_data_schema: 'SparkStruct' = None, input_data_schema: 'SparkStruct' = None, output_data_schema: 'SparkStruct' = None, input_token_count_field: str = None, output_token_count_field: str = None, label_column: str = None, labels: List[str] = None, dashboard_configuration: dict = None, predicted_target_field: str = None, prediction_field: str = None, transaction_id_field: str = None, feature_fields: List[str] = None, categorical_fields: List[str] = None, context_fields: List[str] = None, question_field: str = None, probability_fields: List[str] = None, prediction_names: List[str] = None) -> None: """ Initialize a AssetPropertiesRequest object. :param TrainingDataReference training_data_reference: (optional) :param SparkStruct training_data_schema: (optional) :param SparkStruct input_data_schema: (optional) :param SparkStruct output_data_schema: (optional) :param str input_token_count_field: (optional) Field with this name will be given modeling_role `input-token-count`. :param str output_token_count_field: (optional) Field with this name will be given modeling_role `output-token-count`. :param str label_column: (optional) :param List[str] labels: (optional) :param dict dashboard_configuration: (optional) :param str predicted_target_field: (optional) Field with this name will be given modeling_role `decoded-target`. :param str prediction_field: (optional) Field with this name will be given modeling_role `prediction`. :param str transaction_id_field: (optional) Field with this name will have `transaction_id_key` metadata set to true. :param List[str] feature_fields: (optional) Fields to be given modeling_role feature. :param List[str] categorical_fields: (optional) Fields to be given metadata `measure` of value `discrete`. :param List[str] context_fields: (optional) Contexts fields with this name will be given `prompt_role` as `context_field` used in Retrieval-Augmented Generation. :param str question_field: (optional) Question field with this name will be given `prompt_role` as `question_field` used in Retrieval-Augmented Generation. :param List[str] probability_fields: (optional) Fields to be given modeling_role `class_probability` (for columns of double data type) or `probability` (for column of array data type). :param List[str] prediction_names: (optional) Prediction names for multiple output models. """ self.training_data_reference = training_data_reference self.training_data_schema = training_data_schema self.input_data_schema = input_data_schema self.output_data_schema = output_data_schema self.input_token_count_field = input_token_count_field self.output_token_count_field = output_token_count_field self.label_column = label_column self.labels = labels self.dashboard_configuration = dashboard_configuration self.predicted_target_field = predicted_target_field self.prediction_field = prediction_field self.transaction_id_field = transaction_id_field self.feature_fields = feature_fields self.categorical_fields = categorical_fields self.context_fields = context_fields self.question_field = question_field self.probability_fields = probability_fields self.prediction_names = prediction_names @classmethod def from_dict(cls, _dict: Dict) -> 'AssetPropertiesRequest': """Initialize a AssetPropertiesRequest object from a json dictionary.""" args = {} if 'training_data_reference' in _dict: args['training_data_reference'] = TrainingDataReference.from_dict(_dict.get('training_data_reference')) if 'training_data_schema' in _dict: args['training_data_schema'] = SparkStruct.from_dict(_dict.get('training_data_schema')) if 'input_data_schema' in _dict: args['input_data_schema'] = SparkStruct.from_dict(_dict.get('input_data_schema')) if 'output_data_schema' in _dict: args['output_data_schema'] = SparkStruct.from_dict(_dict.get('output_data_schema')) if 'input_token_count_field' in _dict: args['input_token_count_field'] = _dict.get('input_token_count_field') if 'output_token_count_field' in _dict: args['output_token_count_field'] = _dict.get('output_token_count_field') if 'label_column' in _dict: args['label_column'] = _dict.get('label_column') if 'labels' in _dict: args['labels'] = _dict.get('labels') if 'dashboard_configuration' in _dict: args['dashboard_configuration'] = _dict.get('dashboard_configuration') if 'predicted_target_field' in _dict: args['predicted_target_field'] = _dict.get('predicted_target_field') if 'prediction_field' in _dict: args['prediction_field'] = _dict.get('prediction_field') if 'transaction_id_field' in _dict: args['transaction_id_field'] = _dict.get('transaction_id_field') if 'feature_fields' in _dict: args['feature_fields'] = _dict.get('feature_fields') if 'categorical_fields' in _dict: args['categorical_fields'] = _dict.get('categorical_fields') if 'context_fields' in _dict: args['context_fields'] = _dict.get('context_fields') if 'question_field' in _dict: args['question_field'] = _dict.get('question_field') if 'probability_fields' in _dict: args['probability_fields'] = _dict.get('probability_fields') if 'prediction_names' in _dict: args['prediction_names'] = _dict.get('prediction_names') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a AssetPropertiesRequest object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'training_data_reference') and self.training_data_reference is not None: _dict['training_data_reference'] = self.training_data_reference.to_dict() if hasattr(self, 'training_data_schema') and self.training_data_schema is not None: _dict['training_data_schema'] = self.training_data_schema.to_dict() if hasattr(self, 'input_data_schema') and self.input_data_schema is not None: _dict['input_data_schema'] = self.input_data_schema.to_dict() if hasattr(self, 'output_data_schema') and self.output_data_schema is not None: _dict['output_data_schema'] = self.output_data_schema.to_dict() if hasattr(self, 'input_token_count_field') and self.input_token_count_field is not None: _dict['input_token_count_field'] = self.input_token_count_field if hasattr(self, 'output_token_count_field') and self.output_token_count_field is not None: _dict['output_token_count_field'] = self.output_token_count_field if hasattr(self, 'label_column') and self.label_column is not None: _dict['label_column'] = self.label_column if hasattr(self, 'labels') and self.labels is not None: _dict['labels'] = self.labels if hasattr(self, 'dashboard_configuration') and self.dashboard_configuration is not None: _dict['dashboard_configuration'] = self.dashboard_configuration if hasattr(self, 'predicted_target_field') and self.predicted_target_field is not None: _dict['predicted_target_field'] = self.predicted_target_field if hasattr(self, 'prediction_field') and self.prediction_field is not None: _dict['prediction_field'] = self.prediction_field if hasattr(self, 'transaction_id_field') and self.transaction_id_field is not None: _dict['transaction_id_field'] = self.transaction_id_field if hasattr(self, 'feature_fields') and self.feature_fields is not None: _dict['feature_fields'] = self.feature_fields if hasattr(self, 'categorical_fields') and self.categorical_fields is not None: _dict['categorical_fields'] = self.categorical_fields if hasattr(self, 'context_fields') and self.context_fields is not None: _dict['context_fields'] = self.context_fields if hasattr(self, 'question_field') and self.question_field is not None: _dict['question_field'] = self.question_field if hasattr(self, 'probability_fields') and self.probability_fields is not None: _dict['probability_fields'] = self.probability_fields if hasattr(self, 'prediction_names') and self.prediction_names is not None: _dict['prediction_names'] = self.prediction_names return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this AssetPropertiesRequest object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'AssetPropertiesRequest') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'AssetPropertiesRequest') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other
class AzureWorkspaceCredentials(): """ AzureWorkspaceCredentials. :attr str workspace_id: :attr str token: """ def __init__(self, workspace_id: str, token: str) -> None: """ Initialize a AzureWorkspaceCredentials object. :param str workspace_id: :param str token: """ self.workspace_id = workspace_id self.token = token @classmethod def from_dict(cls, _dict: Dict) -> 'AzureWorkspaceCredentials': """Initialize a AzureWorkspaceCredentials object from a json dictionary.""" args = {} if 'workspace_id' in _dict: args['workspace_id'] = _dict.get('workspace_id') else: raise ValueError('Required property \'workspace_id\' not present in AzureWorkspaceCredentials JSON') if 'token' in _dict: args['token'] = _dict.get('token') else: raise ValueError('Required property \'token\' not present in AzureWorkspaceCredentials JSON') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a AzureWorkspaceCredentials object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'workspace_id') and self.workspace_id is not None: _dict['workspace_id'] = self.workspace_id if hasattr(self, 'token') and self.token is not None: _dict['token'] = self.token return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this AzureWorkspaceCredentials object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'AzureWorkspaceCredentials') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'AzureWorkspaceCredentials') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class CollectionUrlModel(): """ CollectionUrlModel. :attr str url: URI of a resource. """ def __init__(self, url: str) -> None: """ Initialize a CollectionUrlModel object. :param str url: URI of a resource. """ self.url = url @classmethod def from_dict(cls, _dict: Dict) -> 'CollectionUrlModel': """Initialize a CollectionUrlModel object from a json dictionary.""" args = {} if 'url' in _dict: args['url'] = _dict.get('url') else: raise ValueError('Required property \'url\' not present in CollectionUrlModel JSON') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a CollectionUrlModel object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'url') and self.url is not None: _dict['url'] = self.url return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this CollectionUrlModel object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'CollectionUrlModel') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'CollectionUrlModel') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class ConfigurationSynchronization(): """ ConfigurationSynchronization. :attr List[ConfigurationSynchronizationConfigurationsItem] configurations: (optional) """ def __init__(self, *, configurations: List['ConfigurationSynchronizationConfigurationsItem'] = None) -> None: """ Initialize a ConfigurationSynchronization object. :param List[ConfigurationSynchronizationConfigurationsItem] configurations: (optional) """ self.configurations = configurations @classmethod def from_dict(cls, _dict: Dict) -> 'ConfigurationSynchronization': """Initialize a ConfigurationSynchronization object from a json dictionary.""" args = {} if 'configurations' in _dict: args['configurations'] = [ConfigurationSynchronizationConfigurationsItem.from_dict(x) for x in _dict.get('configurations')] return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a ConfigurationSynchronization object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'configurations') and self.configurations is not None: _dict['configurations'] = [x.to_dict() for x in self.configurations] return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this ConfigurationSynchronization object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'ConfigurationSynchronization') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'ConfigurationSynchronization') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class ConfigurationSynchronizationConfigurationsItem(): """ ConfigurationSynchronizationConfigurationsItem. :attr str monitor_definition_id: (optional) :attr str monitor_instance_id: (optional) :attr str monitor_instance_status: (optional) :attr GraphVertexProperties source_properties: (optional) :attr str status: (optional) :attr GraphVertexProperties target_properties: (optional) """ def __init__(self, *, monitor_definition_id: str = None, monitor_instance_id: str = None, monitor_instance_status: str = None, source_properties: 'GraphVertexProperties' = None, status: str = None, target_properties: 'GraphVertexProperties' = None) -> None: """ Initialize a ConfigurationSynchronizationConfigurationsItem object. :param str monitor_definition_id: (optional) :param str monitor_instance_id: (optional) :param str monitor_instance_status: (optional) :param GraphVertexProperties source_properties: (optional) :param str status: (optional) :param GraphVertexProperties target_properties: (optional) """ self.monitor_definition_id = monitor_definition_id self.monitor_instance_id = monitor_instance_id self.monitor_instance_status = monitor_instance_status self.source_properties = source_properties self.status = status self.target_properties = target_properties @classmethod def from_dict(cls, _dict: Dict) -> 'ConfigurationSynchronizationConfigurationsItem': """Initialize a ConfigurationSynchronizationConfigurationsItem object from a json dictionary.""" args = {} if 'monitor_definition_id' in _dict: args['monitor_definition_id'] = _dict.get('monitor_definition_id') if 'monitor_instance_id' in _dict: args['monitor_instance_id'] = _dict.get('monitor_instance_id') if 'monitor_instance_status' in _dict: args['monitor_instance_status'] = _dict.get('monitor_instance_status') if 'source_properties' in _dict: args['source_properties'] = GraphVertexProperties.from_dict(_dict.get('source_properties')) if 'status' in _dict: args['status'] = _dict.get('status') if 'target_properties' in _dict: args['target_properties'] = GraphVertexProperties.from_dict(_dict.get('target_properties')) return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a ConfigurationSynchronizationConfigurationsItem object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'monitor_definition_id') and self.monitor_definition_id is not None: _dict['monitor_definition_id'] = self.monitor_definition_id if hasattr(self, 'monitor_instance_id') and self.monitor_instance_id is not None: _dict['monitor_instance_id'] = self.monitor_instance_id if hasattr(self, 'monitor_instance_status') and self.monitor_instance_status is not None: _dict['monitor_instance_status'] = self.monitor_instance_status if hasattr(self, 'source_properties') and self.source_properties is not None: _dict['source_properties'] = self.source_properties.to_dict() if hasattr(self, 'status') and self.status is not None: _dict['status'] = self.status if hasattr(self, 'target_properties') and self.target_properties is not None: _dict['target_properties'] = self.target_properties.to_dict() return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this ConfigurationSynchronizationConfigurationsItem object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'ConfigurationSynchronizationConfigurationsItem') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'ConfigurationSynchronizationConfigurationsItem') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class DataDistributionResponse(): """ Data distribution details response. :attr Metadata metadata: :attr DataDistributionResponseEntity entity: The computed data distribution against specified data set. """ def __init__(self, metadata: 'Metadata', entity: 'DataDistributionResponseEntity') -> None: """ Initialize a DataDistributionResponse object. :param Metadata metadata: :param DataDistributionResponseEntity entity: The computed data distribution against specified data set. """ self.metadata = metadata self.entity = entity @classmethod def from_dict(cls, _dict: Dict) -> 'DataDistributionResponse': """Initialize a DataDistributionResponse object from a json dictionary.""" args = {} if 'metadata' in _dict: args['metadata'] = Metadata.from_dict(_dict.get('metadata')) else: raise ValueError('Required property \'metadata\' not present in DataDistributionResponse JSON') if 'entity' in _dict: args['entity'] = DataDistributionResponseEntity.from_dict(_dict.get('entity')) else: raise ValueError('Required property \'entity\' not present in DataDistributionResponse JSON') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a DataDistributionResponse object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'metadata') and self.metadata is not None: _dict['metadata'] = self.metadata.to_dict() if hasattr(self, 'entity') and self.entity is not None: _dict['entity'] = self.entity.to_dict() return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this DataDistributionResponse object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'DataDistributionResponse') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'DataDistributionResponse') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class DataDistributionResponseEntity(): """ The computed data distribution against specified data set. :attr str start: start datetime in ISO format. :attr str end: end datetime in ISO format. :attr str dataset: type of a data set. :attr float limit: (optional) limit for number of rows, by default it is 50,000 (max possible limit is 50,000). :attr List[str] group: names of columns to be grouped. :attr str filter: (optional) Filters defined by user in format: {field_name}:{op}:{value}. Partly compatible with filters in "filter" parameter of GET /v2/data_sets/{data_set_id}/records. Possible filter operators: * eq - equals (numeric, string) * gt - greater than (numeric) * gte - greater than or equal (numeric) * lt - lower than (numeric) * lte - lower than or equal (numeric) * in - value in a set (numeric, string) * field:null (a no-argument filter) - value is null (any nullable) * field:exists (a no-argument filter) - value is not null (any column). :attr List[str] agg: (optional) Definition of aggregations, by default 'count'. Aggregations can be one of: * count * <column_name>:sum * <column_name>:min * <column_name>:max * <column_name>:avg * <column_name>:stddev. :attr float max_bins: (optional) max number of bins which will be generated for data. :attr MonitoringRunStatus status: (optional) The status information for the monitoring run. :attr float processed_records: (optional) number of processed records. :attr bool limited_data: (optional) was the limit used on data. :attr DataDistributionResponseEntityDistribution distribution: (optional) """ def __init__(self, start: str, end: str, dataset: str, group: List[str], *, limit: float = None, filter: str = None, agg: List[str] = None, max_bins: float = None, status: 'MonitoringRunStatus' = None, processed_records: float = None, limited_data: bool = None, distribution: 'DataDistributionResponseEntityDistribution' = None) -> None: """ Initialize a DataDistributionResponseEntity object. :param str start: start datetime in ISO format. :param str end: end datetime in ISO format. :param str dataset: type of a data set. :param List[str] group: names of columns to be grouped. :param float limit: (optional) limit for number of rows, by default it is 50,000 (max possible limit is 50,000). :param str filter: (optional) Filters defined by user in format: {field_name}:{op}:{value}. Partly compatible with filters in "filter" parameter of GET /v2/data_sets/{data_set_id}/records. Possible filter operators: * eq - equals (numeric, string) * gt - greater than (numeric) * gte - greater than or equal (numeric) * lt - lower than (numeric) * lte - lower than or equal (numeric) * in - value in a set (numeric, string) * field:null (a no-argument filter) - value is null (any nullable) * field:exists (a no-argument filter) - value is not null (any column). :param List[str] agg: (optional) Definition of aggregations, by default 'count'. Aggregations can be one of: * count * <column_name>:sum * <column_name>:min * <column_name>:max * <column_name>:avg * <column_name>:stddev. :param float max_bins: (optional) max number of bins which will be generated for data. :param MonitoringRunStatus status: (optional) The status information for the monitoring run. :param float processed_records: (optional) number of processed records. :param bool limited_data: (optional) was the limit used on data. :param DataDistributionResponseEntityDistribution distribution: (optional) """ self.start = start self.end = end self.dataset = dataset self.limit = limit self.group = group self.filter = filter self.agg = agg self.max_bins = max_bins self.status = status self.processed_records = processed_records self.limited_data = limited_data self.distribution = distribution @classmethod def from_dict(cls, _dict: Dict) -> 'DataDistributionResponseEntity': """Initialize a DataDistributionResponseEntity object from a json dictionary.""" args = {} if 'start' in _dict: args['start'] = _dict.get('start') else: raise ValueError('Required property \'start\' not present in DataDistributionResponseEntity JSON') if 'end' in _dict: args['end'] = _dict.get('end') else: raise ValueError('Required property \'end\' not present in DataDistributionResponseEntity JSON') if 'dataset' in _dict: args['dataset'] = _dict.get('dataset') else: raise ValueError('Required property \'dataset\' not present in DataDistributionResponseEntity JSON') if 'limit' in _dict: args['limit'] = _dict.get('limit') if 'group' in _dict: args['group'] = _dict.get('group') else: raise ValueError('Required property \'group\' not present in DataDistributionResponseEntity JSON') if 'filter' in _dict: args['filter'] = _dict.get('filter') if 'agg' in _dict: args['agg'] = _dict.get('agg') if 'max_bins' in _dict: args['max_bins'] = _dict.get('max_bins') if 'status' in _dict: args['status'] = MonitoringRunStatus.from_dict(_dict.get('status')) if 'processed_records' in _dict: args['processed_records'] = _dict.get('processed_records') if 'limited_data' in _dict: args['limited_data'] = _dict.get('limited_data') if 'distribution' in _dict: args['distribution'] = DataDistributionResponseEntityDistribution.from_dict(_dict.get('distribution')) return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a DataDistributionResponseEntity object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'start') and self.start is not None: _dict['start'] = self.start if hasattr(self, 'end') and self.end is not None: _dict['end'] = self.end if hasattr(self, 'dataset') and self.dataset is not None: _dict['dataset'] = self.dataset if hasattr(self, 'limit') and self.limit is not None: _dict['limit'] = self.limit if hasattr(self, 'group') and self.group is not None: _dict['group'] = self.group if hasattr(self, 'filter') and self.filter is not None: _dict['filter'] = self.filter if hasattr(self, 'agg') and self.agg is not None: _dict['agg'] = self.agg if hasattr(self, 'max_bins') and self.max_bins is not None: _dict['max_bins'] = self.max_bins if hasattr(self, 'status') and self.status is not None: _dict['status'] = self.status.to_dict() if hasattr(self, 'processed_records') and self.processed_records is not None: _dict['processed_records'] = self.processed_records if hasattr(self, 'limited_data') and self.limited_data is not None: _dict['limited_data'] = self.limited_data if hasattr(self, 'distribution') and self.distribution is not None: _dict['distribution'] = self.distribution.to_dict() return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this DataDistributionResponseEntity object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'DataDistributionResponseEntity') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'DataDistributionResponseEntity') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class DatasetEnum(str, Enum): """ type of a data set. """ MANUAL_LABELING = 'manual_labeling' PAYLOAD_LOGGING = 'payload_logging' FEEDBACK = 'feedback' BUSINESS_PAYLOAD = 'business_payload' EXPLANATIONS = 'explanations' EXPLANATIONS_WHATIF = 'explanations_whatif' TRAINING = 'training' PAYLOAD_LOGGING_ERROR = 'payload_logging_error' MODEL_HEALTH = 'model_health' DRIFT_STATS = 'drift_stats' DRIFT_INTERVALS = 'drift_intervals' DRIFT_INSIGHTS = 'drift_insights' GEN_AI_QUALITY_METRICS = 'gen_ai_quality_metrics' GEN_AI_SECURITY_METRICS = 'gen_ai_security_metrics' DRIFT_SCORES = 'drift_scores' AIDC_FEEDBACK = 'aidc_feedback' CUSTOM = 'custom' NODES_INFO = 'nodes_info' EDGES_INFO = 'edges_info' AGENTIC_APP_IO = 'agentic_app_io' NODES_IO = 'nodes_io' AGENTIC_APP_METRICS = 'agentic_app_metrics' SPANS = 'spans' class DataDistributionResponseEntityDistribution(): """ DataDistributionResponseEntityDistribution. :attr List[str] fields: names of the data distribution fields. :attr List[object] values: data distribution rows. """ def __init__(self, fields: List[str], values: List[object]) -> None: """ Initialize a DataDistributionResponseEntityDistribution object. :param List[str] fields: names of the data distribution fields. :param List[object] values: data distribution rows. """ self.fields = fields self.values = values @classmethod def from_dict(cls, _dict: Dict) -> 'DataDistributionResponseEntityDistribution': """Initialize a DataDistributionResponseEntityDistribution object from a json dictionary.""" args = {} if 'fields' in _dict: args['fields'] = _dict.get('fields') else: raise ValueError('Required property \'fields\' not present in DataDistributionResponseEntityDistribution JSON') if 'values' in _dict: args['values'] = _dict.get('values') else: raise ValueError('Required property \'values\' not present in DataDistributionResponseEntityDistribution JSON') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a DataDistributionResponseEntityDistribution object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'fields') and self.fields is not None: _dict['fields'] = self.fields if hasattr(self, 'values') and self.values is not None: _dict['values'] = self.values return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this DataDistributionResponseEntityDistribution object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'DataDistributionResponseEntityDistribution') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'DataDistributionResponseEntityDistribution') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class DataMartDatabaseResponse(): """ DataMartDatabaseResponse. :attr Metadata metadata: :attr DataMartDatabaseResponseEntity entity: """ def __init__(self, metadata: 'Metadata', entity: 'DataMartDatabaseResponseEntity') -> None: """ Initialize a DataMartDatabaseResponse object. :param Metadata metadata: :param DataMartDatabaseResponseEntity entity: """ self.metadata = metadata self.entity = entity @classmethod def from_dict(cls, _dict: Dict) -> 'DataMartDatabaseResponse': """Initialize a DataMartDatabaseResponse object from a json dictionary.""" args = {} if 'metadata' in _dict: args['metadata'] = Metadata.from_dict(_dict.get('metadata')) else: raise ValueError('Required property \'metadata\' not present in DataMartDatabaseResponse JSON') if 'entity' in _dict: args['entity'] = DataMartDatabaseResponseEntity.from_dict(_dict.get('entity')) else: raise ValueError('Required property \'entity\' not present in DataMartDatabaseResponse JSON') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a DataMartDatabaseResponse object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'metadata') and self.metadata is not None: _dict['metadata'] = self.metadata.to_dict() if hasattr(self, 'entity') and self.entity is not None: _dict['entity'] = self.entity.to_dict() return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this DataMartDatabaseResponse object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'DataMartDatabaseResponse') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'DataMartDatabaseResponse') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class DataMartDatabaseResponseCollection(): """ DataMartDatabaseResponseCollection. :attr List[DataMartDatabaseResponse] data_marts: """ def __init__(self, data_marts: List['DataMartDatabaseResponse']) -> None: """ Initialize a DataMartDatabaseResponseCollection object. :param List[DataMartDatabaseResponse] data_marts: """ self.data_marts = data_marts @classmethod def from_dict(cls, _dict: Dict) -> 'DataMartDatabaseResponseCollection': """Initialize a DataMartDatabaseResponseCollection object from a json dictionary.""" args = {} if 'data_marts' in _dict: args['data_marts'] = [DataMartDatabaseResponse.from_dict(x) for x in _dict.get('data_marts')] else: raise ValueError('Required property \'data_marts\' not present in DataMartDatabaseResponseCollection JSON') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a DataMartDatabaseResponseCollection object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'data_marts') and self.data_marts is not None: _dict['data_marts'] = [x.to_dict() for x in self.data_marts] return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this DataMartDatabaseResponseCollection object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'DataMartDatabaseResponseCollection') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'DataMartDatabaseResponseCollection') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class DataMartDatabaseResponseEntity(): """ DataMartDatabaseResponseEntity. :attr str name: (optional) :attr str description: (optional) :attr str service_instance_crn: (optional) :attr bool internal_database: (optional) If `true` the internal database managed by AI OpenScale is provided for the user. :attr DatabaseConfiguration database_configuration: (optional) Database configuration ignored if internal database is requested (`internal_database` is `true`). :attr str database_discovery: (optional) Used by UI to check if database discovery was automatic or manual. :attr Status status: (optional) """ def __init__(self, *, name: str = None, description: str = None, service_instance_crn: str = None, internal_database: bool = None, database_configuration: 'DatabaseConfiguration' = None, database_discovery: str = None, status: 'Status' = None) -> None: """ Initialize a DataMartDatabaseResponseEntity object. :param str name: (optional) :param str description: (optional) :param str service_instance_crn: (optional) :param bool internal_database: (optional) If `true` the internal database managed by AI OpenScale is provided for the user. :param DatabaseConfiguration database_configuration: (optional) Database configuration ignored if internal database is requested (`internal_database` is `true`). :param str database_discovery: (optional) Used by UI to check if database discovery was automatic or manual. :param Status status: (optional) """ self.name = name self.description = description self.service_instance_crn = service_instance_crn self.internal_database = internal_database self.database_configuration = database_configuration self.database_discovery = database_discovery self.status = status @classmethod def from_dict(cls, _dict: Dict) -> 'DataMartDatabaseResponseEntity': """Initialize a DataMartDatabaseResponseEntity object from a json dictionary.""" args = {} if 'name' in _dict: args['name'] = _dict.get('name') if 'description' in _dict: args['description'] = _dict.get('description') if 'service_instance_crn' in _dict: args['service_instance_crn'] = _dict.get('service_instance_crn') if 'internal_database' in _dict: args['internal_database'] = _dict.get('internal_database') if 'database_configuration' in _dict: args['database_configuration'] = DatabaseConfiguration.from_dict(_dict.get('database_configuration')) if 'database_discovery' in _dict: args['database_discovery'] = _dict.get('database_discovery') if 'status' in _dict: args['status'] = Status.from_dict(_dict.get('status')) return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a DataMartDatabaseResponseEntity object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'name') and self.name is not None: _dict['name'] = self.name if hasattr(self, 'description') and self.description is not None: _dict['description'] = self.description if hasattr(self, 'service_instance_crn') and self.service_instance_crn is not None: _dict['service_instance_crn'] = self.service_instance_crn if hasattr(self, 'internal_database') and self.internal_database is not None: _dict['internal_database'] = self.internal_database if hasattr(self, 'database_configuration') and self.database_configuration is not None: _dict['database_configuration'] = self.database_configuration.to_dict() if hasattr(self, 'database_discovery') and self.database_discovery is not None: _dict['database_discovery'] = self.database_discovery if hasattr(self, 'status') and self.status is not None: _dict['status'] = self.status.to_dict() return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this DataMartDatabaseResponseEntity object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'DataMartDatabaseResponseEntity') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'DataMartDatabaseResponseEntity') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class DatabaseDiscoveryEnum(str, Enum): """ Used by UI to check if database discovery was automatic or manual. """ AUTOMATIC = 'automatic' MANUAL = 'manual' class DataMartGetMonitorInstanceMetrics(): """ DataMartGetMonitorInstanceMetrics. :attr datetime start: (optional) Floored to full interval. :attr datetime end: (optional) Ceiled to full interval. :attr str interval: (optional) :attr str monitor_definition_id: (optional) :attr List[DataMartGetMonitorInstanceMetricsGroupsItem] groups: (optional) """ def __init__(self, *, start: datetime = None, end: datetime = None, interval: str = None, monitor_definition_id: str = None, groups: List['DataMartGetMonitorInstanceMetricsGroupsItem'] = None) -> None: """ Initialize a DataMartGetMonitorInstanceMetrics object. :param datetime start: (optional) Floored to full interval. :param datetime end: (optional) Ceiled to full interval. :param str interval: (optional) :param str monitor_definition_id: (optional) :param List[DataMartGetMonitorInstanceMetricsGroupsItem] groups: (optional) """ self.start = start self.end = end self.interval = interval self.monitor_definition_id = monitor_definition_id self.groups = groups @classmethod def from_dict(cls, _dict: Dict) -> 'DataMartGetMonitorInstanceMetrics': """Initialize a DataMartGetMonitorInstanceMetrics object from a json dictionary.""" args = {} if 'start' in _dict: args['start'] = string_to_datetime(_dict.get('start')) if 'end' in _dict: args['end'] = string_to_datetime(_dict.get('end')) if 'interval' in _dict: args['interval'] = _dict.get('interval') if 'monitor_definition_id' in _dict: args['monitor_definition_id'] = _dict.get('monitor_definition_id') if 'groups' in _dict: args['groups'] = [DataMartGetMonitorInstanceMetricsGroupsItem.from_dict(x) for x in _dict.get('groups')] return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a DataMartGetMonitorInstanceMetrics object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'start') and self.start is not None: _dict['start'] = datetime_to_string(self.start) if hasattr(self, 'end') and self.end is not None: _dict['end'] = datetime_to_string(self.end) if hasattr(self, 'interval') and self.interval is not None: _dict['interval'] = self.interval if hasattr(self, 'monitor_definition_id') and self.monitor_definition_id is not None: _dict['monitor_definition_id'] = self.monitor_definition_id if hasattr(self, 'groups') and self.groups is not None: _dict['groups'] = [x.to_dict() for x in self.groups] return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this DataMartGetMonitorInstanceMetrics object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'DataMartGetMonitorInstanceMetrics') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'DataMartGetMonitorInstanceMetrics') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class DataMartGetMonitorInstanceMetricsGroupsItem(): """ DataMartGetMonitorInstanceMetricsGroupsItem. :attr List[DataMartGetMonitorInstanceMetricsGroupsItemTagsItem] tags: (optional) :attr List[DataMartGetMonitorInstanceMetricsGroupsItemMetricsItem] metrics: (optional) """ def __init__(self, *, tags: List['DataMartGetMonitorInstanceMetricsGroupsItemTagsItem'] = None, metrics: List['DataMartGetMonitorInstanceMetricsGroupsItemMetricsItem'] = None) -> None: """ Initialize a DataMartGetMonitorInstanceMetricsGroupsItem object. :param List[DataMartGetMonitorInstanceMetricsGroupsItemTagsItem] tags: (optional) :param List[DataMartGetMonitorInstanceMetricsGroupsItemMetricsItem] metrics: (optional) """ self.tags = tags self.metrics = metrics @classmethod def from_dict(cls, _dict: Dict) -> 'DataMartGetMonitorInstanceMetricsGroupsItem': """Initialize a DataMartGetMonitorInstanceMetricsGroupsItem object from a json dictionary.""" args = {} if 'tags' in _dict: args['tags'] = [DataMartGetMonitorInstanceMetricsGroupsItemTagsItem.from_dict(x) for x in _dict.get('tags')] if 'metrics' in _dict: args['metrics'] = [DataMartGetMonitorInstanceMetricsGroupsItemMetricsItem.from_dict(x) for x in _dict.get('metrics')] return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a DataMartGetMonitorInstanceMetricsGroupsItem object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'tags') and self.tags is not None: _dict['tags'] = [x.to_dict() for x in self.tags] if hasattr(self, 'metrics') and self.metrics is not None: _dict['metrics'] = [x.to_dict() for x in self.metrics] return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this DataMartGetMonitorInstanceMetricsGroupsItem object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'DataMartGetMonitorInstanceMetricsGroupsItem') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'DataMartGetMonitorInstanceMetricsGroupsItem') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class DataMartGetMonitorInstanceMetricsGroupsItemMetricsItem(): """ DataMartGetMonitorInstanceMetricsGroupsItemMetricsItem. :attr str id: :attr float lower_limit: (optional) :attr float upper_limit: (optional) :attr DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemLast last: (optional) :attr DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemFirst first: (optional) :attr DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemSum sum: (optional) :attr DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemAvg avg: (optional) :attr DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemMin min: (optional) :attr DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemMax max: (optional) :attr DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemMedian median: (optional) :attr DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemCount count: (optional) :attr DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemStddev stddev: (optional) """ def __init__(self, id: str, *, lower_limit: float = None, upper_limit: float = None, last: 'DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemLast' = None, first: 'DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemFirst' = None, sum: 'DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemSum' = None, avg: 'DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemAvg' = None, min: 'DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemMin' = None, max: 'DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemMax' = None, median: 'DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemMedian' = None, count: 'DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemCount' = None, stddev: 'DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemStddev' = None) -> None: """ Initialize a DataMartGetMonitorInstanceMetricsGroupsItemMetricsItem object. :param str id: :param float lower_limit: (optional) :param float upper_limit: (optional) :param DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemLast last: (optional) :param DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemFirst first: (optional) :param DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemSum sum: (optional) :param DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemAvg avg: (optional) :param DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemMin min: (optional) :param DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemMax max: (optional) :param DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemMedian median: (optional) :param DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemCount count: (optional) :param DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemStddev stddev: (optional) """ self.id = id self.lower_limit = lower_limit self.upper_limit = upper_limit self.last = last self.first = first self.sum = sum self.avg = avg self.min = min self.max = max self.median = median self.count = count self.stddev = stddev @classmethod def from_dict(cls, _dict: Dict) -> 'DataMartGetMonitorInstanceMetricsGroupsItemMetricsItem': """Initialize a DataMartGetMonitorInstanceMetricsGroupsItemMetricsItem object from a json dictionary.""" args = {} if 'id' in _dict: args['id'] = _dict.get('id') else: raise ValueError('Required property \'id\' not present in DataMartGetMonitorInstanceMetricsGroupsItemMetricsItem JSON') if 'lower_limit' in _dict: args['lower_limit'] = _dict.get('lower_limit') if 'upper_limit' in _dict: args['upper_limit'] = _dict.get('upper_limit') if 'last' in _dict: args['last'] = DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemLast.from_dict(_dict.get('last')) if 'first' in _dict: args['first'] = DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemFirst.from_dict(_dict.get('first')) if 'sum' in _dict: args['sum'] = DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemSum.from_dict(_dict.get('sum')) if 'avg' in _dict: args['avg'] = DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemAvg.from_dict(_dict.get('avg')) if 'min' in _dict: args['min'] = DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemMin.from_dict(_dict.get('min')) if 'max' in _dict: args['max'] = DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemMax.from_dict(_dict.get('max')) if 'median' in _dict: args['median'] = DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemMedian.from_dict(_dict.get('median')) if 'count' in _dict: args['count'] = DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemCount.from_dict(_dict.get('count')) if 'stddev' in _dict: args['stddev'] = DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemStddev.from_dict(_dict.get('stddev')) return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a DataMartGetMonitorInstanceMetricsGroupsItemMetricsItem object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'id') and self.id is not None: _dict['id'] = self.id if hasattr(self, 'lower_limit') and self.lower_limit is not None: _dict['lower_limit'] = self.lower_limit if hasattr(self, 'upper_limit') and self.upper_limit is not None: _dict['upper_limit'] = self.upper_limit if hasattr(self, 'last') and self.last is not None: _dict['last'] = self.last.to_dict() if hasattr(self, 'first') and self.first is not None: _dict['first'] = self.first.to_dict() if hasattr(self, 'sum') and self.sum is not None: _dict['sum'] = self.sum.to_dict() if hasattr(self, 'avg') and self.avg is not None: _dict['avg'] = self.avg.to_dict() if hasattr(self, 'min') and self.min is not None: _dict['min'] = self.min.to_dict() if hasattr(self, 'max') and self.max is not None: _dict['max'] = self.max.to_dict() if hasattr(self, 'median') and self.median is not None: _dict['median'] = self.median.to_dict() if hasattr(self, 'count') and self.count is not None: _dict['count'] = self.count.to_dict() if hasattr(self, 'stddev') and self.stddev is not None: _dict['stddev'] = self.stddev.to_dict() return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this DataMartGetMonitorInstanceMetricsGroupsItemMetricsItem object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'DataMartGetMonitorInstanceMetricsGroupsItemMetricsItem') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'DataMartGetMonitorInstanceMetricsGroupsItemMetricsItem') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemAvg(): """ DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemAvg. :attr List[float] value: (optional) """ def __init__(self, *, value: List[float] = None) -> None: """ Initialize a DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemAvg object. :param List[float] value: (optional) """ self.value = value @classmethod def from_dict(cls, _dict: Dict) -> 'DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemAvg': """Initialize a DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemAvg object from a json dictionary.""" args = {} if 'value' in _dict: args['value'] = _dict.get('value') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemAvg object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'value') and self.value is not None: _dict['value'] = self.value return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemAvg object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemAvg') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemAvg') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemCount(): """ DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemCount. :attr List[float] value: (optional) :attr List[str] measurement_id: (optional) """ def __init__(self, *, value: List[float] = None, measurement_id: List[str] = None) -> None: """ Initialize a DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemCount object. :param List[float] value: (optional) :param List[str] measurement_id: (optional) """ self.value = value self.measurement_id = measurement_id @classmethod def from_dict(cls, _dict: Dict) -> 'DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemCount': """Initialize a DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemCount object from a json dictionary.""" args = {} if 'value' in _dict: args['value'] = _dict.get('value') if 'measurement_id' in _dict: args['measurement_id'] = _dict.get('measurement_id') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemCount object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'value') and self.value is not None: _dict['value'] = self.value if hasattr(self, 'measurement_id') and self.measurement_id is not None: _dict['measurement_id'] = self.measurement_id return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemCount object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemCount') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemCount') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemFirst(): """ DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemFirst. :attr List[float] value: (optional) :attr List[str] measurement_id: (optional) """ def __init__(self, *, value: List[float] = None, measurement_id: List[str] = None) -> None: """ Initialize a DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemFirst object. :param List[float] value: (optional) :param List[str] measurement_id: (optional) """ self.value = value self.measurement_id = measurement_id @classmethod def from_dict(cls, _dict: Dict) -> 'DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemFirst': """Initialize a DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemFirst object from a json dictionary.""" args = {} if 'value' in _dict: args['value'] = _dict.get('value') if 'measurement_id' in _dict: args['measurement_id'] = _dict.get('measurement_id') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemFirst object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'value') and self.value is not None: _dict['value'] = self.value if hasattr(self, 'measurement_id') and self.measurement_id is not None: _dict['measurement_id'] = self.measurement_id return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemFirst object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemFirst') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemFirst') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemLast(): """ DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemLast. :attr List[float] value: (optional) :attr List[str] measurement_id: (optional) """ def __init__(self, *, value: List[float] = None, measurement_id: List[str] = None) -> None: """ Initialize a DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemLast object. :param List[float] value: (optional) :param List[str] measurement_id: (optional) """ self.value = value self.measurement_id = measurement_id @classmethod def from_dict(cls, _dict: Dict) -> 'DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemLast': """Initialize a DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemLast object from a json dictionary.""" args = {} if 'value' in _dict: args['value'] = _dict.get('value') if 'measurement_id' in _dict: args['measurement_id'] = _dict.get('measurement_id') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemLast object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'value') and self.value is not None: _dict['value'] = self.value if hasattr(self, 'measurement_id') and self.measurement_id is not None: _dict['measurement_id'] = self.measurement_id return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemLast object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemLast') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemLast') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemMax(): """ DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemMax. :attr List[float] value: (optional) :attr List[str] measurement_id: (optional) """ def __init__(self, *, value: List[float] = None, measurement_id: List[str] = None) -> None: """ Initialize a DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemMax object. :param List[float] value: (optional) :param List[str] measurement_id: (optional) """ self.value = value self.measurement_id = measurement_id @classmethod def from_dict(cls, _dict: Dict) -> 'DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemMax': """Initialize a DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemMax object from a json dictionary.""" args = {} if 'value' in _dict: args['value'] = _dict.get('value') if 'measurement_id' in _dict: args['measurement_id'] = _dict.get('measurement_id') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemMax object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'value') and self.value is not None: _dict['value'] = self.value if hasattr(self, 'measurement_id') and self.measurement_id is not None: _dict['measurement_id'] = self.measurement_id return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemMax object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemMax') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemMax') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemMedian(): """ DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemMedian. :attr List[float] value: (optional) """ def __init__(self, *, value: List[float] = None) -> None: """ Initialize a DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemMedian object. :param List[float] value: (optional) """ self.value = value @classmethod def from_dict(cls, _dict: Dict) -> 'DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemMedian': """Initialize a DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemMedian object from a json dictionary.""" args = {} if 'value' in _dict: args['value'] = _dict.get('value') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemMedian object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'value') and self.value is not None: _dict['value'] = self.value return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemMedian object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemMedian') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemMedian') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemMin(): """ DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemMin. :attr List[float] value: (optional) :attr List[str] measurement_id: (optional) """ def __init__(self, *, value: List[float] = None, measurement_id: List[str] = None) -> None: """ Initialize a DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemMin object. :param List[float] value: (optional) :param List[str] measurement_id: (optional) """ self.value = value self.measurement_id = measurement_id @classmethod def from_dict(cls, _dict: Dict) -> 'DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemMin': """Initialize a DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemMin object from a json dictionary.""" args = {} if 'value' in _dict: args['value'] = _dict.get('value') if 'measurement_id' in _dict: args['measurement_id'] = _dict.get('measurement_id') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemMin object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'value') and self.value is not None: _dict['value'] = self.value if hasattr(self, 'measurement_id') and self.measurement_id is not None: _dict['measurement_id'] = self.measurement_id return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemMin object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemMin') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemMin') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemStddev(): """ DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemStddev. :attr List[float] value: (optional) """ def __init__(self, *, value: List[float] = None) -> None: """ Initialize a DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemStddev object. :param List[float] value: (optional) """ self.value = value @classmethod def from_dict(cls, _dict: Dict) -> 'DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemStddev': """Initialize a DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemStddev object from a json dictionary.""" args = {} if 'value' in _dict: args['value'] = _dict.get('value') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemStddev object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'value') and self.value is not None: _dict['value'] = self.value return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemStddev object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemStddev') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemStddev') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemSum(): """ DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemSum. :attr List[float] value: (optional) """ def __init__(self, *, value: List[float] = None) -> None: """ Initialize a DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemSum object. :param List[float] value: (optional) """ self.value = value @classmethod def from_dict(cls, _dict: Dict) -> 'DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemSum': """Initialize a DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemSum object from a json dictionary.""" args = {} if 'value' in _dict: args['value'] = _dict.get('value') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemSum object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'value') and self.value is not None: _dict['value'] = self.value return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemSum object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemSum') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'DataMartGetMonitorInstanceMetricsGroupsItemMetricsItemSum') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class DataMartGetMonitorInstanceMetricsGroupsItemTagsItem(): """ DataMartGetMonitorInstanceMetricsGroupsItemTagsItem. :attr str id: :attr str value: """ def __init__(self, id: str, value: str) -> None: """ Initialize a DataMartGetMonitorInstanceMetricsGroupsItemTagsItem object. :param str id: :param str value: """ self.id = id self.value = value @classmethod def from_dict(cls, _dict: Dict) -> 'DataMartGetMonitorInstanceMetricsGroupsItemTagsItem': """Initialize a DataMartGetMonitorInstanceMetricsGroupsItemTagsItem object from a json dictionary.""" args = {} if 'id' in _dict: args['id'] = _dict.get('id') else: raise ValueError('Required property \'id\' not present in DataMartGetMonitorInstanceMetricsGroupsItemTagsItem JSON') if 'value' in _dict: args['value'] = _dict.get('value') else: raise ValueError('Required property \'value\' not present in DataMartGetMonitorInstanceMetricsGroupsItemTagsItem JSON') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a DataMartGetMonitorInstanceMetricsGroupsItemTagsItem object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'id') and self.id is not None: _dict['id'] = self.id if hasattr(self, 'value') and self.value is not None: _dict['value'] = self.value return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this DataMartGetMonitorInstanceMetricsGroupsItemTagsItem object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'DataMartGetMonitorInstanceMetricsGroupsItemTagsItem') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'DataMartGetMonitorInstanceMetricsGroupsItemTagsItem') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class DataRecord(): """ DataRecord. :attr object values: Fields and values of the entity matches JSON object's fields and values. :attr dict annotations: (optional) Any JSON object representing annotations. """ def __init__(self, values: object, *, annotations: dict = None) -> None: """ Initialize a DataRecord object. :param object values: Fields and values of the entity matches JSON object's fields and values. :param dict annotations: (optional) Any JSON object representing annotations. """ self.values = values self.annotations = annotations @classmethod def from_dict(cls, _dict: Dict) -> 'DataRecord': """Initialize a DataRecord object from a json dictionary.""" args = {} if 'values' in _dict: args['values'] = _dict.get('values') else: raise ValueError('Required property \'values\' not present in DataRecord JSON') if 'annotations' in _dict: args['annotations'] = _dict.get('annotations') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a DataRecord object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'values') and self.values is not None: _dict['values'] = self.values if hasattr(self, 'annotations') and self.annotations is not None: _dict['annotations'] = self.annotations return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this DataRecord object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'DataRecord') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'DataRecord') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class DataRecordResponse(): """ DataRecordResponse. :attr Metadata metadata: :attr DataRecord entity: """ def __init__(self, metadata: 'Metadata', entity: 'DataRecord') -> None: """ Initialize a DataRecordResponse object. :param Metadata metadata: :param DataRecord entity: """ self.metadata = metadata self.entity = entity @classmethod def from_dict(cls, _dict: Dict) -> 'DataRecordResponse': """Initialize a DataRecordResponse object from a json dictionary.""" args = {} if 'metadata' in _dict: args['metadata'] = Metadata.from_dict(_dict.get('metadata')) else: raise ValueError('Required property \'metadata\' not present in DataRecordResponse JSON') if 'entity' in _dict: args['entity'] = DataRecord.from_dict(_dict.get('entity')) else: raise ValueError('Required property \'entity\' not present in DataRecordResponse JSON') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a DataRecordResponse object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'metadata') and self.metadata is not None: _dict['metadata'] = self.metadata.to_dict() if hasattr(self, 'entity') and self.entity is not None: _dict['entity'] = self.entity.to_dict() return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this DataRecordResponse object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'DataRecordResponse') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'DataRecordResponse') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class DataRecordResponseList(): """ DataRecordResponseList. :attr List[str] fields: Fields' names are listed in order in 'fields'. :attr List[List[object]] values: Rows organized per fields as described in 'fields'. :attr List[dict] annotations: (optional) List of annotations objects. """ def __init__(self, fields: List[str], values: List[List[object]], *, annotations: List[dict] = None) -> None: """ Initialize a DataRecordResponseList object. :param List[str] fields: Fields' names are listed in order in 'fields'. :param List[List[object]] values: Rows organized per fields as described in 'fields'. :param List[dict] annotations: (optional) List of annotations objects. """ self.fields = fields self.values = values self.annotations = annotations @classmethod def from_dict(cls, _dict: Dict) -> 'DataRecordResponseList': """Initialize a DataRecordResponseList object from a json dictionary.""" args = {} if 'fields' in _dict: args['fields'] = _dict.get('fields') else: raise ValueError('Required property \'fields\' not present in DataRecordResponseList JSON') if 'values' in _dict: args['values'] = _dict.get('values') else: raise ValueError('Required property \'values\' not present in DataRecordResponseList JSON') if 'annotations' in _dict: args['annotations'] = _dict.get('annotations') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a DataRecordResponseList object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'fields') and self.fields is not None: _dict['fields'] = self.fields if hasattr(self, 'values') and self.values is not None: _dict['values'] = self.values if hasattr(self, 'annotations') and self.annotations is not None: _dict['annotations'] = self.annotations return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this DataRecordResponseList object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'DataRecordResponseList') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'DataRecordResponseList') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class DataSetObject(): """ DataSetObject. :attr str data_mart_id: :attr str name: :attr str description: (optional) :attr str type: type of a data set. :attr Target target: :attr str schema_update_mode: (optional) :attr SparkStruct data_schema: :attr LocationTableName location: (optional) :attr str managed_by: (optional) :attr Status status: """ def __init__(self, data_mart_id: str, name: str, type: str, target: 'Target', data_schema: 'SparkStruct', status: 'Status', *, description: str = None, schema_update_mode: str = None, location: 'LocationTableName' = None, managed_by: str = None) -> None: """ Initialize a DataSetObject object. :param str data_mart_id: :param str name: :param str type: type of a data set. :param Target target: :param SparkStruct data_schema: :param Status status: :param str description: (optional) :param str schema_update_mode: (optional) :param LocationTableName location: (optional) :param str managed_by: (optional) """ self.data_mart_id = data_mart_id self.name = name self.description = description self.type = type self.target = target self.schema_update_mode = schema_update_mode self.data_schema = data_schema self.location = location self.managed_by = managed_by self.status = status @classmethod def from_dict(cls, _dict: Dict) -> 'DataSetObject': """Initialize a DataSetObject object from a json dictionary.""" args = {} if 'data_mart_id' in _dict: args['data_mart_id'] = _dict.get('data_mart_id') else: raise ValueError('Required property \'data_mart_id\' not present in DataSetObject JSON') if 'name' in _dict: args['name'] = _dict.get('name') else: raise ValueError('Required property \'name\' not present in DataSetObject JSON') if 'description' in _dict: args['description'] = _dict.get('description') if 'type' in _dict: args['type'] = _dict.get('type') else: raise ValueError('Required property \'type\' not present in DataSetObject JSON') if 'target' in _dict: args['target'] = Target.from_dict(_dict.get('target')) else: raise ValueError('Required property \'target\' not present in DataSetObject JSON') if 'schema_update_mode' in _dict: args['schema_update_mode'] = _dict.get('schema_update_mode') if 'data_schema' in _dict: args['data_schema'] = SparkStruct.from_dict(_dict.get('data_schema')) else: raise ValueError('Required property \'data_schema\' not present in DataSetObject JSON') if 'location' in _dict: args['location'] = LocationTableName.from_dict(_dict.get('location')) if 'managed_by' in _dict: args['managed_by'] = _dict.get('managed_by') if 'status' in _dict: args['status'] = Status.from_dict(_dict.get('status')) else: raise ValueError('Required property \'status\' not present in DataSetObject JSON') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a DataSetObject object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'data_mart_id') and self.data_mart_id is not None: _dict['data_mart_id'] = self.data_mart_id if hasattr(self, 'name') and self.name is not None: _dict['name'] = self.name if hasattr(self, 'description') and self.description is not None: _dict['description'] = self.description if hasattr(self, 'type') and self.type is not None: _dict['type'] = self.type if hasattr(self, 'target') and self.target is not None: _dict['target'] = self.target.to_dict() if hasattr(self, 'schema_update_mode') and self.schema_update_mode is not None: _dict['schema_update_mode'] = self.schema_update_mode if hasattr(self, 'data_schema') and self.data_schema is not None: _dict['data_schema'] = self.data_schema.to_dict() if hasattr(self, 'location') and self.location is not None: _dict['location'] = self.location.to_dict() if hasattr(self, 'managed_by') and self.managed_by is not None: _dict['managed_by'] = self.managed_by if hasattr(self, 'status') and self.status is not None: _dict['status'] = self.status.to_dict() return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this DataSetObject object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'DataSetObject') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'DataSetObject') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class TypeEnum(str, Enum): """ type of a data set. """ MANUAL_LABELING = 'manual_labeling' PAYLOAD_LOGGING = 'payload_logging' FEEDBACK = 'feedback' BUSINESS_PAYLOAD = 'business_payload' EXPLANATIONS = 'explanations' EXPLANATIONS_WHATIF = 'explanations_whatif' TRAINING = 'training' PAYLOAD_LOGGING_ERROR = 'payload_logging_error' MODEL_HEALTH = 'model_health' DRIFT_STATS = 'drift_stats' DRIFT_INTERVALS = 'drift_intervals' DRIFT_INSIGHTS = 'drift_insights' GEN_AI_QUALITY_METRICS = 'gen_ai_quality_metrics' GEN_AI_SECURITY_METRICS = 'gen_ai_security_metrics' DRIFT_SCORES = 'drift_scores' AIDC_FEEDBACK = 'aidc_feedback' CUSTOM = 'custom' NODES_INFO = 'nodes_info' EDGES_INFO = 'edges_info' AGENTIC_APP_IO = 'agentic_app_io' NODES_IO = 'nodes_io' AGENTIC_APP_METRICS = 'agentic_app_metrics' SPANS = 'spans' class SchemaUpdateModeEnum(str, Enum): """ schema_update_mode. """ NONE = 'none' AUTO = 'auto' class DataSetRecords(): """ DataSetRecords. :attr List[DataSetRecordsDataSetRecordsItem] data_set_records: """ def __init__(self, data_set_records: List['DataSetRecordsDataSetRecordsItem']) -> None: """ Initialize a DataSetRecords object. :param List[DataSetRecordsDataSetRecordsItem] data_set_records: """ self.data_set_records = data_set_records @classmethod def from_dict(cls, _dict: Dict) -> 'DataSetRecords': """Initialize a DataSetRecords object from a json dictionary.""" args = {} if 'data_set_records' in _dict: args['data_set_records'] = [DataSetRecordsDataSetRecordsItem.from_dict(x) for x in _dict.get('data_set_records')] else: raise ValueError('Required property \'data_set_records\' not present in DataSetRecords JSON') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a DataSetRecords object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'data_set_records') and self.data_set_records is not None: _dict['data_set_records'] = [x.to_dict() for x in self.data_set_records] return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this DataSetRecords object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'DataSetRecords') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'DataSetRecords') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class DataSetRecordsDataSetRecordsItem(): """ DataSetRecordsDataSetRecordsItem. :attr DataSetRecordsDataSetRecordsItemDataSet data_set: :attr DataSetRecordsDataSetRecordsItemRecords records: """ def __init__(self, data_set: 'DataSetRecordsDataSetRecordsItemDataSet', records: 'DataSetRecordsDataSetRecordsItemRecords') -> None: """ Initialize a DataSetRecordsDataSetRecordsItem object. :param DataSetRecordsDataSetRecordsItemDataSet data_set: :param DataSetRecordsDataSetRecordsItemRecords records: """ self.data_set = data_set self.records = records @classmethod def from_dict(cls, _dict: Dict) -> 'DataSetRecordsDataSetRecordsItem': """Initialize a DataSetRecordsDataSetRecordsItem object from a json dictionary.""" args = {} if 'data_set' in _dict: args['data_set'] = DataSetRecordsDataSetRecordsItemDataSet.from_dict(_dict.get('data_set')) else: raise ValueError('Required property \'data_set\' not present in DataSetRecordsDataSetRecordsItem JSON') if 'records' in _dict: args['records'] = DataSetRecordsDataSetRecordsItemRecords.from_dict(_dict.get('records')) else: raise ValueError('Required property \'records\' not present in DataSetRecordsDataSetRecordsItem JSON') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a DataSetRecordsDataSetRecordsItem object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'data_set') and self.data_set is not None: _dict['data_set'] = self.data_set.to_dict() if hasattr(self, 'records') and self.records is not None: _dict['records'] = self.records.to_dict() return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this DataSetRecordsDataSetRecordsItem object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'DataSetRecordsDataSetRecordsItem') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'DataSetRecordsDataSetRecordsItem') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class DataSetRecordsDataSetRecordsItemDataSet(): """ DataSetRecordsDataSetRecordsItemDataSet. :attr str data_mart_id: :attr str type: type of a data set. :attr Target target: :attr SparkStruct data_schema: """ def __init__(self, data_mart_id: str, type: str, target: 'Target', data_schema: 'SparkStruct') -> None: """ Initialize a DataSetRecordsDataSetRecordsItemDataSet object. :param str data_mart_id: :param str type: type of a data set. :param Target target: :param SparkStruct data_schema: """ self.data_mart_id = data_mart_id self.type = type self.target = target self.data_schema = data_schema @classmethod def from_dict(cls, _dict: Dict) -> 'DataSetRecordsDataSetRecordsItemDataSet': """Initialize a DataSetRecordsDataSetRecordsItemDataSet object from a json dictionary.""" args = {} if 'data_mart_id' in _dict: args['data_mart_id'] = _dict.get('data_mart_id') else: raise ValueError('Required property \'data_mart_id\' not present in DataSetRecordsDataSetRecordsItemDataSet JSON') if 'type' in _dict: args['type'] = _dict.get('type') else: raise ValueError('Required property \'type\' not present in DataSetRecordsDataSetRecordsItemDataSet JSON') if 'target' in _dict: args['target'] = Target.from_dict(_dict.get('target')) else: raise ValueError('Required property \'target\' not present in DataSetRecordsDataSetRecordsItemDataSet JSON') if 'data_schema' in _dict: args['data_schema'] = SparkStruct.from_dict(_dict.get('data_schema')) else: raise ValueError('Required property \'data_schema\' not present in DataSetRecordsDataSetRecordsItemDataSet JSON') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a DataSetRecordsDataSetRecordsItemDataSet object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'data_mart_id') and self.data_mart_id is not None: _dict['data_mart_id'] = self.data_mart_id if hasattr(self, 'type') and self.type is not None: _dict['type'] = self.type if hasattr(self, 'target') and self.target is not None: _dict['target'] = self.target.to_dict() if hasattr(self, 'data_schema') and self.data_schema is not None: _dict['data_schema'] = self.data_schema.to_dict() return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this DataSetRecordsDataSetRecordsItemDataSet object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'DataSetRecordsDataSetRecordsItemDataSet') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'DataSetRecordsDataSetRecordsItemDataSet') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class TypeEnum(str, Enum): """ type of a data set. """ MANUAL_LABELING = 'manual_labeling' PAYLOAD_LOGGING = 'payload_logging' FEEDBACK = 'feedback' BUSINESS_PAYLOAD = 'business_payload' EXPLANATIONS = 'explanations' EXPLANATIONS_WHATIF = 'explanations_whatif' TRAINING = 'training' PAYLOAD_LOGGING_ERROR = 'payload_logging_error' MODEL_HEALTH = 'model_health' DRIFT_STATS = 'drift_stats' DRIFT_INTERVALS = 'drift_intervals' DRIFT_INSIGHTS = 'drift_insights' GEN_AI_QUALITY_METRICS = 'gen_ai_quality_metrics' GEN_AI_SECURITY_METRICS = 'gen_ai_security_metrics' DRIFT_SCORES = 'drift_scores' AIDC_FEEDBACK = 'aidc_feedback' CUSTOM = 'custom' NODES_INFO = 'nodes_info' EDGES_INFO = 'edges_info' AGENTIC_APP_IO = 'agentic_app_io' NODES_IO = 'nodes_io' AGENTIC_APP_METRICS = 'agentic_app_metrics' SPANS = 'spans' class DataSetRecordsDataSetRecordsItemRecords(): """ DataSetRecordsDataSetRecordsItemRecords. :attr Metadata metadata: :attr DataSetRecordsDataSetRecordsItemRecordsEntity entity: """ def __init__(self, metadata: 'Metadata', entity: 'DataSetRecordsDataSetRecordsItemRecordsEntity') -> None: """ Initialize a DataSetRecordsDataSetRecordsItemRecords object. :param Metadata metadata: :param DataSetRecordsDataSetRecordsItemRecordsEntity entity: """ self.metadata = metadata self.entity = entity @classmethod def from_dict(cls, _dict: Dict) -> 'DataSetRecordsDataSetRecordsItemRecords': """Initialize a DataSetRecordsDataSetRecordsItemRecords object from a json dictionary.""" args = {} if 'metadata' in _dict: args['metadata'] = Metadata.from_dict(_dict.get('metadata')) else: raise ValueError('Required property \'metadata\' not present in DataSetRecordsDataSetRecordsItemRecords JSON') if 'entity' in _dict: args['entity'] = DataSetRecordsDataSetRecordsItemRecordsEntity.from_dict(_dict.get('entity')) else: raise ValueError('Required property \'entity\' not present in DataSetRecordsDataSetRecordsItemRecords JSON') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a DataSetRecordsDataSetRecordsItemRecords object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'metadata') and self.metadata is not None: _dict['metadata'] = self.metadata.to_dict() if hasattr(self, 'entity') and self.entity is not None: _dict['entity'] = self.entity.to_dict() return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this DataSetRecordsDataSetRecordsItemRecords object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'DataSetRecordsDataSetRecordsItemRecords') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'DataSetRecordsDataSetRecordsItemRecords') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class DataSetRecordsDataSetRecordsItemRecordsEntity(): """ DataSetRecordsDataSetRecordsItemRecordsEntity. :attr object values: Fields and values of the entity matches JSON object's fields and values. """ def __init__(self, values: object) -> None: """ Initialize a DataSetRecordsDataSetRecordsItemRecordsEntity object. :param object values: Fields and values of the entity matches JSON object's fields and values. """ self.values = values @classmethod def from_dict(cls, _dict: Dict) -> 'DataSetRecordsDataSetRecordsItemRecordsEntity': """Initialize a DataSetRecordsDataSetRecordsItemRecordsEntity object from a json dictionary.""" args = {} if 'values' in _dict: args['values'] = _dict.get('values') else: raise ValueError('Required property \'values\' not present in DataSetRecordsDataSetRecordsItemRecordsEntity JSON') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a DataSetRecordsDataSetRecordsItemRecordsEntity object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'values') and self.values is not None: _dict['values'] = self.values return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this DataSetRecordsDataSetRecordsItemRecordsEntity object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'DataSetRecordsDataSetRecordsItemRecordsEntity') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'DataSetRecordsDataSetRecordsItemRecordsEntity') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class DataSetResponse(): """ DataSetResponse. :attr Metadata metadata: :attr DataSetObject entity: """ def __init__(self, metadata: 'Metadata', entity: 'DataSetObject') -> None: """ Initialize a DataSetResponse object. :param Metadata metadata: :param DataSetObject entity: """ self.metadata = metadata self.entity = entity @classmethod def from_dict(cls, _dict: Dict) -> 'DataSetResponse': """Initialize a DataSetResponse object from a json dictionary.""" args = {} if 'metadata' in _dict: args['metadata'] = Metadata.from_dict(_dict.get('metadata')) else: raise ValueError('Required property \'metadata\' not present in DataSetResponse JSON') if 'entity' in _dict: args['entity'] = DataSetObject.from_dict(_dict.get('entity')) else: raise ValueError('Required property \'entity\' not present in DataSetResponse JSON') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a DataSetResponse object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'metadata') and self.metadata is not None: _dict['metadata'] = self.metadata.to_dict() if hasattr(self, 'entity') and self.entity is not None: _dict['entity'] = self.entity.to_dict() return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this DataSetResponse object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'DataSetResponse') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'DataSetResponse') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class DataSetResponseCollection(): """ DataSetResponseCollection. :attr List[DataSetResponse] data_sets: """ def __init__(self, data_sets: List['DataSetResponse']) -> None: """ Initialize a DataSetResponseCollection object. :param List[DataSetResponse] data_sets: """ self.data_sets = data_sets @classmethod def from_dict(cls, _dict: Dict) -> 'DataSetResponseCollection': """Initialize a DataSetResponseCollection object from a json dictionary.""" args = {} if 'data_sets' in _dict: args['data_sets'] = [DataSetResponse.from_dict(x) for x in _dict.get('data_sets')] else: raise ValueError('Required property \'data_sets\' not present in DataSetResponseCollection JSON') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a DataSetResponseCollection object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'data_sets') and self.data_sets is not None: _dict['data_sets'] = [x.to_dict() for x in self.data_sets] return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this DataSetResponseCollection object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'DataSetResponseCollection') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'DataSetResponseCollection') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class DataSource(): """ DataSource. :attr str type: (optional) Type of data source. e.g. payload, feedback, drift,explain. :attr DataSourceConnection connection: (optional) :attr str database_name: (optional) database name. :attr str schema_name: (optional) schema name. :attr str table_name: (optional) table name. :attr DataSourceEndpoint endpoint: (optional) :attr object parameters: (optional) Additional parameters. :attr bool auto_create: (optional) Set true for automatically creating the table. :attr DataSourceStatus status: (optional) """ def __init__(self, *, type: str = None, connection: 'DataSourceConnection' = None, database_name: str = None, schema_name: str = None, table_name: str = None, endpoint: 'DataSourceEndpoint' = None, parameters: object = None, auto_create: bool = None, status: 'DataSourceStatus' = None) -> None: """ Initialize a DataSource object. :param str type: (optional) Type of data source. e.g. payload, feedback, drift,explain. :param DataSourceConnection connection: (optional) :param str database_name: (optional) database name. :param str schema_name: (optional) schema name. :param str table_name: (optional) table name. :param DataSourceEndpoint endpoint: (optional) :param object parameters: (optional) Additional parameters. :param bool auto_create: (optional) Set true for automatically creating the table. :param DataSourceStatus status: (optional) """ self.type = type self.connection = connection self.database_name = database_name self.schema_name = schema_name self.table_name = table_name self.endpoint = endpoint self.parameters = parameters self.auto_create = auto_create self.status = status @classmethod def from_dict(cls, _dict: Dict) -> 'DataSource': """Initialize a DataSource object from a json dictionary.""" args = {} if 'type' in _dict: args['type'] = _dict.get('type') if 'connection' in _dict: args['connection'] = DataSourceConnection.from_dict(_dict.get('connection')) if 'database_name' in _dict: args['database_name'] = _dict.get('database_name') if 'schema_name' in _dict: args['schema_name'] = _dict.get('schema_name') if 'table_name' in _dict: args['table_name'] = _dict.get('table_name') if 'endpoint' in _dict: args['endpoint'] = DataSourceEndpoint.from_dict(_dict.get('endpoint')) if 'parameters' in _dict: args['parameters'] = _dict.get('parameters') if 'auto_create' in _dict: args['auto_create'] = _dict.get('auto_create') if 'status' in _dict: args['status'] = DataSourceStatus.from_dict(_dict.get('status')) return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a DataSource object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'type') and self.type is not None: _dict['type'] = self.type if hasattr(self, 'connection') and self.connection is not None: _dict['connection'] = self.connection.to_dict() if hasattr(self, 'database_name') and self.database_name is not None: _dict['database_name'] = self.database_name if hasattr(self, 'schema_name') and self.schema_name is not None: _dict['schema_name'] = self.schema_name if hasattr(self, 'table_name') and self.table_name is not None: _dict['table_name'] = self.table_name if hasattr(self, 'endpoint') and self.endpoint is not None: _dict['endpoint'] = self.endpoint.to_dict() if hasattr(self, 'parameters') and self.parameters is not None: _dict['parameters'] = self.parameters if hasattr(self, 'auto_create') and self.auto_create is not None: _dict['auto_create'] = self.auto_create if hasattr(self, 'status') and self.status is not None: _dict['status'] = self.status.to_dict() return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this DataSource object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'DataSource') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'DataSource') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class DataSourceConnection(): """ DataSourceConnection. :attr str type: (optional) Type of integrated system, e.g. hive, jdbc. :attr str integrated_system_id: (optional) id of the integrated system. :attr object parameters: (optional) Additional parameters. """ def __init__(self, *, type: str = None, integrated_system_id: str = None, parameters: object = None) -> None: """ Initialize a DataSourceConnection object. :param str type: (optional) Type of integrated system, e.g. hive, jdbc. :param str integrated_system_id: (optional) id of the integrated system. :param object parameters: (optional) Additional parameters. """ self.type = type self.integrated_system_id = integrated_system_id self.parameters = parameters @classmethod def from_dict(cls, _dict: Dict) -> 'DataSourceConnection': """Initialize a DataSourceConnection object from a json dictionary.""" args = {} if 'type' in _dict: args['type'] = _dict.get('type') if 'integrated_system_id' in _dict: args['integrated_system_id'] = _dict.get('integrated_system_id') if 'parameters' in _dict: args['parameters'] = _dict.get('parameters') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a DataSourceConnection object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'type') and self.type is not None: _dict['type'] = self.type if hasattr(self, 'integrated_system_id') and self.integrated_system_id is not None: _dict['integrated_system_id'] = self.integrated_system_id if hasattr(self, 'parameters') and self.parameters is not None: _dict['parameters'] = self.parameters return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this DataSourceConnection object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'DataSourceConnection') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'DataSourceConnection') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class DataSourceEndpoint(): """ DataSourceEndpoint. :attr str url: Url of the endpoint. :attr object credentials: (optional) Credentials for the endpoint. """ def __init__(self, url: str, *, credentials: object = None) -> None: """ Initialize a DataSourceEndpoint object. :param str url: Url of the endpoint. :param object credentials: (optional) Credentials for the endpoint. """ self.url = url self.credentials = credentials @classmethod def from_dict(cls, _dict: Dict) -> 'DataSourceEndpoint': """Initialize a DataSourceEndpoint object from a json dictionary.""" args = {} if 'url' in _dict: args['url'] = _dict.get('url') else: raise ValueError('Required property \'url\' not present in DataSourceEndpoint JSON') if 'credentials' in _dict: args['credentials'] = _dict.get('credentials') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a DataSourceEndpoint object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'url') and self.url is not None: _dict['url'] = self.url if hasattr(self, 'credentials') and self.credentials is not None: _dict['credentials'] = self.credentials return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this DataSourceEndpoint object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'DataSourceEndpoint') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'DataSourceEndpoint') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class DataSourceStatus(): """ DataSourceStatus. :attr str state: :attr GenericErrorResponse failure: (optional) """ def __init__(self, state: str, *, failure: 'GenericErrorResponse' = None) -> None: """ Initialize a DataSourceStatus object. :param str state: :param GenericErrorResponse failure: (optional) """ self.state = state self.failure = failure @classmethod def from_dict(cls, _dict: Dict) -> 'DataSourceStatus': """Initialize a DataSourceStatus object from a json dictionary.""" args = {} if 'state' in _dict: args['state'] = _dict.get('state') else: raise ValueError('Required property \'state\' not present in DataSourceStatus JSON') if 'failure' in _dict: args['failure'] = GenericErrorResponse.from_dict(_dict.get('failure')) return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a DataSourceStatus object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'state') and self.state is not None: _dict['state'] = self.state if hasattr(self, 'failure') and self.failure is not None: _dict['failure'] = self.failure.to_dict() return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this DataSourceStatus object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'DataSourceStatus') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'DataSourceStatus') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class StateEnum(str, Enum): """ state. """ NEW = 'new' PREPARING = 'preparing' ACTIVE = 'active' ERROR = 'error'
[docs] class DatabaseConfiguration(): """ Database configuration ignored if internal database is requested (`internal_database` is `true`). :attr str database_type: :attr str instance_id: (optional) :attr str name: (optional) :attr SecretCleaned credentials: :attr LocationSchemaName location: (optional) """ def __init__(self, database_type: str, credentials: 'SecretCleaned', *, instance_id: str = None, name: str = None, location: 'LocationSchemaName' = None) -> None: """ Initialize a DatabaseConfiguration object. :param str database_type: :param SecretCleaned credentials: :param str instance_id: (optional) :param str name: (optional) :param LocationSchemaName location: (optional) """ self.database_type = database_type self.instance_id = instance_id self.name = name self.credentials = credentials self.location = location @classmethod def from_dict(cls, _dict: Dict) -> 'DatabaseConfiguration': """Initialize a DatabaseConfiguration object from a json dictionary.""" args = {} if 'database_type' in _dict: args['database_type'] = _dict.get('database_type') else: raise ValueError('Required property \'database_type\' not present in DatabaseConfiguration JSON') if 'instance_id' in _dict: args['instance_id'] = _dict.get('instance_id') if 'name' in _dict: args['name'] = _dict.get('name') if 'credentials' in _dict: args['credentials'] = SecretCleaned.from_dict(_dict.get('credentials')) else: raise ValueError('Required property \'credentials\' not present in DatabaseConfiguration JSON') if 'location' in _dict: args['location'] = LocationSchemaName.from_dict(_dict.get('location')) return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a DatabaseConfiguration object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'database_type') and self.database_type is not None: _dict['database_type'] = self.database_type if hasattr(self, 'instance_id') and self.instance_id is not None: _dict['instance_id'] = self.instance_id if hasattr(self, 'name') and self.name is not None: _dict['name'] = self.name if hasattr(self, 'credentials') and self.credentials is not None: _dict['credentials'] = self.credentials.to_dict() if hasattr(self, 'location') and self.location is not None: _dict['location'] = self.location.to_dict() return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this DatabaseConfiguration object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'DatabaseConfiguration') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'DatabaseConfiguration') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other
[docs] class DatabaseTypeEnum(str, Enum): """ database_type. """ POSTGRESQL = 'postgresql' DB2 = 'db2'
class DatabaseConfigurationRequest(): """ Database configuration ignored if internal database is requested (`internal_database` is `true`). :attr str database_type: :attr str name: (optional) :attr str instance_id: (optional) :attr PrimaryStorageCredentials credentials: :attr LocationSchemaName location: (optional) """ def __init__(self, database_type: str, credentials: 'PrimaryStorageCredentials', *, name: str = None, instance_id: str = None, location: 'LocationSchemaName' = None) -> None: """ Initialize a DatabaseConfigurationRequest object. :param str database_type: :param PrimaryStorageCredentials credentials: :param str name: (optional) :param str instance_id: (optional) :param LocationSchemaName location: (optional) """ self.database_type = database_type self.name = name self.instance_id = instance_id self.credentials = credentials self.location = location @classmethod def from_dict(cls, _dict: Dict) -> 'DatabaseConfigurationRequest': """Initialize a DatabaseConfigurationRequest object from a json dictionary.""" args = {} if 'database_type' in _dict: args['database_type'] = _dict.get('database_type') else: raise ValueError('Required property \'database_type\' not present in DatabaseConfigurationRequest JSON') if 'name' in _dict: args['name'] = _dict.get('name') if 'instance_id' in _dict: args['instance_id'] = _dict.get('instance_id') if 'credentials' in _dict: args['credentials'] = _dict.get('credentials') else: raise ValueError('Required property \'credentials\' not present in DatabaseConfigurationRequest JSON') if 'location' in _dict: args['location'] = LocationSchemaName.from_dict(_dict.get('location')) return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a DatabaseConfigurationRequest object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'database_type') and self.database_type is not None: _dict['database_type'] = self.database_type if hasattr(self, 'name') and self.name is not None: _dict['name'] = self.name if hasattr(self, 'instance_id') and self.instance_id is not None: _dict['instance_id'] = self.instance_id if hasattr(self, 'credentials') and self.credentials is not None: if isinstance(self.credentials, dict): _dict['credentials'] = self.credentials else: _dict['credentials'] = self.credentials.to_dict() if hasattr(self, 'location') and self.location is not None: _dict['location'] = self.location.to_dict() return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this DatabaseConfigurationRequest object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'DatabaseConfigurationRequest') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'DatabaseConfigurationRequest') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class DatabaseTypeEnum(str, Enum): """ database_type. """ POSTGRESQL = 'postgresql' DB2 = 'db2' class Detector(): """ A detector (either built-in or custom). :attr str name: Name of the detector. :attr str description: (optional) Description of what the detector does. :attr bool is_text: (optional) Whether the detector accepts text properties. :attr bool is_number: (optional) Whether the detector accepts number properties. :attr bool is_multi_line: (optional) Whether the detector accepts multi-line text. :attr float min_number_value: (optional) Minimum value for number properties. :attr float max_number_value: (optional) Maximum value for number properties. :attr str property_text_name: (optional) Name of the text property field. :attr str property_number_name: (optional) Name of the number property field. :attr str id: (optional) Unique identifier (only for custom detectors). :attr str inventory_id: (optional) CAMS inventory ID (only for custom detectors). :attr str url: (optional) URL endpoint (only for custom detectors). :attr List[str] actions: List of supported actions (only for custom detectors). :attr dict metadata: (optional) Additional metadata (only for custom detectors). :attr List[DetectorProperty] detector_properties: Configurable properties for the detector. :attr List[DetectorParameter] parameters: Parameters that can be passed to the detector (only for custom detectors). :attr datetime created_at: (optional) Timestamp when the detector was created. :attr datetime modified_at: (optional) Timestamp when the detector was last modified. :attr DetectorStatus status: (optional) Status information for the detector. """ def __init__(self, name: str, actions: List[str], detector_properties: List['DetectorProperty'], parameters: List['DetectorParameter'], *, description: str = None, is_text: bool = None, is_number: bool = None, is_multi_line: bool = None, min_number_value: float = None, max_number_value: float = None, property_text_name: str = None, property_number_name: str = None, id: str = None, inventory_id: str = None, url: str = None, metadata: dict = None, created_at: datetime = None, modified_at: datetime = None, status: 'DetectorStatus' = None) -> None: """ Initialize a Detector object. :param str name: Name of the detector. :param List[str] actions: List of supported actions (only for custom detectors). :param List[DetectorProperty] detector_properties: Configurable properties for the detector. :param List[DetectorParameter] parameters: Parameters that can be passed to the detector (only for custom detectors). :param str description: (optional) Description of what the detector does. :param bool is_text: (optional) Whether the detector accepts text properties. :param bool is_number: (optional) Whether the detector accepts number properties. :param bool is_multi_line: (optional) Whether the detector accepts multi-line text. :param float min_number_value: (optional) Minimum value for number properties. :param float max_number_value: (optional) Maximum value for number properties. :param str property_text_name: (optional) Name of the text property field. :param str property_number_name: (optional) Name of the number property field. :param str id: (optional) Unique identifier (only for custom detectors). :param str inventory_id: (optional) CAMS inventory ID (only for custom detectors). :param str url: (optional) URL endpoint (only for custom detectors). :param dict metadata: (optional) Additional metadata (only for custom detectors). :param datetime created_at: (optional) Timestamp when the detector was created. :param datetime modified_at: (optional) Timestamp when the detector was last modified. :param DetectorStatus status: (optional) Status information for the detector. """ self.name = name self.description = description self.is_text = is_text self.is_number = is_number self.is_multi_line = is_multi_line self.min_number_value = min_number_value self.max_number_value = max_number_value self.property_text_name = property_text_name self.property_number_name = property_number_name self.id = id self.inventory_id = inventory_id self.url = url self.actions = actions self.metadata = metadata self.detector_properties = detector_properties self.parameters = parameters self.created_at = created_at self.modified_at = modified_at self.status = status @classmethod def from_dict(cls, _dict: Dict) -> 'Detector': """Initialize a Detector object from a json dictionary.""" args = {} if 'name' in _dict: args['name'] = _dict.get('name') else: raise ValueError('Required property \'name\' not present in Detector JSON') if 'description' in _dict: args['description'] = _dict.get('description') if 'is_text' in _dict: args['is_text'] = _dict.get('is_text') if 'is_number' in _dict: args['is_number'] = _dict.get('is_number') if 'is_multi_line' in _dict: args['is_multi_line'] = _dict.get('is_multi_line') if 'min_number_value' in _dict: args['min_number_value'] = _dict.get('min_number_value') if 'max_number_value' in _dict: args['max_number_value'] = _dict.get('max_number_value') if 'property_text_name' in _dict: args['property_text_name'] = _dict.get('property_text_name') if 'property_number_name' in _dict: args['property_number_name'] = _dict.get('property_number_name') if 'id' in _dict: args['id'] = _dict.get('id') if 'inventory_id' in _dict: args['inventory_id'] = _dict.get('inventory_id') if 'url' in _dict: args['url'] = _dict.get('url') if 'actions' in _dict: args['actions'] = _dict.get('actions') else: raise ValueError('Required property \'actions\' not present in Detector JSON') if 'metadata' in _dict: args['metadata'] = _dict.get('metadata') if 'detector_properties' in _dict: args['detector_properties'] = [DetectorProperty.from_dict(x) for x in _dict.get('detector_properties')] else: raise ValueError('Required property \'detector_properties\' not present in Detector JSON') if 'parameters' in _dict: args['parameters'] = [DetectorParameter.from_dict(x) for x in _dict.get('parameters')] else: raise ValueError('Required property \'parameters\' not present in Detector JSON') if 'created_at' in _dict: args['created_at'] = string_to_datetime(_dict.get('created_at')) if 'modified_at' in _dict: args['modified_at'] = string_to_datetime(_dict.get('modified_at')) if 'status' in _dict: args['status'] = DetectorStatus.from_dict(_dict.get('status')) return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a Detector object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'name') and self.name is not None: _dict['name'] = self.name if hasattr(self, 'description') and self.description is not None: _dict['description'] = self.description if hasattr(self, 'is_text') and self.is_text is not None: _dict['is_text'] = self.is_text if hasattr(self, 'is_number') and self.is_number is not None: _dict['is_number'] = self.is_number if hasattr(self, 'is_multi_line') and self.is_multi_line is not None: _dict['is_multi_line'] = self.is_multi_line if hasattr(self, 'min_number_value') and self.min_number_value is not None: _dict['min_number_value'] = self.min_number_value if hasattr(self, 'max_number_value') and self.max_number_value is not None: _dict['max_number_value'] = self.max_number_value if hasattr(self, 'property_text_name') and self.property_text_name is not None: _dict['property_text_name'] = self.property_text_name if hasattr(self, 'property_number_name') and self.property_number_name is not None: _dict['property_number_name'] = self.property_number_name if hasattr(self, 'id') and self.id is not None: _dict['id'] = self.id if hasattr(self, 'inventory_id') and self.inventory_id is not None: _dict['inventory_id'] = self.inventory_id if hasattr(self, 'url') and self.url is not None: _dict['url'] = self.url if hasattr(self, 'actions') and self.actions is not None: _dict['actions'] = self.actions if hasattr(self, 'metadata') and self.metadata is not None: _dict['metadata'] = self.metadata if hasattr(self, 'detector_properties') and self.detector_properties is not None: _dict['detector_properties'] = [x.to_dict() for x in self.detector_properties] if hasattr(self, 'parameters') and self.parameters is not None: _dict['parameters'] = [x.to_dict() for x in self.parameters] if hasattr(self, 'created_at') and self.created_at is not None: _dict['created_at'] = datetime_to_string(self.created_at) if hasattr(self, 'modified_at') and self.modified_at is not None: _dict['modified_at'] = datetime_to_string(self.modified_at) if hasattr(self, 'status') and self.status is not None: _dict['status'] = self.status.to_dict() return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this Detector object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'Detector') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'Detector') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class DetectorParameter(): """ A parameter that can be passed to a detector. :attr str name: Name of the parameter. :attr bool is_optional: (optional) Whether the parameter is optional. """ def __init__(self, name: str, *, is_optional: bool = None) -> None: """ Initialize a DetectorParameter object. :param str name: Name of the parameter. :param bool is_optional: (optional) Whether the parameter is optional. """ self.name = name self.is_optional = is_optional @classmethod def from_dict(cls, _dict: Dict) -> 'DetectorParameter': """Initialize a DetectorParameter object from a json dictionary.""" args = {} if 'name' in _dict: args['name'] = _dict.get('name') else: raise ValueError('Required property \'name\' not present in DetectorParameter JSON') if 'is_optional' in _dict: args['is_optional'] = _dict.get('is_optional') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a DetectorParameter object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'name') and self.name is not None: _dict['name'] = self.name if hasattr(self, 'is_optional') and self.is_optional is not None: _dict['is_optional'] = self.is_optional return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this DetectorParameter object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'DetectorParameter') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'DetectorParameter') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class DetectorProperty(): """ A configurable property for a detector. :attr str name: Name of the property. :attr str type: Data type of the property. :attr float min: (optional) Minimum value (optional, for number type). :attr float max: (optional) Maximum value (optional, for number type). :attr DetectorPropertyDefaultValue default_value: (optional) Default value for the property (optional, type depends on property type). """ def __init__(self, name: str, type: str, *, min: float = None, max: float = None, default_value: 'DetectorPropertyDefaultValue' = None) -> None: """ Initialize a DetectorProperty object. :param str name: Name of the property. :param str type: Data type of the property. :param float min: (optional) Minimum value (optional, for number type). :param float max: (optional) Maximum value (optional, for number type). :param DetectorPropertyDefaultValue default_value: (optional) Default value for the property (optional, type depends on property type). """ self.name = name self.type = type self.min = min self.max = max self.default_value = default_value @classmethod def from_dict(cls, _dict: Dict) -> 'DetectorProperty': """Initialize a DetectorProperty object from a json dictionary.""" args = {} if 'name' in _dict: args['name'] = _dict.get('name') else: raise ValueError('Required property \'name\' not present in DetectorProperty JSON') if 'type' in _dict: args['type'] = _dict.get('type') else: raise ValueError('Required property \'type\' not present in DetectorProperty JSON') if 'min' in _dict: args['min'] = _dict.get('min') if 'max' in _dict: args['max'] = _dict.get('max') if 'default_value' in _dict: args['default_value'] = _dict.get('default_value') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a DetectorProperty object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'name') and self.name is not None: _dict['name'] = self.name if hasattr(self, 'type') and self.type is not None: _dict['type'] = self.type if hasattr(self, 'min') and self.min is not None: _dict['min'] = self.min if hasattr(self, 'max') and self.max is not None: _dict['max'] = self.max if hasattr(self, 'default_value') and self.default_value is not None: if isinstance(self.default_value, dict): _dict['default_value'] = self.default_value else: _dict['default_value'] = self.default_value.to_dict() return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this DetectorProperty object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'DetectorProperty') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'DetectorProperty') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class TypeEnum(str, Enum): """ Data type of the property. """ NUMBER = 'number' BOOL = 'bool' TEXT = 'text' class DetectorResponse(): """ Response wrapper for detector operations. :attr Detector entity: A detector (either built-in or custom). :attr DetectorResponseMetadata metadata: Metadata about the response. """ def __init__(self, entity: 'Detector', metadata: 'DetectorResponseMetadata') -> None: """ Initialize a DetectorResponse object. :param Detector entity: A detector (either built-in or custom). :param DetectorResponseMetadata metadata: Metadata about the response. """ self.entity = entity self.metadata = metadata @classmethod def from_dict(cls, _dict: Dict) -> 'DetectorResponse': """Initialize a DetectorResponse object from a json dictionary.""" args = {} if 'entity' in _dict: args['entity'] = Detector.from_dict(_dict.get('entity')) else: raise ValueError('Required property \'entity\' not present in DetectorResponse JSON') if 'metadata' in _dict: args['metadata'] = DetectorResponseMetadata.from_dict(_dict.get('metadata')) else: raise ValueError('Required property \'metadata\' not present in DetectorResponse JSON') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a DetectorResponse object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'entity') and self.entity is not None: _dict['entity'] = self.entity.to_dict() if hasattr(self, 'metadata') and self.metadata is not None: _dict['metadata'] = self.metadata.to_dict() return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this DetectorResponse object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'DetectorResponse') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'DetectorResponse') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class DetectorResponseMetadata(): """ Metadata about the response. :attr str id: (optional) ID of the detector. :attr datetime created_at: (optional) Creation timestamp. """ def __init__(self, *, id: str = None, created_at: datetime = None) -> None: """ Initialize a DetectorResponseMetadata object. :param str id: (optional) ID of the detector. :param datetime created_at: (optional) Creation timestamp. """ self.id = id self.created_at = created_at @classmethod def from_dict(cls, _dict: Dict) -> 'DetectorResponseMetadata': """Initialize a DetectorResponseMetadata object from a json dictionary.""" args = {} if 'id' in _dict: args['id'] = _dict.get('id') if 'created_at' in _dict: args['created_at'] = string_to_datetime(_dict.get('created_at')) return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a DetectorResponseMetadata object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'id') and self.id is not None: _dict['id'] = self.id if hasattr(self, 'created_at') and self.created_at is not None: _dict['created_at'] = datetime_to_string(self.created_at) return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this DetectorResponseMetadata object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'DetectorResponseMetadata') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'DetectorResponseMetadata') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class DetectorStatus(): """ Status information for the detector. :attr str state: (optional) Current state of the detector. """ def __init__(self, *, state: str = None) -> None: """ Initialize a DetectorStatus object. :param str state: (optional) Current state of the detector. """ self.state = state @classmethod def from_dict(cls, _dict: Dict) -> 'DetectorStatus': """Initialize a DetectorStatus object from a json dictionary.""" args = {} if 'state' in _dict: args['state'] = _dict.get('state') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a DetectorStatus object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'state') and self.state is not None: _dict['state'] = self.state return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this DetectorStatus object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'DetectorStatus') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'DetectorStatus') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class EmbeddingsProvider(): """ EmbeddingsProvider. :attr str integrated_system_id: The ID (typically a UUID v4) which uniquely identifies the resource. """ def __init__(self, integrated_system_id: str) -> None: """ Initialize a EmbeddingsProvider object. :param str integrated_system_id: The ID (typically a UUID v4) which uniquely identifies the resource. """ self.integrated_system_id = integrated_system_id @classmethod def from_dict(cls, _dict: Dict) -> 'EmbeddingsProvider': """Initialize a EmbeddingsProvider object from a json dictionary.""" args = {} if 'integrated_system_id' in _dict: args['integrated_system_id'] = _dict.get('integrated_system_id') else: raise ValueError('Required property \'integrated_system_id\' not present in EmbeddingsProvider JSON') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a EmbeddingsProvider object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'integrated_system_id') and self.integrated_system_id is not None: _dict['integrated_system_id'] = self.integrated_system_id return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this EmbeddingsProvider object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'EmbeddingsProvider') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'EmbeddingsProvider') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class EnforceResponse(): """ Response wrapper for policy enforcement. :attr EnforceResponseEntity entity: Entity containing the enforcement results. :attr EnforceResponseMetadata metadata: Metadata about the enforcement. """ def __init__(self, entity: 'EnforceResponseEntity', metadata: 'EnforceResponseMetadata') -> None: """ Initialize a EnforceResponse object. :param EnforceResponseEntity entity: Entity containing the enforcement results. :param EnforceResponseMetadata metadata: Metadata about the enforcement. """ self.entity = entity self.metadata = metadata @classmethod def from_dict(cls, _dict: Dict) -> 'EnforceResponse': """Initialize a EnforceResponse object from a json dictionary.""" args = {} if 'entity' in _dict: args['entity'] = EnforceResponseEntity.from_dict(_dict.get('entity')) else: raise ValueError('Required property \'entity\' not present in EnforceResponse JSON') if 'metadata' in _dict: args['metadata'] = EnforceResponseMetadata.from_dict(_dict.get('metadata')) else: raise ValueError('Required property \'metadata\' not present in EnforceResponse JSON') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a EnforceResponse object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'entity') and self.entity is not None: _dict['entity'] = self.entity.to_dict() if hasattr(self, 'metadata') and self.metadata is not None: _dict['metadata'] = self.metadata.to_dict() return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this EnforceResponse object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'EnforceResponse') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'EnforceResponse') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class EnforceResponseEntity(): """ Entity containing the enforcement results. :attr str text: (optional) The processed text (may be modified if masking action was applied). :attr ExecutionStatus status: (optional) Detailed status information about the execution. """ def __init__(self, *, text: str = None, status: 'ExecutionStatus' = None) -> None: """ Initialize a EnforceResponseEntity object. :param str text: (optional) The processed text (may be modified if masking action was applied). :param ExecutionStatus status: (optional) Detailed status information about the execution. """ self.text = text self.status = status @classmethod def from_dict(cls, _dict: Dict) -> 'EnforceResponseEntity': """Initialize a EnforceResponseEntity object from a json dictionary.""" args = {} if 'text' in _dict: args['text'] = _dict.get('text') if 'status' in _dict: args['status'] = ExecutionStatus.from_dict(_dict.get('status')) return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a EnforceResponseEntity object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'text') and self.text is not None: _dict['text'] = self.text if hasattr(self, 'status') and self.status is not None: _dict['status'] = self.status.to_dict() return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this EnforceResponseEntity object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'EnforceResponseEntity') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'EnforceResponseEntity') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class EnforceResponseMetadata(): """ Metadata about the enforcement. :attr str id: ID of the policy that was enforced. """ def __init__(self, id: str) -> None: """ Initialize a EnforceResponseMetadata object. :param str id: ID of the policy that was enforced. """ self.id = id @classmethod def from_dict(cls, _dict: Dict) -> 'EnforceResponseMetadata': """Initialize a EnforceResponseMetadata object from a json dictionary.""" args = {} if 'id' in _dict: args['id'] = _dict.get('id') else: raise ValueError('Required property \'id\' not present in EnforceResponseMetadata JSON') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a EnforceResponseMetadata object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'id') and self.id is not None: _dict['id'] = self.id return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this EnforceResponseMetadata object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'EnforceResponseMetadata') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'EnforceResponseMetadata') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class ExecutionStatus(): """ Detailed status information about the execution. :attr str overall: Overall execution status. :attr ExecutionStatusSummary summary: Summary of detector execution results. :attr ExecutionStatusDetails details: Detailed information about detector execution. """ def __init__(self, overall: str, summary: 'ExecutionStatusSummary', details: 'ExecutionStatusDetails') -> None: """ Initialize a ExecutionStatus object. :param str overall: Overall execution status. :param ExecutionStatusSummary summary: Summary of detector execution results. :param ExecutionStatusDetails details: Detailed information about detector execution. """ self.overall = overall self.summary = summary self.details = details @classmethod def from_dict(cls, _dict: Dict) -> 'ExecutionStatus': """Initialize a ExecutionStatus object from a json dictionary.""" args = {} if 'overall' in _dict: args['overall'] = _dict.get('overall') else: raise ValueError('Required property \'overall\' not present in ExecutionStatus JSON') if 'summary' in _dict: args['summary'] = ExecutionStatusSummary.from_dict(_dict.get('summary')) else: raise ValueError('Required property \'summary\' not present in ExecutionStatus JSON') if 'details' in _dict: args['details'] = ExecutionStatusDetails.from_dict(_dict.get('details')) else: raise ValueError('Required property \'details\' not present in ExecutionStatus JSON') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a ExecutionStatus object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'overall') and self.overall is not None: _dict['overall'] = self.overall if hasattr(self, 'summary') and self.summary is not None: _dict['summary'] = self.summary.to_dict() if hasattr(self, 'details') and self.details is not None: _dict['details'] = self.details.to_dict() return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this ExecutionStatus object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'ExecutionStatus') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'ExecutionStatus') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class ExecutionStatusDetails(): """ Detailed information about detector execution. :attr List[str] failed_detectors: List of detector names that failed. :attr List[str] succeeded_with_retry: List of detector names that succeeded after retry. """ def __init__(self, failed_detectors: List[str], succeeded_with_retry: List[str]) -> None: """ Initialize a ExecutionStatusDetails object. :param List[str] failed_detectors: List of detector names that failed. :param List[str] succeeded_with_retry: List of detector names that succeeded after retry. """ self.failed_detectors = failed_detectors self.succeeded_with_retry = succeeded_with_retry @classmethod def from_dict(cls, _dict: Dict) -> 'ExecutionStatusDetails': """Initialize a ExecutionStatusDetails object from a json dictionary.""" args = {} if 'failed_detectors' in _dict: args['failed_detectors'] = _dict.get('failed_detectors') else: raise ValueError('Required property \'failed_detectors\' not present in ExecutionStatusDetails JSON') if 'succeeded_with_retry' in _dict: args['succeeded_with_retry'] = _dict.get('succeeded_with_retry') else: raise ValueError('Required property \'succeeded_with_retry\' not present in ExecutionStatusDetails JSON') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a ExecutionStatusDetails object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'failed_detectors') and self.failed_detectors is not None: _dict['failed_detectors'] = self.failed_detectors if hasattr(self, 'succeeded_with_retry') and self.succeeded_with_retry is not None: _dict['succeeded_with_retry'] = self.succeeded_with_retry return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this ExecutionStatusDetails object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'ExecutionStatusDetails') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'ExecutionStatusDetails') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class ExecutionStatusSummary(): """ Summary of detector execution results. :attr int total_detectors: Total number of detectors executed. :attr int succeeded: Number of detectors that succeeded. :attr int failed: Number of detectors that failed. :attr int succeeded_without_retry: Number of detectors that succeeded on first attempt. :attr int succeeded_with_retry: Number of detectors that succeeded after retry. """ def __init__(self, total_detectors: int, succeeded: int, failed: int, succeeded_without_retry: int, succeeded_with_retry: int) -> None: """ Initialize a ExecutionStatusSummary object. :param int total_detectors: Total number of detectors executed. :param int succeeded: Number of detectors that succeeded. :param int failed: Number of detectors that failed. :param int succeeded_without_retry: Number of detectors that succeeded on first attempt. :param int succeeded_with_retry: Number of detectors that succeeded after retry. """ self.total_detectors = total_detectors self.succeeded = succeeded self.failed = failed self.succeeded_without_retry = succeeded_without_retry self.succeeded_with_retry = succeeded_with_retry @classmethod def from_dict(cls, _dict: Dict) -> 'ExecutionStatusSummary': """Initialize a ExecutionStatusSummary object from a json dictionary.""" args = {} if 'total_detectors' in _dict: args['total_detectors'] = _dict.get('total_detectors') else: raise ValueError('Required property \'total_detectors\' not present in ExecutionStatusSummary JSON') if 'succeeded' in _dict: args['succeeded'] = _dict.get('succeeded') else: raise ValueError('Required property \'succeeded\' not present in ExecutionStatusSummary JSON') if 'failed' in _dict: args['failed'] = _dict.get('failed') else: raise ValueError('Required property \'failed\' not present in ExecutionStatusSummary JSON') if 'succeeded_without_retry' in _dict: args['succeeded_without_retry'] = _dict.get('succeeded_without_retry') else: raise ValueError('Required property \'succeeded_without_retry\' not present in ExecutionStatusSummary JSON') if 'succeeded_with_retry' in _dict: args['succeeded_with_retry'] = _dict.get('succeeded_with_retry') else: raise ValueError('Required property \'succeeded_with_retry\' not present in ExecutionStatusSummary JSON') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a ExecutionStatusSummary object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'total_detectors') and self.total_detectors is not None: _dict['total_detectors'] = self.total_detectors if hasattr(self, 'succeeded') and self.succeeded is not None: _dict['succeeded'] = self.succeeded if hasattr(self, 'failed') and self.failed is not None: _dict['failed'] = self.failed if hasattr(self, 'succeeded_without_retry') and self.succeeded_without_retry is not None: _dict['succeeded_without_retry'] = self.succeeded_without_retry if hasattr(self, 'succeeded_with_retry') and self.succeeded_with_retry is not None: _dict['succeeded_with_retry'] = self.succeeded_with_retry return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this ExecutionStatusSummary object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'ExecutionStatusSummary') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'ExecutionStatusSummary') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class ExplanationError(): """ Explanation error details. :attr str explanation_type: (optional) Type of explanation. :attr ExplanationErrorError error: (optional) The error message details. :attr str trace_id: (optional) ID used to track the explanation task via logs. """ def __init__(self, *, explanation_type: str = None, error: 'ExplanationErrorError' = None, trace_id: str = None) -> None: """ Initialize a ExplanationError object. :param str explanation_type: (optional) Type of explanation. :param ExplanationErrorError error: (optional) The error message details. :param str trace_id: (optional) ID used to track the explanation task via logs. """ self.explanation_type = explanation_type self.error = error self.trace_id = trace_id @classmethod def from_dict(cls, _dict: Dict) -> 'ExplanationError': """Initialize a ExplanationError object from a json dictionary.""" args = {} if 'explanation_type' in _dict: args['explanation_type'] = _dict.get('explanation_type') if 'error' in _dict: args['error'] = ExplanationErrorError.from_dict(_dict.get('error')) if 'trace_id' in _dict: args['trace_id'] = _dict.get('trace_id') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a ExplanationError object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'explanation_type') and self.explanation_type is not None: _dict['explanation_type'] = self.explanation_type if hasattr(self, 'error') and self.error is not None: _dict['error'] = self.error.to_dict() if hasattr(self, 'trace_id') and self.trace_id is not None: _dict['trace_id'] = self.trace_id return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this ExplanationError object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'ExplanationError') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'ExplanationError') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class ExplanationErrorError(): """ The error message details. :attr str code: (optional) Error code. :attr str message: (optional) Error message. """ def __init__(self, *, code: str = None, message: str = None) -> None: """ Initialize a ExplanationErrorError object. :param str code: (optional) Error code. :param str message: (optional) Error message. """ self.code = code self.message = message @classmethod def from_dict(cls, _dict: Dict) -> 'ExplanationErrorError': """Initialize a ExplanationErrorError object from a json dictionary.""" args = {} if 'code' in _dict: args['code'] = _dict.get('code') if 'message' in _dict: args['message'] = _dict.get('message') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a ExplanationErrorError object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'code') and self.code is not None: _dict['code'] = self.code if hasattr(self, 'message') and self.message is not None: _dict['message'] = self.message return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this ExplanationErrorError object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'ExplanationErrorError') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'ExplanationErrorError') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class ExplanationTaskResponseEntityAsset(): """ Asset details in get explanation task response. :attr str id: (optional) Identifier for the asset. :attr str name: (optional) Name of the asset. :attr str input_data_type: (optional) Type of the input data. :attr str problem_type: (optional) Problem type. :attr ExplanationTaskResponseEntityAssetDeployment deployment: (optional) Asset deployment details. """ def __init__(self, *, id: str = None, name: str = None, input_data_type: str = None, problem_type: str = None, deployment: 'ExplanationTaskResponseEntityAssetDeployment' = None) -> None: """ Initialize a ExplanationTaskResponseEntityAsset object. :param str id: (optional) Identifier for the asset. :param str name: (optional) Name of the asset. :param str input_data_type: (optional) Type of the input data. :param str problem_type: (optional) Problem type. :param ExplanationTaskResponseEntityAssetDeployment deployment: (optional) Asset deployment details. """ self.id = id self.name = name self.input_data_type = input_data_type self.problem_type = problem_type self.deployment = deployment @classmethod def from_dict(cls, _dict: Dict) -> 'ExplanationTaskResponseEntityAsset': """Initialize a ExplanationTaskResponseEntityAsset object from a json dictionary.""" args = {} if 'id' in _dict: args['id'] = _dict.get('id') if 'name' in _dict: args['name'] = _dict.get('name') if 'input_data_type' in _dict: args['input_data_type'] = _dict.get('input_data_type') if 'problem_type' in _dict: args['problem_type'] = _dict.get('problem_type') if 'deployment' in _dict: args['deployment'] = ExplanationTaskResponseEntityAssetDeployment.from_dict(_dict.get('deployment')) return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a ExplanationTaskResponseEntityAsset object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'id') and self.id is not None: _dict['id'] = self.id if hasattr(self, 'name') and self.name is not None: _dict['name'] = self.name if hasattr(self, 'input_data_type') and self.input_data_type is not None: _dict['input_data_type'] = self.input_data_type if hasattr(self, 'problem_type') and self.problem_type is not None: _dict['problem_type'] = self.problem_type if hasattr(self, 'deployment') and self.deployment is not None: _dict['deployment'] = self.deployment.to_dict() return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this ExplanationTaskResponseEntityAsset object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'ExplanationTaskResponseEntityAsset') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'ExplanationTaskResponseEntityAsset') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class InputDataTypeEnum(str, Enum): """ Type of the input data. """ STRUCTURED = 'structured' UNSTRUCTURED_IMAGE = 'unstructured_image' UNSTRUCTURED_TEXT = 'unstructured_text' class ProblemTypeEnum(str, Enum): """ Problem type. """ BINARY = 'binary' REGRESSION = 'regression' MULTICLASS = 'multiclass' QUESTION_ANSWERING = 'question_answering' SUMMARIZATION = 'summarization' RETRIEVAL_AUGMENTED_GENERATION = 'retrieval_augmented_generation' CLASSIFICATION = 'classification' GENERATION = 'generation' CODE = 'code' EXTRACTION = 'extraction' class ExplanationTaskResponseEntityAssetDeployment(): """ Asset deployment details. :attr str id: (optional) Identifier for the asset deployment. :attr str name: (optional) Name of the asset deployment. """ def __init__(self, *, id: str = None, name: str = None) -> None: """ Initialize a ExplanationTaskResponseEntityAssetDeployment object. :param str id: (optional) Identifier for the asset deployment. :param str name: (optional) Name of the asset deployment. """ self.id = id self.name = name @classmethod def from_dict(cls, _dict: Dict) -> 'ExplanationTaskResponseEntityAssetDeployment': """Initialize a ExplanationTaskResponseEntityAssetDeployment object from a json dictionary.""" args = {} if 'id' in _dict: args['id'] = _dict.get('id') if 'name' in _dict: args['name'] = _dict.get('name') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a ExplanationTaskResponseEntityAssetDeployment object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'id') and self.id is not None: _dict['id'] = self.id if hasattr(self, 'name') and self.name is not None: _dict['name'] = self.name return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this ExplanationTaskResponseEntityAssetDeployment object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'ExplanationTaskResponseEntityAssetDeployment') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'ExplanationTaskResponseEntityAssetDeployment') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class ExplanationTaskResponseEntityInputFeature(): """ Input feature details in get explanation task response. :attr str name: (optional) Name of the feature column. :attr str value: (optional) Value of the feature column. :attr str feature_type: (optional) Identifies the type of feature column. """ def __init__(self, *, name: str = None, value: str = None, feature_type: str = None) -> None: """ Initialize a ExplanationTaskResponseEntityInputFeature object. :param str name: (optional) Name of the feature column. :param str value: (optional) Value of the feature column. :param str feature_type: (optional) Identifies the type of feature column. """ self.name = name self.value = value self.feature_type = feature_type @classmethod def from_dict(cls, _dict: Dict) -> 'ExplanationTaskResponseEntityInputFeature': """Initialize a ExplanationTaskResponseEntityInputFeature object from a json dictionary.""" args = {} if 'name' in _dict: args['name'] = _dict.get('name') if 'value' in _dict: args['value'] = _dict.get('value') if 'feature_type' in _dict: args['feature_type'] = _dict.get('feature_type') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a ExplanationTaskResponseEntityInputFeature object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'name') and self.name is not None: _dict['name'] = self.name if hasattr(self, 'value') and self.value is not None: _dict['value'] = self.value if hasattr(self, 'feature_type') and self.feature_type is not None: _dict['feature_type'] = self.feature_type return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this ExplanationTaskResponseEntityInputFeature object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'ExplanationTaskResponseEntityInputFeature') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'ExplanationTaskResponseEntityInputFeature') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class FeatureTypeEnum(str, Enum): """ Identifies the type of feature column. """ NUMERICAL = 'numerical' CATEGORICAL = 'categorical' class FairnessMonitoringRemediation(): """ FairnessMonitoringRemediation. :attr List[str] fields: The fields of the model processed debias scoring. :attr List[object] values: The values associated to the fields. """ def __init__(self, fields: List[str], values: List[object]) -> None: """ Initialize a FairnessMonitoringRemediation object. :param List[str] fields: The fields of the model processed debias scoring. :param List[object] values: The values associated to the fields. """ self.fields = fields self.values = values @classmethod def from_dict(cls, _dict: Dict) -> 'FairnessMonitoringRemediation': """Initialize a FairnessMonitoringRemediation object from a json dictionary.""" args = {} if 'fields' in _dict: args['fields'] = _dict.get('fields') else: raise ValueError('Required property \'fields\' not present in FairnessMonitoringRemediation JSON') if 'values' in _dict: args['values'] = _dict.get('values') else: raise ValueError('Required property \'values\' not present in FairnessMonitoringRemediation JSON') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a FairnessMonitoringRemediation object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'fields') and self.fields is not None: _dict['fields'] = self.fields if hasattr(self, 'values') and self.values is not None: _dict['values'] = self.values return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this FairnessMonitoringRemediation object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'FairnessMonitoringRemediation') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'FairnessMonitoringRemediation') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class FileAssetMetadata(): """ File data asset metadata. :attr str project_id: (optional) Project id. :attr str project_name: (optional) Project name. :attr str asset_id: (optional) File data asset id. :attr str asset_name: (optional) File data asset name. :attr str asset_href: File data asset reference. :attr FileTrainingDataReferenceOptions meta: (optional) additional options for different types of training data references. """ def __init__(self, asset_href: str, *, project_id: str = None, project_name: str = None, asset_id: str = None, asset_name: str = None, meta: 'FileTrainingDataReferenceOptions' = None) -> None: """ Initialize a FileAssetMetadata object. :param str asset_href: File data asset reference. :param str project_id: (optional) Project id. :param str project_name: (optional) Project name. :param str asset_id: (optional) File data asset id. :param str asset_name: (optional) File data asset name. :param FileTrainingDataReferenceOptions meta: (optional) additional options for different types of training data references. """ self.project_id = project_id self.project_name = project_name self.asset_id = asset_id self.asset_name = asset_name self.asset_href = asset_href self.meta = meta @classmethod def from_dict(cls, _dict: Dict) -> 'FileAssetMetadata': """Initialize a FileAssetMetadata object from a json dictionary.""" args = {} if 'project_id' in _dict: args['project_id'] = _dict.get('project_id') if 'project_name' in _dict: args['project_name'] = _dict.get('project_name') if 'asset_id' in _dict: args['asset_id'] = _dict.get('asset_id') if 'asset_name' in _dict: args['asset_name'] = _dict.get('asset_name') if 'asset_href' in _dict: args['asset_href'] = _dict.get('asset_href') else: raise ValueError('Required property \'asset_href\' not present in FileAssetMetadata JSON') if 'meta' in _dict: args['meta'] = FileTrainingDataReferenceOptions.from_dict(_dict.get('meta')) return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a FileAssetMetadata object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'project_id') and self.project_id is not None: _dict['project_id'] = self.project_id if hasattr(self, 'project_name') and self.project_name is not None: _dict['project_name'] = self.project_name if hasattr(self, 'asset_id') and self.asset_id is not None: _dict['asset_id'] = self.asset_id if hasattr(self, 'asset_name') and self.asset_name is not None: _dict['asset_name'] = self.asset_name if hasattr(self, 'asset_href') and self.asset_href is not None: _dict['asset_href'] = self.asset_href if hasattr(self, 'meta') and self.meta is not None: _dict['meta'] = self.meta.to_dict() return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this FileAssetMetadata object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'FileAssetMetadata') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'FileAssetMetadata') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class FileTrainingDataReferenceOptions(): """ additional options for different types of training data references. :attr str file_name: (optional) file name. :attr str file_format: (optional) File format. :attr bool first_line_is_header: (optional) if not provided service will attempt to automatically detect header in the first line (for data provided as csv). :attr str delimiter: (optional) delimiter character for data provided as csv. :attr float csv_max_line_length: (optional) maximum length of single line in bytes (default 10000000). :attr str on_error: (optional) Expected behaviour on error while reading a csv file. Default behaviour is "stop". """ def __init__(self, *, file_name: str = None, file_format: str = None, first_line_is_header: bool = None, delimiter: str = None, csv_max_line_length: float = None, on_error: str = None) -> None: """ Initialize a FileTrainingDataReferenceOptions object. :param str file_name: (optional) file name. :param str file_format: (optional) File format. :param bool first_line_is_header: (optional) if not provided service will attempt to automatically detect header in the first line (for data provided as csv). :param str delimiter: (optional) delimiter character for data provided as csv. :param float csv_max_line_length: (optional) maximum length of single line in bytes (default 10000000). :param str on_error: (optional) Expected behaviour on error while reading a csv file. Default behaviour is "stop". """ self.file_name = file_name self.file_format = file_format self.first_line_is_header = first_line_is_header self.delimiter = delimiter self.csv_max_line_length = csv_max_line_length self.on_error = on_error @classmethod def from_dict(cls, _dict: Dict) -> 'FileTrainingDataReferenceOptions': """Initialize a FileTrainingDataReferenceOptions object from a json dictionary.""" args = {} if 'file_name' in _dict: args['file_name'] = _dict.get('file_name') if 'file_format' in _dict: args['file_format'] = _dict.get('file_format') if 'first_line_is_header' in _dict: args['first_line_is_header'] = _dict.get('first_line_is_header') if 'delimiter' in _dict: args['delimiter'] = _dict.get('delimiter') if 'csv_max_line_length' in _dict: args['csv_max_line_length'] = _dict.get('csv_max_line_length') if 'on_error' in _dict: args['on_error'] = _dict.get('on_error') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a FileTrainingDataReferenceOptions object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'file_name') and self.file_name is not None: _dict['file_name'] = self.file_name if hasattr(self, 'file_format') and self.file_format is not None: _dict['file_format'] = self.file_format if hasattr(self, 'first_line_is_header') and self.first_line_is_header is not None: _dict['first_line_is_header'] = self.first_line_is_header if hasattr(self, 'delimiter') and self.delimiter is not None: _dict['delimiter'] = self.delimiter if hasattr(self, 'csv_max_line_length') and self.csv_max_line_length is not None: _dict['csv_max_line_length'] = self.csv_max_line_length if hasattr(self, 'on_error') and self.on_error is not None: _dict['on_error'] = self.on_error return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this FileTrainingDataReferenceOptions object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'FileTrainingDataReferenceOptions') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'FileTrainingDataReferenceOptions') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class OnErrorEnum(str, Enum): """ Expected behaviour on error while reading a csv file. Default behaviour is "stop". """ STOP = 'stop' CONTINUE = 'continue' class GenAIAppAgentProperties(): """ manages parameters to represents agentic ai characteristics. :attr str framework: compossing agentic ai internally. :attr str architecture: representing an internal architecture for agentc ai. """ def __init__(self, framework: str, architecture: str) -> None: """ Initialize a GenAIAppAgentProperties object. :param str framework: compossing agentic ai internally. :param str architecture: representing an internal architecture for agentc ai. """ self.framework = framework self.architecture = architecture @classmethod def from_dict(cls, _dict: Dict) -> 'GenAIAppAgentProperties': """Initialize a GenAIAppAgentProperties object from a json dictionary.""" args = {} if 'framework' in _dict: args['framework'] = _dict.get('framework') else: raise ValueError('Required property \'framework\' not present in GenAIAppAgentProperties JSON') if 'architecture' in _dict: args['architecture'] = _dict.get('architecture') else: raise ValueError('Required property \'architecture\' not present in GenAIAppAgentProperties JSON') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a GenAIAppAgentProperties object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'framework') and self.framework is not None: _dict['framework'] = self.framework if hasattr(self, 'architecture') and self.architecture is not None: _dict['architecture'] = self.architecture return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this GenAIAppAgentProperties object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'GenAIAppAgentProperties') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'GenAIAppAgentProperties') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class GenAIAppAsset(): """ GenAIAppAsset. :attr str asset_id: :attr str url: (optional) :attr str name: (optional) :attr str asset_type: ai_decision_coordination is limited for AI Decision Coordination. agent is limited to Agentitc AI App. :attr str asset_rn: (optional) Asset Resource Name (used for integration with 3rd party ML engines). :attr str created_at: (optional) :attr str problem_type: (optional) :attr str model_type: (optional) :attr str runtime_environment: (optional) :attr str input_data_type: (optional) :attr str foundational_model_id: (optional) :attr AssetLocale locale: (optional) represents languages used in both input and output of the model. """ def __init__(self, asset_id: str, asset_type: str, *, url: str = None, name: str = None, asset_rn: str = None, created_at: str = None, problem_type: str = None, model_type: str = None, runtime_environment: str = None, input_data_type: str = None, foundational_model_id: str = None, locale: 'AssetLocale' = None) -> None: """ Initialize a GenAIAppAsset object. :param str asset_id: :param str asset_type: ai_decision_coordination is limited for AI Decision Coordination. agent is limited to Agentitc AI App. :param str url: (optional) :param str name: (optional) :param str asset_rn: (optional) Asset Resource Name (used for integration with 3rd party ML engines). :param str created_at: (optional) :param str problem_type: (optional) :param str model_type: (optional) :param str runtime_environment: (optional) :param str input_data_type: (optional) :param str foundational_model_id: (optional) :param AssetLocale locale: (optional) represents languages used in both input and output of the model. """ self.asset_id = asset_id self.url = url self.name = name self.asset_type = asset_type self.asset_rn = asset_rn self.created_at = created_at self.problem_type = problem_type self.model_type = model_type self.runtime_environment = runtime_environment self.input_data_type = input_data_type self.foundational_model_id = foundational_model_id self.locale = locale @classmethod def from_dict(cls, _dict: Dict) -> 'GenAIAppAsset': """Initialize a GenAIAppAsset object from a json dictionary.""" args = {} if 'asset_id' in _dict: args['asset_id'] = _dict.get('asset_id') else: raise ValueError('Required property \'asset_id\' not present in GenAIAppAsset JSON') if 'url' in _dict: args['url'] = _dict.get('url') if 'name' in _dict: args['name'] = _dict.get('name') if 'asset_type' in _dict: args['asset_type'] = _dict.get('asset_type') else: raise ValueError('Required property \'asset_type\' not present in GenAIAppAsset JSON') if 'asset_rn' in _dict: args['asset_rn'] = _dict.get('asset_rn') if 'created_at' in _dict: args['created_at'] = _dict.get('created_at') if 'problem_type' in _dict: args['problem_type'] = _dict.get('problem_type') if 'model_type' in _dict: args['model_type'] = _dict.get('model_type') if 'runtime_environment' in _dict: args['runtime_environment'] = _dict.get('runtime_environment') if 'input_data_type' in _dict: args['input_data_type'] = _dict.get('input_data_type') if 'foundational_model_id' in _dict: args['foundational_model_id'] = _dict.get('foundational_model_id') if 'locale' in _dict: args['locale'] = AssetLocale.from_dict(_dict.get('locale')) return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a GenAIAppAsset object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'asset_id') and self.asset_id is not None: _dict['asset_id'] = self.asset_id if hasattr(self, 'url') and self.url is not None: _dict['url'] = self.url if hasattr(self, 'name') and self.name is not None: _dict['name'] = self.name if hasattr(self, 'asset_type') and self.asset_type is not None: _dict['asset_type'] = self.asset_type if hasattr(self, 'asset_rn') and self.asset_rn is not None: _dict['asset_rn'] = self.asset_rn if hasattr(self, 'created_at') and self.created_at is not None: _dict['created_at'] = self.created_at if hasattr(self, 'problem_type') and self.problem_type is not None: _dict['problem_type'] = self.problem_type if hasattr(self, 'model_type') and self.model_type is not None: _dict['model_type'] = self.model_type if hasattr(self, 'runtime_environment') and self.runtime_environment is not None: _dict['runtime_environment'] = self.runtime_environment if hasattr(self, 'input_data_type') and self.input_data_type is not None: _dict['input_data_type'] = self.input_data_type if hasattr(self, 'foundational_model_id') and self.foundational_model_id is not None: _dict['foundational_model_id'] = self.foundational_model_id if hasattr(self, 'locale') and self.locale is not None: _dict['locale'] = self.locale.to_dict() return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this GenAIAppAsset object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'GenAIAppAsset') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'GenAIAppAsset') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class AssetTypeEnum(str, Enum): """ ai_decision_coordination is limited for AI Decision Coordination. agent is limited to Agentitc AI App. """ MODEL = 'model' FUNCTION = 'function' PROMPT = 'prompt' AI_DECISION_COORDINATION = 'ai_decision_coordination' AGENT = 'agent' class ProblemTypeEnum(str, Enum): """ problem_type. """ BINARY = 'binary' REGRESSION = 'regression' MULTICLASS = 'multiclass' QUESTION_ANSWERING = 'question_answering' SUMMARIZATION = 'summarization' RETRIEVAL_AUGMENTED_GENERATION = 'retrieval_augmented_generation' CLASSIFICATION = 'classification' GENERATION = 'generation' CODE = 'code' EXTRACTION = 'extraction' class InputDataTypeEnum(str, Enum): """ input_data_type. """ STRUCTURED = 'structured' UNSTRUCTURED_IMAGE = 'unstructured_image' UNSTRUCTURED_TEXT = 'unstructured_text' CHAT = 'chat' UNSTRUCTURED_VIDEO = 'unstructured_video' UNSTRUCTURED_AUDIO = 'unstructured_audio' class GenAIAppCollection(): """ GenAIAppCollection. :attr List[GenAIAppResponse] gen_ai_apps: """ def __init__(self, gen_ai_apps: List['GenAIAppResponse']) -> None: """ Initialize a GenAIAppCollection object. :param List[GenAIAppResponse] gen_ai_apps: """ self.gen_ai_apps = gen_ai_apps @classmethod def from_dict(cls, _dict: Dict) -> 'GenAIAppCollection': """Initialize a GenAIAppCollection object from a json dictionary.""" args = {} if 'gen_ai_apps' in _dict: args['gen_ai_apps'] = [GenAIAppResponse.from_dict(x) for x in _dict.get('gen_ai_apps')] else: raise ValueError('Required property \'gen_ai_apps\' not present in GenAIAppCollection JSON') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a GenAIAppCollection object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'gen_ai_apps') and self.gen_ai_apps is not None: _dict['gen_ai_apps'] = [x.to_dict() for x in self.gen_ai_apps] return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this GenAIAppCollection object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'GenAIAppCollection') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'GenAIAppCollection') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class GenAIAppDeployment(): """ GenAIAppDeployment. :attr str deployment_id: (optional) :attr str deployment_rn: (optional) Deployment Resource Name (used for integration with 3rd party ML engines). :attr str url: (optional) :attr str name: (optional) :attr str description: (optional) :attr str deployment_type: (optional) Deployment type. :attr str created_at: (optional) :attr ScoringEndpoint scoring_endpoint: (optional) Definition of scoring endpoint in custom_machine_learning. :attr List[InferenceEndpoint] inference_endpoint: (optional) inference endpoints for the deployment at watsonx.ai. Either of `inference_endpoint` or `scoring_endpoint` should be provided. If both given, underlying API will reject the request. """ def __init__(self, *, deployment_id: str = None, deployment_rn: str = None, url: str = None, name: str = None, description: str = None, deployment_type: str = None, created_at: str = None, scoring_endpoint: 'ScoringEndpoint' = None, inference_endpoint: List['InferenceEndpoint'] = None) -> None: """ Initialize a GenAIAppDeployment object. :param str deployment_id: (optional) :param str deployment_rn: (optional) Deployment Resource Name (used for integration with 3rd party ML engines). :param str url: (optional) :param str name: (optional) :param str description: (optional) :param str deployment_type: (optional) Deployment type. :param str created_at: (optional) :param ScoringEndpoint scoring_endpoint: (optional) Definition of scoring endpoint in custom_machine_learning. :param List[InferenceEndpoint] inference_endpoint: (optional) inference endpoints for the deployment at watsonx.ai. Either of `inference_endpoint` or `scoring_endpoint` should be provided. If both given, underlying API will reject the request. """ self.deployment_id = deployment_id self.deployment_rn = deployment_rn self.url = url self.name = name self.description = description self.deployment_type = deployment_type self.created_at = created_at self.scoring_endpoint = scoring_endpoint self.inference_endpoint = inference_endpoint @classmethod def from_dict(cls, _dict: Dict) -> 'GenAIAppDeployment': """Initialize a GenAIAppDeployment object from a json dictionary.""" args = {} if 'deployment_id' in _dict: args['deployment_id'] = _dict.get('deployment_id') if 'deployment_rn' in _dict: args['deployment_rn'] = _dict.get('deployment_rn') if 'url' in _dict: args['url'] = _dict.get('url') if 'name' in _dict: args['name'] = _dict.get('name') if 'description' in _dict: args['description'] = _dict.get('description') if 'deployment_type' in _dict: args['deployment_type'] = _dict.get('deployment_type') if 'created_at' in _dict: args['created_at'] = _dict.get('created_at') if 'scoring_endpoint' in _dict: args['scoring_endpoint'] = ScoringEndpoint.from_dict(_dict.get('scoring_endpoint')) if 'inference_endpoint' in _dict: args['inference_endpoint'] = [InferenceEndpoint.from_dict(x) for x in _dict.get('inference_endpoint')] return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a GenAIAppDeployment object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'deployment_id') and self.deployment_id is not None: _dict['deployment_id'] = self.deployment_id if hasattr(self, 'deployment_rn') and self.deployment_rn is not None: _dict['deployment_rn'] = self.deployment_rn if hasattr(self, 'url') and self.url is not None: _dict['url'] = self.url if hasattr(self, 'name') and self.name is not None: _dict['name'] = self.name if hasattr(self, 'description') and self.description is not None: _dict['description'] = self.description if hasattr(self, 'deployment_type') and self.deployment_type is not None: _dict['deployment_type'] = self.deployment_type if hasattr(self, 'created_at') and self.created_at is not None: _dict['created_at'] = self.created_at if hasattr(self, 'scoring_endpoint') and self.scoring_endpoint is not None: _dict['scoring_endpoint'] = self.scoring_endpoint.to_dict() if hasattr(self, 'inference_endpoint') and self.inference_endpoint is not None: _dict['inference_endpoint'] = [x.to_dict() for x in self.inference_endpoint] return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this GenAIAppDeployment object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'GenAIAppDeployment') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'GenAIAppDeployment') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class DeploymentTypeEnum(str, Enum): """ Deployment type. """ ONLINE = 'online' BATCH = 'batch' DETACHED = 'detached' class GenAIAppEntity(): """ Gen AI app definition. :attr str service_provider_id: The GUID of the Service Provider. :attr str type: Type of the application. :attr GenAIAppAsset asset: :attr GenAIAppDeployment deployment: :attr GenAIAppAgentProperties agent_properties: (optional) manages parameters to represents agentic ai characteristics. :attr Status status: (optional) """ def __init__(self, service_provider_id: str, type: str, asset: 'GenAIAppAsset', deployment: 'GenAIAppDeployment', *, agent_properties: 'GenAIAppAgentProperties' = None, status: 'Status' = None) -> None: """ Initialize a GenAIAppEntity object. :param str service_provider_id: The GUID of the Service Provider. :param str type: Type of the application. :param GenAIAppAsset asset: :param GenAIAppDeployment deployment: :param GenAIAppAgentProperties agent_properties: (optional) manages parameters to represents agentic ai characteristics. :param Status status: (optional) """ self.service_provider_id = service_provider_id self.type = type self.asset = asset self.deployment = deployment self.agent_properties = agent_properties self.status = status @classmethod def from_dict(cls, _dict: Dict) -> 'GenAIAppEntity': """Initialize a GenAIAppEntity object from a json dictionary.""" args = {} if 'service_provider_id' in _dict: args['service_provider_id'] = _dict.get('service_provider_id') else: raise ValueError('Required property \'service_provider_id\' not present in GenAIAppEntity JSON') if 'type' in _dict: args['type'] = _dict.get('type') else: raise ValueError('Required property \'type\' not present in GenAIAppEntity JSON') if 'asset' in _dict: args['asset'] = GenAIAppAsset.from_dict(_dict.get('asset')) else: raise ValueError('Required property \'asset\' not present in GenAIAppEntity JSON') if 'deployment' in _dict: args['deployment'] = GenAIAppDeployment.from_dict(_dict.get('deployment')) else: raise ValueError('Required property \'deployment\' not present in GenAIAppEntity JSON') if 'agent_properties' in _dict: args['agent_properties'] = GenAIAppAgentProperties.from_dict(_dict.get('agent_properties')) if 'status' in _dict: args['status'] = Status.from_dict(_dict.get('status')) return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a GenAIAppEntity object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'service_provider_id') and self.service_provider_id is not None: _dict['service_provider_id'] = self.service_provider_id if hasattr(self, 'type') and self.type is not None: _dict['type'] = self.type if hasattr(self, 'asset') and self.asset is not None: _dict['asset'] = self.asset.to_dict() if hasattr(self, 'deployment') and self.deployment is not None: _dict['deployment'] = self.deployment.to_dict() if hasattr(self, 'agent_properties') and self.agent_properties is not None: _dict['agent_properties'] = self.agent_properties.to_dict() if hasattr(self, 'status') and self.status is not None: _dict['status'] = self.status.to_dict() return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this GenAIAppEntity object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'GenAIAppEntity') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'GenAIAppEntity') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class TypeEnum(str, Enum): """ Type of the application. """ AGENTIC = 'agentic' WORKFLOW = 'workflow' CUSTOM = 'custom' class GenAIAppResponse(): """ GenAIAppResponse. :attr Metadata metadata: (optional) :attr GenAIAppEntity entity: (optional) Gen AI app definition. """ def __init__(self, *, metadata: 'Metadata' = None, entity: 'GenAIAppEntity' = None) -> None: """ Initialize a GenAIAppResponse object. :param Metadata metadata: (optional) :param GenAIAppEntity entity: (optional) Gen AI app definition. """ self.metadata = metadata self.entity = entity @classmethod def from_dict(cls, _dict: Dict) -> 'GenAIAppResponse': """Initialize a GenAIAppResponse object from a json dictionary.""" args = {} if 'metadata' in _dict: args['metadata'] = Metadata.from_dict(_dict.get('metadata')) if 'entity' in _dict: args['entity'] = GenAIAppEntity.from_dict(_dict.get('entity')) return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a GenAIAppResponse object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'metadata') and self.metadata is not None: _dict['metadata'] = self.metadata.to_dict() if hasattr(self, 'entity') and self.entity is not None: _dict['entity'] = self.entity.to_dict() return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this GenAIAppResponse object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'GenAIAppResponse') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'GenAIAppResponse') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class GenericErrorResponse(): """ GenericErrorResponse. :attr str trace: ID of the original request. :attr List[GenericErrorResponseErrorsItem] errors: """ def __init__(self, trace: str, errors: List['GenericErrorResponseErrorsItem']) -> None: """ Initialize a GenericErrorResponse object. :param str trace: ID of the original request. :param List[GenericErrorResponseErrorsItem] errors: """ self.trace = trace self.errors = errors @classmethod def from_dict(cls, _dict: Dict) -> 'GenericErrorResponse': """Initialize a GenericErrorResponse object from a json dictionary.""" args = {} if 'trace' in _dict: args['trace'] = _dict.get('trace') else: raise ValueError('Required property \'trace\' not present in GenericErrorResponse JSON') if 'errors' in _dict: args['errors'] = [GenericErrorResponseErrorsItem.from_dict(x) for x in _dict.get('errors')] else: raise ValueError('Required property \'errors\' not present in GenericErrorResponse JSON') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a GenericErrorResponse object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'trace') and self.trace is not None: _dict['trace'] = self.trace if hasattr(self, 'errors') and self.errors is not None: _dict['errors'] = [x.to_dict() for x in self.errors] return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this GenericErrorResponse object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'GenericErrorResponse') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'GenericErrorResponse') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class GenericErrorResponseErrorsItem(): """ GenericErrorResponseErrorsItem. :attr str code: Error code. :attr str message: Error message. :attr List[str] parameters: (optional) Error message parameters. """ def __init__(self, code: str, message: str, *, parameters: List[str] = None) -> None: """ Initialize a GenericErrorResponseErrorsItem object. :param str code: Error code. :param str message: Error message. :param List[str] parameters: (optional) Error message parameters. """ self.code = code self.message = message self.parameters = parameters @classmethod def from_dict(cls, _dict: Dict) -> 'GenericErrorResponseErrorsItem': """Initialize a GenericErrorResponseErrorsItem object from a json dictionary.""" args = {} if 'code' in _dict: args['code'] = _dict.get('code') else: raise ValueError('Required property \'code\' not present in GenericErrorResponseErrorsItem JSON') if 'message' in _dict: args['message'] = _dict.get('message') else: raise ValueError('Required property \'message\' not present in GenericErrorResponseErrorsItem JSON') if 'parameters' in _dict: args['parameters'] = _dict.get('parameters') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a GenericErrorResponseErrorsItem object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'code') and self.code is not None: _dict['code'] = self.code if hasattr(self, 'message') and self.message is not None: _dict['message'] = self.message if hasattr(self, 'parameters') and self.parameters is not None: _dict['parameters'] = self.parameters return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this GenericErrorResponseErrorsItem object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'GenericErrorResponseErrorsItem') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'GenericErrorResponseErrorsItem') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class GetExplanationTaskResponse(): """ Get explanation task response. :attr GetExplanationTaskResponseMetadata metadata: Metadata of get explanation task response. :attr GetExplanationTaskResponseEntity entity: Entity of get explanation task response. """ def __init__(self, metadata: 'GetExplanationTaskResponseMetadata', entity: 'GetExplanationTaskResponseEntity') -> None: """ Initialize a GetExplanationTaskResponse object. :param GetExplanationTaskResponseMetadata metadata: Metadata of get explanation task response. :param GetExplanationTaskResponseEntity entity: Entity of get explanation task response. """ self.metadata = metadata self.entity = entity @classmethod def from_dict(cls, _dict: Dict) -> 'GetExplanationTaskResponse': """Initialize a GetExplanationTaskResponse object from a json dictionary.""" args = {} if 'metadata' in _dict: args['metadata'] = GetExplanationTaskResponseMetadata.from_dict(_dict.get('metadata')) else: raise ValueError('Required property \'metadata\' not present in GetExplanationTaskResponse JSON') if 'entity' in _dict: args['entity'] = GetExplanationTaskResponseEntity.from_dict(_dict.get('entity')) else: raise ValueError('Required property \'entity\' not present in GetExplanationTaskResponse JSON') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a GetExplanationTaskResponse object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'metadata') and self.metadata is not None: _dict['metadata'] = self.metadata.to_dict() if hasattr(self, 'entity') and self.entity is not None: _dict['entity'] = self.entity.to_dict() return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this GetExplanationTaskResponse object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'GetExplanationTaskResponse') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'GetExplanationTaskResponse') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class GetExplanationTaskResponseEntity(): """ Entity of get explanation task response. :attr GetExplanationTaskResponseEntityStatus status: Status of the explanation task. :attr ExplanationTaskResponseEntityAsset asset: (optional) Asset details in get explanation task response. :attr List[ExplanationTaskResponseEntityInputFeature] input_features: (optional) List of input features. :attr str perturbed: (optional) Indicate whether the transaction is perturbed or not. :attr List[object] explanations: (optional) List of generated explanations. :attr List[ExplanationError] errors: (optional) List of errors occurred while generating explanations. :attr str scoring_id: (optional) ID of the scoring transaction. """ def __init__(self, status: 'GetExplanationTaskResponseEntityStatus', *, asset: 'ExplanationTaskResponseEntityAsset' = None, input_features: List['ExplanationTaskResponseEntityInputFeature'] = None, perturbed: str = None, explanations: List[object] = None, errors: List['ExplanationError'] = None, scoring_id: str = None) -> None: """ Initialize a GetExplanationTaskResponseEntity object. :param GetExplanationTaskResponseEntityStatus status: Status of the explanation task. :param ExplanationTaskResponseEntityAsset asset: (optional) Asset details in get explanation task response. :param List[ExplanationTaskResponseEntityInputFeature] input_features: (optional) List of input features. :param str perturbed: (optional) Indicate whether the transaction is perturbed or not. :param List[object] explanations: (optional) List of generated explanations. :param List[ExplanationError] errors: (optional) List of errors occurred while generating explanations. :param str scoring_id: (optional) ID of the scoring transaction. """ self.status = status self.asset = asset self.input_features = input_features self.perturbed = perturbed self.explanations = explanations self.errors = errors self.scoring_id = scoring_id @classmethod def from_dict(cls, _dict: Dict) -> 'GetExplanationTaskResponseEntity': """Initialize a GetExplanationTaskResponseEntity object from a json dictionary.""" args = {} if 'status' in _dict: args['status'] = GetExplanationTaskResponseEntityStatus.from_dict(_dict.get('status')) else: raise ValueError('Required property \'status\' not present in GetExplanationTaskResponseEntity JSON') if 'asset' in _dict: args['asset'] = ExplanationTaskResponseEntityAsset.from_dict(_dict.get('asset')) if 'input_features' in _dict: args['input_features'] = [ExplanationTaskResponseEntityInputFeature.from_dict(x) for x in _dict.get('input_features')] if 'perturbed' in _dict: args['perturbed'] = _dict.get('perturbed') if 'explanations' in _dict: args['explanations'] = _dict.get('explanations') if 'errors' in _dict: args['errors'] = [ExplanationError.from_dict(x) for x in _dict.get('errors')] if 'scoring_id' in _dict: args['scoring_id'] = _dict.get('scoring_id') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a GetExplanationTaskResponseEntity object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'status') and self.status is not None: _dict['status'] = self.status.to_dict() if hasattr(self, 'asset') and self.asset is not None: _dict['asset'] = self.asset.to_dict() if hasattr(self, 'input_features') and self.input_features is not None: _dict['input_features'] = [x.to_dict() for x in self.input_features] if hasattr(self, 'perturbed') and self.perturbed is not None: _dict['perturbed'] = self.perturbed if hasattr(self, 'explanations') and self.explanations is not None: _dict['explanations'] = self.explanations if hasattr(self, 'errors') and self.errors is not None: _dict['errors'] = [x.to_dict() for x in self.errors] if hasattr(self, 'scoring_id') and self.scoring_id is not None: _dict['scoring_id'] = self.scoring_id return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this GetExplanationTaskResponseEntity object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'GetExplanationTaskResponseEntity') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'GetExplanationTaskResponseEntity') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class PerturbedEnum(str, Enum): """ Indicate whether the transaction is perturbed or not. """ TRUE = 'true' FALSE = 'false' class GetExplanationTaskResponseEntityStatus(): """ Status of the explanation task. :attr str state: (optional) Overall status of the explanation task. """ def __init__(self, *, state: str = None) -> None: """ Initialize a GetExplanationTaskResponseEntityStatus object. :param str state: (optional) Overall status of the explanation task. """ self.state = state @classmethod def from_dict(cls, _dict: Dict) -> 'GetExplanationTaskResponseEntityStatus': """Initialize a GetExplanationTaskResponseEntityStatus object from a json dictionary.""" args = {} if 'state' in _dict: args['state'] = _dict.get('state') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a GetExplanationTaskResponseEntityStatus object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'state') and self.state is not None: _dict['state'] = self.state return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this GetExplanationTaskResponseEntityStatus object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'GetExplanationTaskResponseEntityStatus') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'GetExplanationTaskResponseEntityStatus') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class StateEnum(str, Enum): """ Overall status of the explanation task. """ IN_PROGRESS = 'in_progress' FINISHED = 'finished' ERROR = 'error' class GetExplanationTaskResponseMetadata(): """ Metadata of get explanation task response. :attr str explanation_task_id: Identifier for tracking explanation task. :attr str created_by: ID of the user creating explanation task. :attr str created_at: Time when the explanation task was initiated. :attr str updated_at: (optional) Time when the explanation task was last updated. """ def __init__(self, explanation_task_id: str, created_by: str, created_at: str, *, updated_at: str = None) -> None: """ Initialize a GetExplanationTaskResponseMetadata object. :param str explanation_task_id: Identifier for tracking explanation task. :param str created_by: ID of the user creating explanation task. :param str created_at: Time when the explanation task was initiated. :param str updated_at: (optional) Time when the explanation task was last updated. """ self.explanation_task_id = explanation_task_id self.created_by = created_by self.created_at = created_at self.updated_at = updated_at @classmethod def from_dict(cls, _dict: Dict) -> 'GetExplanationTaskResponseMetadata': """Initialize a GetExplanationTaskResponseMetadata object from a json dictionary.""" args = {} if 'explanation_task_id' in _dict: args['explanation_task_id'] = _dict.get('explanation_task_id') else: raise ValueError('Required property \'explanation_task_id\' not present in GetExplanationTaskResponseMetadata JSON') if 'created_by' in _dict: args['created_by'] = _dict.get('created_by') else: raise ValueError('Required property \'created_by\' not present in GetExplanationTaskResponseMetadata JSON') if 'created_at' in _dict: args['created_at'] = _dict.get('created_at') else: raise ValueError('Required property \'created_at\' not present in GetExplanationTaskResponseMetadata JSON') if 'updated_at' in _dict: args['updated_at'] = _dict.get('updated_at') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a GetExplanationTaskResponseMetadata object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'explanation_task_id') and self.explanation_task_id is not None: _dict['explanation_task_id'] = self.explanation_task_id if hasattr(self, 'created_by') and self.created_by is not None: _dict['created_by'] = self.created_by if hasattr(self, 'created_at') and self.created_at is not None: _dict['created_at'] = self.created_at if hasattr(self, 'updated_at') and self.updated_at is not None: _dict['updated_at'] = self.updated_at return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this GetExplanationTaskResponseMetadata object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'GetExplanationTaskResponseMetadata') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'GetExplanationTaskResponseMetadata') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class GetExplanationTasksResponse(): """ List all explanations response. :attr int total_count: Total number of computed explanations. :attr int limit: Maximum number of returned explanations. :attr int offset: Offset of returned explanations. :attr List[str] explanation_fields: The list of explanation fields. :attr List[str] explanation_values: (optional) The list of explanation values. """ def __init__(self, total_count: int, limit: int, offset: int, explanation_fields: List[str], *, explanation_values: List[str] = None) -> None: """ Initialize a GetExplanationTasksResponse object. :param int total_count: Total number of computed explanations. :param int limit: Maximum number of returned explanations. :param int offset: Offset of returned explanations. :param List[str] explanation_fields: The list of explanation fields. :param List[str] explanation_values: (optional) The list of explanation values. """ self.total_count = total_count self.limit = limit self.offset = offset self.explanation_fields = explanation_fields self.explanation_values = explanation_values @classmethod def from_dict(cls, _dict: Dict) -> 'GetExplanationTasksResponse': """Initialize a GetExplanationTasksResponse object from a json dictionary.""" args = {} if 'total_count' in _dict: args['total_count'] = _dict.get('total_count') else: raise ValueError('Required property \'total_count\' not present in GetExplanationTasksResponse JSON') if 'limit' in _dict: args['limit'] = _dict.get('limit') else: raise ValueError('Required property \'limit\' not present in GetExplanationTasksResponse JSON') if 'offset' in _dict: args['offset'] = _dict.get('offset') else: raise ValueError('Required property \'offset\' not present in GetExplanationTasksResponse JSON') if 'explanation_fields' in _dict: args['explanation_fields'] = _dict.get('explanation_fields') else: raise ValueError('Required property \'explanation_fields\' not present in GetExplanationTasksResponse JSON') if 'explanation_values' in _dict: args['explanation_values'] = _dict.get('explanation_values') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a GetExplanationTasksResponse object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'total_count') and self.total_count is not None: _dict['total_count'] = self.total_count if hasattr(self, 'limit') and self.limit is not None: _dict['limit'] = self.limit if hasattr(self, 'offset') and self.offset is not None: _dict['offset'] = self.offset if hasattr(self, 'explanation_fields') and self.explanation_fields is not None: _dict['explanation_fields'] = self.explanation_fields if hasattr(self, 'explanation_values') and self.explanation_values is not None: _dict['explanation_values'] = self.explanation_values return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this GetExplanationTasksResponse object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'GetExplanationTasksResponse') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'GetExplanationTasksResponse') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class GraphVertexProperties(): """ GraphVertexProperties. :attr str id: (optional) :attr GraphVertexPropertiesProperties properties: (optional) """ def __init__(self, *, id: str = None, properties: 'GraphVertexPropertiesProperties' = None) -> None: """ Initialize a GraphVertexProperties object. :param str id: (optional) :param GraphVertexPropertiesProperties properties: (optional) """ self.id = id self.properties = properties @classmethod def from_dict(cls, _dict: Dict) -> 'GraphVertexProperties': """Initialize a GraphVertexProperties object from a json dictionary.""" args = {} if 'id' in _dict: args['id'] = _dict.get('id') if 'properties' in _dict: args['properties'] = GraphVertexPropertiesProperties.from_dict(_dict.get('properties')) return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a GraphVertexProperties object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'id') and self.id is not None: _dict['id'] = self.id if hasattr(self, 'properties') and self.properties is not None: _dict['properties'] = self.properties.to_dict() return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this GraphVertexProperties object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'GraphVertexProperties') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'GraphVertexProperties') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class GraphVertexPropertiesProperties(): """ GraphVertexPropertiesProperties. :attr str target_target_type: (optional) :attr str resource_type: (optional) :attr str target_target_id: (optional) :attr str rev: (optional) :attr str status: (optional) :attr datetime touched_at: (optional) :attr str type: (optional) """ def __init__(self, *, target_target_type: str = None, resource_type: str = None, target_target_id: str = None, rev: str = None, status: str = None, touched_at: datetime = None, type: str = None) -> None: """ Initialize a GraphVertexPropertiesProperties object. :param str target_target_type: (optional) :param str resource_type: (optional) :param str target_target_id: (optional) :param str rev: (optional) :param str status: (optional) :param datetime touched_at: (optional) :param str type: (optional) """ self.target_target_type = target_target_type self.resource_type = resource_type self.target_target_id = target_target_id self.rev = rev self.status = status self.touched_at = touched_at self.type = type @classmethod def from_dict(cls, _dict: Dict) -> 'GraphVertexPropertiesProperties': """Initialize a GraphVertexPropertiesProperties object from a json dictionary.""" args = {} if 'target.target_type' in _dict: args['target_target_type'] = _dict.get('target.target_type') if 'resource_type' in _dict: args['resource_type'] = _dict.get('resource_type') if 'target.target_id' in _dict: args['target_target_id'] = _dict.get('target.target_id') if 'rev' in _dict: args['rev'] = _dict.get('rev') if 'status' in _dict: args['status'] = _dict.get('status') if 'touched_at' in _dict: args['touched_at'] = string_to_datetime(_dict.get('touched_at')) if 'type' in _dict: args['type'] = _dict.get('type') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a GraphVertexPropertiesProperties object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'target_target_type') and self.target_target_type is not None: _dict['target.target_type'] = self.target_target_type if hasattr(self, 'resource_type') and self.resource_type is not None: _dict['resource_type'] = self.resource_type if hasattr(self, 'target_target_id') and self.target_target_id is not None: _dict['target.target_id'] = self.target_target_id if hasattr(self, 'rev') and self.rev is not None: _dict['rev'] = self.rev if hasattr(self, 'status') and self.status is not None: _dict['status'] = self.status if hasattr(self, 'touched_at') and self.touched_at is not None: _dict['touched_at'] = datetime_to_string(self.touched_at) if hasattr(self, 'type') and self.type is not None: _dict['type'] = self.type return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this GraphVertexPropertiesProperties object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'GraphVertexPropertiesProperties') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'GraphVertexPropertiesProperties') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class InferenceEndpoint(): """ Definition of inference endpoint deployed at watsonx.ai. :attr str url: URL of the inference endpoint. :attr bool sse: (optional) This is true if the inference API supports SSE streaming. :attr bool uses_serving_name: (optional) This is true if the inference API uses the serving_name that was defined in this deployment. """ def __init__(self, url: str, *, sse: bool = None, uses_serving_name: bool = None) -> None: """ Initialize a InferenceEndpoint object. :param str url: URL of the inference endpoint. :param bool sse: (optional) This is true if the inference API supports SSE streaming. :param bool uses_serving_name: (optional) This is true if the inference API uses the serving_name that was defined in this deployment. """ self.url = url self.sse = sse self.uses_serving_name = uses_serving_name @classmethod def from_dict(cls, _dict: Dict) -> 'InferenceEndpoint': """Initialize a InferenceEndpoint object from a json dictionary.""" args = {} if 'url' in _dict: args['url'] = _dict.get('url') else: raise ValueError('Required property \'url\' not present in InferenceEndpoint JSON') if 'sse' in _dict: args['sse'] = _dict.get('sse') if 'uses_serving_name' in _dict: args['uses_serving_name'] = _dict.get('uses_serving_name') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a InferenceEndpoint object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'url') and self.url is not None: _dict['url'] = self.url if hasattr(self, 'sse') and self.sse is not None: _dict['sse'] = self.sse if hasattr(self, 'uses_serving_name') and self.uses_serving_name is not None: _dict['uses_serving_name'] = self.uses_serving_name return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this InferenceEndpoint object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'InferenceEndpoint') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'InferenceEndpoint') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class InputDataReference(): """ InputDataReference is the same as TrainingDataReference except that neither location nor connection is required. This is needed for the Schemas API and to avoid updating existing APIs. :attr str type: Type of the storage. :attr TrainingDataReferenceLocation location: (optional) training data set location. :attr TrainingDataReferenceConnection connection: (optional) training data set connection credentials. :attr str name: (optional) """ def __init__(self, type: str, *, location: 'TrainingDataReferenceLocation' = None, connection: 'TrainingDataReferenceConnection' = None, name: str = None) -> None: """ Initialize a InputDataReference object. :param str type: Type of the storage. :param TrainingDataReferenceLocation location: (optional) training data set location. :param TrainingDataReferenceConnection connection: (optional) training data set connection credentials. :param str name: (optional) """ self.type = type self.location = location self.connection = connection self.name = name @classmethod def from_dict(cls, _dict: Dict) -> 'InputDataReference': """Initialize a InputDataReference object from a json dictionary.""" args = {} if 'type' in _dict: args['type'] = _dict.get('type') else: raise ValueError('Required property \'type\' not present in InputDataReference JSON') if 'location' in _dict: args['location'] = _dict.get('location') if 'connection' in _dict: args['connection'] = _dict.get('connection') if 'name' in _dict: args['name'] = _dict.get('name') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a InputDataReference object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'type') and self.type is not None: _dict['type'] = self.type if hasattr(self, 'location') and self.location is not None: if isinstance(self.location, dict): _dict['location'] = self.location else: _dict['location'] = self.location.to_dict() if hasattr(self, 'connection') and self.connection is not None: if isinstance(self.connection, dict): _dict['connection'] = self.connection else: _dict['connection'] = self.connection.to_dict() if hasattr(self, 'name') and self.name is not None: _dict['name'] = self.name return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this InputDataReference object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'InputDataReference') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'InputDataReference') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class TypeEnum(str, Enum): """ Type of the storage. """ DB2 = 'db2' COS = 'cos' DATASET = 'dataset' FILE_ASSET = 'file_asset' class IntegratedMetric(): """ IntegratedMetric. :attr str integrated_system_type: (optional) :attr str mapped_metrics: (optional) """ def __init__(self, *, integrated_system_type: str = None, mapped_metrics: str = None) -> None: """ Initialize a IntegratedMetric object. :param str integrated_system_type: (optional) :param str mapped_metrics: (optional) """ self.integrated_system_type = integrated_system_type self.mapped_metrics = mapped_metrics @classmethod def from_dict(cls, _dict: Dict) -> 'IntegratedMetric': """Initialize a IntegratedMetric object from a json dictionary.""" args = {} if 'integrated_system_type' in _dict: args['integrated_system_type'] = _dict.get('integrated_system_type') if 'mapped_metrics' in _dict: args['mapped_metrics'] = _dict.get('mapped_metrics') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a IntegratedMetric object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'integrated_system_type') and self.integrated_system_type is not None: _dict['integrated_system_type'] = self.integrated_system_type if hasattr(self, 'mapped_metrics') and self.mapped_metrics is not None: _dict['mapped_metrics'] = self.mapped_metrics return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this IntegratedMetric object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'IntegratedMetric') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'IntegratedMetric') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class IntegratedSystem(): """ Integrated System definition. :attr str name: The name of the Integrated System. :attr str type: :attr str description: The description of the Integrated System. :attr dict credentials: The credentials for the Integrated System. :attr object connection: (optional) The additional connection information for the Integrated System. :attr str service_provider_id: (optional) The GUID of the Service Provider. Should be specified when the integrated system should be managed with access contorl over combination of container_id and container_type query params. :attr List[str] group_ids: (optional) Access control list of group id of Cloud Pak for Data (Only available for open_pages type and OpenScale on Cloud Pak for Data >= 4.0.6 with ENABLE_GROUP_AUTH being true). :attr List[str] user_ids: (optional) Access control list of user id of Cloud Pak for Data (Only available for open_pages type and OpenScale on Cloud Pak for Data >= 4.0.6 with ENABLE_GROUP_AUTH being true). :attr object parameters: (optional) Additional parameters. """ def __init__(self, name: str, type: str, description: str, credentials: dict, *, connection: object = None, service_provider_id: str = None, group_ids: List[str] = None, user_ids: List[str] = None, parameters: object = None) -> None: """ Initialize a IntegratedSystem object. :param str name: The name of the Integrated System. :param str type: :param str description: The description of the Integrated System. :param dict credentials: The credentials for the Integrated System. :param object connection: (optional) The additional connection information for the Integrated System. :param str service_provider_id: (optional) The GUID of the Service Provider. Should be specified when the integrated system should be managed with access contorl over combination of container_id and container_type query params. :param List[str] group_ids: (optional) Access control list of group id of Cloud Pak for Data (Only available for open_pages type and OpenScale on Cloud Pak for Data >= 4.0.6 with ENABLE_GROUP_AUTH being true). :param List[str] user_ids: (optional) Access control list of user id of Cloud Pak for Data (Only available for open_pages type and OpenScale on Cloud Pak for Data >= 4.0.6 with ENABLE_GROUP_AUTH being true). :param object parameters: (optional) Additional parameters. """ self.name = name self.type = type self.description = description self.credentials = credentials self.connection = connection self.service_provider_id = service_provider_id self.group_ids = group_ids self.user_ids = user_ids self.parameters = parameters @classmethod def from_dict(cls, _dict: Dict) -> 'IntegratedSystem': """Initialize a IntegratedSystem object from a json dictionary.""" args = {} if 'name' in _dict: args['name'] = _dict.get('name') else: raise ValueError('Required property \'name\' not present in IntegratedSystem JSON') if 'type' in _dict: args['type'] = _dict.get('type') else: raise ValueError('Required property \'type\' not present in IntegratedSystem JSON') if 'description' in _dict: args['description'] = _dict.get('description') else: raise ValueError('Required property \'description\' not present in IntegratedSystem JSON') if 'credentials' in _dict: args['credentials'] = _dict.get('credentials') else: raise ValueError('Required property \'credentials\' not present in IntegratedSystem JSON') if 'connection' in _dict: args['connection'] = _dict.get('connection') if 'service_provider_id' in _dict: args['service_provider_id'] = _dict.get('service_provider_id') if 'group_ids' in _dict: args['group_ids'] = _dict.get('group_ids') if 'user_ids' in _dict: args['user_ids'] = _dict.get('user_ids') if 'parameters' in _dict: args['parameters'] = _dict.get('parameters') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a IntegratedSystem object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'name') and self.name is not None: _dict['name'] = self.name if hasattr(self, 'type') and self.type is not None: _dict['type'] = self.type if hasattr(self, 'description') and self.description is not None: _dict['description'] = self.description if hasattr(self, 'credentials') and self.credentials is not None: _dict['credentials'] = self.credentials if hasattr(self, 'connection') and self.connection is not None: _dict['connection'] = self.connection if hasattr(self, 'service_provider_id') and self.service_provider_id is not None: _dict['service_provider_id'] = self.service_provider_id if hasattr(self, 'group_ids') and self.group_ids is not None: _dict['group_ids'] = self.group_ids if hasattr(self, 'user_ids') and self.user_ids is not None: _dict['user_ids'] = self.user_ids if hasattr(self, 'parameters') and self.parameters is not None: _dict['parameters'] = self.parameters return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this IntegratedSystem object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'IntegratedSystem') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'IntegratedSystem') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class TypeEnum(str, Enum): """ type. """ OPEN_PAGES = 'open_pages' SLACK = 'slack' WEBHOOK = 'webhook' HIVE = 'hive' SPARK = 'spark' JDBC = 'jdbc' CUSTOM_METRICS_PROVIDER = 'custom_metrics_provider' WATSON_KNOWLEDGE_CATALOG = 'watson_knowledge_catalog' GENERATIVE_AI_EVALUATOR = 'generative_ai_evaluator' EMBEDDINGS_PROVIDER = 'embeddings_provider' class IntegratedSystemCollection(): """ IntegratedSystemCollection. :attr List[IntegratedSystemResponse] integrated_systems: """ def __init__(self, integrated_systems: List['IntegratedSystemResponse']) -> None: """ Initialize a IntegratedSystemCollection object. :param List[IntegratedSystemResponse] integrated_systems: """ self.integrated_systems = integrated_systems @classmethod def from_dict(cls, _dict: Dict) -> 'IntegratedSystemCollection': """Initialize a IntegratedSystemCollection object from a json dictionary.""" args = {} if 'integrated_systems' in _dict: args['integrated_systems'] = [IntegratedSystemResponse.from_dict(x) for x in _dict.get('integrated_systems')] else: raise ValueError('Required property \'integrated_systems\' not present in IntegratedSystemCollection JSON') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a IntegratedSystemCollection object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'integrated_systems') and self.integrated_systems is not None: _dict['integrated_systems'] = [x.to_dict() for x in self.integrated_systems] return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this IntegratedSystemCollection object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'IntegratedSystemCollection') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'IntegratedSystemCollection') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class IntegratedSystemMetricsArray(): """ IntegratedSystemMetricsArray. :attr str type: (optional) The monitor for which the metrics needs to be published to integrated system. :attr List[object] measures: (optional) :attr List[IntegratedMetric] integrated_metrics: (optional) """ def __init__(self, *, type: str = None, measures: List[object] = None, integrated_metrics: List['IntegratedMetric'] = None) -> None: """ Initialize a IntegratedSystemMetricsArray object. :param str type: (optional) The monitor for which the metrics needs to be published to integrated system. :param List[object] measures: (optional) :param List[IntegratedMetric] integrated_metrics: (optional) """ self.type = type self.measures = measures self.integrated_metrics = integrated_metrics @classmethod def from_dict(cls, _dict: Dict) -> 'IntegratedSystemMetricsArray': """Initialize a IntegratedSystemMetricsArray object from a json dictionary.""" args = {} if 'type' in _dict: args['type'] = _dict.get('type') if 'measures' in _dict: args['measures'] = _dict.get('measures') if 'integrated_metrics' in _dict: args['integrated_metrics'] = [IntegratedMetric.from_dict(x) for x in _dict.get('integrated_metrics')] return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a IntegratedSystemMetricsArray object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'type') and self.type is not None: _dict['type'] = self.type if hasattr(self, 'measures') and self.measures is not None: _dict['measures'] = self.measures if hasattr(self, 'integrated_metrics') and self.integrated_metrics is not None: _dict['integrated_metrics'] = [x.to_dict() for x in self.integrated_metrics] return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this IntegratedSystemMetricsArray object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'IntegratedSystemMetricsArray') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'IntegratedSystemMetricsArray') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class IntegratedSystemReference(): """ Integrated System reference. :attr str integrated_system_id: id of the Integrated System. :attr str external_id: id of the resource in the Integrated System. :attr object parameters: (optional) Additional parameters. """ def __init__(self, integrated_system_id: str, external_id: str, *, parameters: object = None) -> None: """ Initialize a IntegratedSystemReference object. :param str integrated_system_id: id of the Integrated System. :param str external_id: id of the resource in the Integrated System. :param object parameters: (optional) Additional parameters. """ self.integrated_system_id = integrated_system_id self.external_id = external_id self.parameters = parameters @classmethod def from_dict(cls, _dict: Dict) -> 'IntegratedSystemReference': """Initialize a IntegratedSystemReference object from a json dictionary.""" args = {} if 'integrated_system_id' in _dict: args['integrated_system_id'] = _dict.get('integrated_system_id') else: raise ValueError('Required property \'integrated_system_id\' not present in IntegratedSystemReference JSON') if 'external_id' in _dict: args['external_id'] = _dict.get('external_id') else: raise ValueError('Required property \'external_id\' not present in IntegratedSystemReference JSON') if 'parameters' in _dict: args['parameters'] = _dict.get('parameters') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a IntegratedSystemReference object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'integrated_system_id') and self.integrated_system_id is not None: _dict['integrated_system_id'] = self.integrated_system_id if hasattr(self, 'external_id') and self.external_id is not None: _dict['external_id'] = self.external_id if hasattr(self, 'parameters') and self.parameters is not None: _dict['parameters'] = self.parameters return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this IntegratedSystemReference object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'IntegratedSystemReference') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'IntegratedSystemReference') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class IntegratedSystemResponse(): """ IntegratedSystemResponse. :attr Metadata metadata: (optional) :attr IntegratedSystem entity: (optional) Integrated System definition. """ def __init__(self, *, metadata: 'Metadata' = None, entity: 'IntegratedSystem' = None) -> None: """ Initialize a IntegratedSystemResponse object. :param Metadata metadata: (optional) :param IntegratedSystem entity: (optional) Integrated System definition. """ self.metadata = metadata self.entity = entity @classmethod def from_dict(cls, _dict: Dict) -> 'IntegratedSystemResponse': """Initialize a IntegratedSystemResponse object from a json dictionary.""" args = {} if 'metadata' in _dict: args['metadata'] = Metadata.from_dict(_dict.get('metadata')) if 'entity' in _dict: args['entity'] = IntegratedSystem.from_dict(_dict.get('entity')) return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a IntegratedSystemResponse object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'metadata') and self.metadata is not None: _dict['metadata'] = self.metadata.to_dict() if hasattr(self, 'entity') and self.entity is not None: _dict['entity'] = self.entity.to_dict() return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this IntegratedSystemResponse object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'IntegratedSystemResponse') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'IntegratedSystemResponse') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other
[docs] class JsonPatchOperation(): """ This model represents an individual patch operation to be performed on a JSON document, as defined by RFC 6902. :attr str op: The operation to be performed. :attr str path: The JSON Pointer that identifies the field that is the target of the operation. :attr str from_: (optional) The JSON Pointer that identifies the field that is the source of the operation. :attr object value: (optional) The value to be used within the operation. """ def __init__(self, op: str, path: str, *, from_: str = None, value: object = None) -> None: """ Initialize a JsonPatchOperation object. :param str op: The operation to be performed. :param str path: The JSON Pointer that identifies the field that is the target of the operation. :param str from_: (optional) The JSON Pointer that identifies the field that is the source of the operation. :param object value: (optional) The value to be used within the operation. """ self.op = op self.path = path self.from_ = from_ self.value = value @classmethod def from_dict(cls, _dict: Dict) -> 'JsonPatchOperation': """Initialize a JsonPatchOperation object from a json dictionary.""" args = {} if 'op' in _dict: args['op'] = _dict.get('op') else: raise ValueError('Required property \'op\' not present in JsonPatchOperation JSON') if 'path' in _dict: args['path'] = _dict.get('path') else: raise ValueError('Required property \'path\' not present in JsonPatchOperation JSON') if 'from' in _dict: args['from_'] = _dict.get('from') if 'value' in _dict: args['value'] = _dict.get('value') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a JsonPatchOperation object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'op') and self.op is not None: _dict['op'] = self.op if hasattr(self, 'path') and self.path is not None: _dict['path'] = self.path if hasattr(self, 'from_') and self.from_ is not None: _dict['from'] = self.from_ if hasattr(self, 'value') and self.value is not None: _dict['value'] = self.value return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this JsonPatchOperation object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'JsonPatchOperation') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'JsonPatchOperation') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class OpEnum(str, Enum): """ The operation to be performed. """ ADD = 'add' REMOVE = 'remove' REPLACE = 'replace' MOVE = 'move' COPY = 'copy' TEST = 'test'
class ListDetectorsResponse(): """ ListDetectorsResponse. :attr List[Detector] detectors: List of built-in detectors from detector_template.json. :attr List[Detector] custom_detectors: List of custom detectors from CAMs. """ def __init__(self, detectors: List['Detector'], custom_detectors: List['Detector']) -> None: """ Initialize a ListDetectorsResponse object. :param List[Detector] detectors: List of built-in detectors from detector_template.json. :param List[Detector] custom_detectors: List of custom detectors from CAMs. """ self.detectors = detectors self.custom_detectors = custom_detectors @classmethod def from_dict(cls, _dict: Dict) -> 'ListDetectorsResponse': """Initialize a ListDetectorsResponse object from a json dictionary.""" args = {} if 'detectors' in _dict: args['detectors'] = [Detector.from_dict(x) for x in _dict.get('detectors')] else: raise ValueError('Required property \'detectors\' not present in ListDetectorsResponse JSON') if 'custom_detectors' in _dict: args['custom_detectors'] = [Detector.from_dict(x) for x in _dict.get('custom_detectors')] else: raise ValueError('Required property \'custom_detectors\' not present in ListDetectorsResponse JSON') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a ListDetectorsResponse object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'detectors') and self.detectors is not None: _dict['detectors'] = [x.to_dict() for x in self.detectors] if hasattr(self, 'custom_detectors') and self.custom_detectors is not None: _dict['custom_detectors'] = [x.to_dict() for x in self.custom_detectors] return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this ListDetectorsResponse object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'ListDetectorsResponse') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'ListDetectorsResponse') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class LocationSchemaName(): """ LocationSchemaName. :attr str schema_name: (optional) Database schema name (for PostgreSQL default is a public schema). """ def __init__(self, *, schema_name: str = None) -> None: """ Initialize a LocationSchemaName object. :param str schema_name: (optional) Database schema name (for PostgreSQL default is a public schema). """ self.schema_name = schema_name @classmethod def from_dict(cls, _dict: Dict) -> 'LocationSchemaName': """Initialize a LocationSchemaName object from a json dictionary.""" args = {} if 'schema_name' in _dict: args['schema_name'] = _dict.get('schema_name') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a LocationSchemaName object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'schema_name') and self.schema_name is not None: _dict['schema_name'] = self.schema_name return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this LocationSchemaName object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'LocationSchemaName') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'LocationSchemaName') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class LocationTableName(): """ LocationTableName. :attr str table_name: (optional) Database table name. """ def __init__(self, *, table_name: str = None) -> None: """ Initialize a LocationTableName object. :param str table_name: (optional) Database table name. """ self.table_name = table_name @classmethod def from_dict(cls, _dict: Dict) -> 'LocationTableName': """Initialize a LocationTableName object from a json dictionary.""" args = {} if 'table_name' in _dict: args['table_name'] = _dict.get('table_name') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a LocationTableName object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'table_name') and self.table_name is not None: _dict['table_name'] = self.table_name return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this LocationTableName object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'LocationTableName') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'LocationTableName') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class MLCredentials(): """ MLCredentials. """ def __init__(self, **kwargs) -> None: """ Initialize a MLCredentials object. :param **kwargs: (optional) Any additional properties. """ msg = "Cannot instantiate base class. Instead, instantiate one of the defined subclasses: {0}".format( ", ".join(['SageMakerCredentials', 'AzureCredentials', 'CustomCredentials', 'WMLCredentialsCloud', 'WMLCredentialsCP4D', 'SPSSCredentials', 'MLCredentialsWXOCredentials', 'UnknownCredentials'])) raise Exception(msg) class MeasurementEntity(): """ MeasurementEntity. :attr datetime timestamp: :attr str run_id: (optional) ID of the monitoring run which produced the measurement. :attr List[MonitorMeasurementValue] values: Metrics grouped for a single measurement. :attr int issue_count: Number of the metrics with issues, which exceeded limits. :attr str asset_revision: (optional) Revision number of the ML model or function used by the monitor. :attr Target target: (optional) :attr str monitor_instance_id: (optional) :attr str monitor_definition_id: (optional) """ def __init__(self, timestamp: datetime, values: List['MonitorMeasurementValue'], issue_count: int, *, run_id: str = None, asset_revision: str = None, target: 'Target' = None, monitor_instance_id: str = None, monitor_definition_id: str = None) -> None: """ Initialize a MeasurementEntity object. :param datetime timestamp: :param List[MonitorMeasurementValue] values: Metrics grouped for a single measurement. :param int issue_count: Number of the metrics with issues, which exceeded limits. :param str run_id: (optional) ID of the monitoring run which produced the measurement. :param str asset_revision: (optional) Revision number of the ML model or function used by the monitor. :param Target target: (optional) :param str monitor_instance_id: (optional) :param str monitor_definition_id: (optional) """ self.timestamp = timestamp self.run_id = run_id self.values = values self.issue_count = issue_count self.asset_revision = asset_revision self.target = target self.monitor_instance_id = monitor_instance_id self.monitor_definition_id = monitor_definition_id @classmethod def from_dict(cls, _dict: Dict) -> 'MeasurementEntity': """Initialize a MeasurementEntity object from a json dictionary.""" args = {} if 'timestamp' in _dict: args['timestamp'] = string_to_datetime(_dict.get('timestamp')) else: raise ValueError('Required property \'timestamp\' not present in MeasurementEntity JSON') if 'run_id' in _dict: args['run_id'] = _dict.get('run_id') if 'values' in _dict: args['values'] = [MonitorMeasurementValue.from_dict(x) for x in _dict.get('values')] else: raise ValueError('Required property \'values\' not present in MeasurementEntity JSON') if 'issue_count' in _dict: args['issue_count'] = _dict.get('issue_count') else: raise ValueError('Required property \'issue_count\' not present in MeasurementEntity JSON') if 'asset_revision' in _dict: args['asset_revision'] = _dict.get('asset_revision') if 'target' in _dict: args['target'] = Target.from_dict(_dict.get('target')) if 'monitor_instance_id' in _dict: args['monitor_instance_id'] = _dict.get('monitor_instance_id') if 'monitor_definition_id' in _dict: args['monitor_definition_id'] = _dict.get('monitor_definition_id') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a MeasurementEntity object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'timestamp') and self.timestamp is not None: _dict['timestamp'] = datetime_to_string(self.timestamp) if hasattr(self, 'run_id') and self.run_id is not None: _dict['run_id'] = self.run_id if hasattr(self, 'values') and self.values is not None: _dict['values'] = [x.to_dict() for x in self.values] if hasattr(self, 'issue_count') and self.issue_count is not None: _dict['issue_count'] = self.issue_count if hasattr(self, 'asset_revision') and self.asset_revision is not None: _dict['asset_revision'] = self.asset_revision if hasattr(self, 'target') and self.target is not None: _dict['target'] = self.target.to_dict() if hasattr(self, 'monitor_instance_id') and self.monitor_instance_id is not None: _dict['monitor_instance_id'] = self.monitor_instance_id if hasattr(self, 'monitor_definition_id') and self.monitor_definition_id is not None: _dict['monitor_definition_id'] = self.monitor_definition_id return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this MeasurementEntity object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'MeasurementEntity') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'MeasurementEntity') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class MeasurementsResponseCollection(): """ MeasurementsResponseCollection. :attr List[MeasurementsResponseCollectionMeasurementsItem] measurements: """ def __init__(self, measurements: List['MeasurementsResponseCollectionMeasurementsItem']) -> None: """ Initialize a MeasurementsResponseCollection object. :param List[MeasurementsResponseCollectionMeasurementsItem] measurements: """ self.measurements = measurements @classmethod def from_dict(cls, _dict: Dict) -> 'MeasurementsResponseCollection': """Initialize a MeasurementsResponseCollection object from a json dictionary.""" args = {} if 'measurements' in _dict: args['measurements'] = [MeasurementsResponseCollectionMeasurementsItem.from_dict(x) for x in _dict.get('measurements')] else: raise ValueError('Required property \'measurements\' not present in MeasurementsResponseCollection JSON') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a MeasurementsResponseCollection object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'measurements') and self.measurements is not None: _dict['measurements'] = [x.to_dict() for x in self.measurements] return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this MeasurementsResponseCollection object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'MeasurementsResponseCollection') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'MeasurementsResponseCollection') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class MeasurementsResponseCollectionMeasurementsItem(): """ MeasurementsResponseCollectionMeasurementsItem. :attr Metadata metadata: :attr MeasurementEntity entity: """ def __init__(self, metadata: 'Metadata', entity: 'MeasurementEntity') -> None: """ Initialize a MeasurementsResponseCollectionMeasurementsItem object. :param Metadata metadata: :param MeasurementEntity entity: """ self.metadata = metadata self.entity = entity @classmethod def from_dict(cls, _dict: Dict) -> 'MeasurementsResponseCollectionMeasurementsItem': """Initialize a MeasurementsResponseCollectionMeasurementsItem object from a json dictionary.""" args = {} if 'metadata' in _dict: args['metadata'] = Metadata.from_dict(_dict.get('metadata')) else: raise ValueError('Required property \'metadata\' not present in MeasurementsResponseCollectionMeasurementsItem JSON') if 'entity' in _dict: args['entity'] = MeasurementEntity.from_dict(_dict.get('entity')) else: raise ValueError('Required property \'entity\' not present in MeasurementsResponseCollectionMeasurementsItem JSON') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a MeasurementsResponseCollectionMeasurementsItem object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'metadata') and self.metadata is not None: _dict['metadata'] = self.metadata.to_dict() if hasattr(self, 'entity') and self.entity is not None: _dict['entity'] = self.entity.to_dict() return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this MeasurementsResponseCollectionMeasurementsItem object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'MeasurementsResponseCollectionMeasurementsItem') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'MeasurementsResponseCollectionMeasurementsItem') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class Metadata(): """ Metadata. :attr str id: The ID (typically a GUID) which uniquely identifies the resource. :attr str crn: (optional) Cloud Resource Name (CRN) uniquely identify IBM Cloud resource (https://console.bluemix.net/docs/overview/crn.html). :attr str url: The URL which can be used to uniquely refer to the resource Typically a GET on this url would return details of the resource, a DELETE would delete it and a PUT/PATCH would update it. :attr datetime created_at: (optional) The timestamp when the resource was first created In format YYYY-MM-DDTHH:mm:ssZ or YYYY-MM-DDTHH:mm:ss.sssZ, matching the date-time format as specified by RFC 3339. :attr str created_by: (optional) The IAM ID of the user who created the resource. :attr datetime modified_at: (optional) The timestamp when the resource was first created In format YYYY-MM-DDTHH:mm:ssZ or YYYY-MM-DDTHH:mm:ss.sssZ, matching the date-time format as specified by RFC 3339. :attr str modified_by: (optional) The IAM ID of the user who last modified the resource. :attr str account_id: (optional) The BSS Account id of the account. """ def __init__(self, id: str, url: str, *, crn: str = None, created_at: datetime = None, created_by: str = None, modified_at: datetime = None, modified_by: str = None, account_id: str = None) -> None: """ Initialize a Metadata object. :param str id: The ID (typically a GUID) which uniquely identifies the resource. :param str url: The URL which can be used to uniquely refer to the resource Typically a GET on this url would return details of the resource, a DELETE would delete it and a PUT/PATCH would update it. :param str crn: (optional) Cloud Resource Name (CRN) uniquely identify IBM Cloud resource (https://console.bluemix.net/docs/overview/crn.html). :param datetime created_at: (optional) The timestamp when the resource was first created In format YYYY-MM-DDTHH:mm:ssZ or YYYY-MM-DDTHH:mm:ss.sssZ, matching the date-time format as specified by RFC 3339. :param str created_by: (optional) The IAM ID of the user who created the resource. :param datetime modified_at: (optional) The timestamp when the resource was first created In format YYYY-MM-DDTHH:mm:ssZ or YYYY-MM-DDTHH:mm:ss.sssZ, matching the date-time format as specified by RFC 3339. :param str modified_by: (optional) The IAM ID of the user who last modified the resource. :param str account_id: (optional) The BSS Account id of the account. """ self.id = id self.crn = crn self.url = url self.created_at = created_at self.created_by = created_by self.modified_at = modified_at self.modified_by = modified_by self.account_id = account_id @classmethod def from_dict(cls, _dict: Dict) -> 'Metadata': """Initialize a Metadata object from a json dictionary.""" args = {} if 'id' in _dict: args['id'] = _dict.get('id') else: raise ValueError('Required property \'id\' not present in Metadata JSON') if 'crn' in _dict: args['crn'] = _dict.get('crn') if 'url' in _dict: args['url'] = _dict.get('url') else: raise ValueError('Required property \'url\' not present in Metadata JSON') if 'created_at' in _dict: args['created_at'] = string_to_datetime(_dict.get('created_at')) if 'created_by' in _dict: args['created_by'] = _dict.get('created_by') if 'modified_at' in _dict: args['modified_at'] = string_to_datetime(_dict.get('modified_at')) if 'modified_by' in _dict: args['modified_by'] = _dict.get('modified_by') if 'account_id' in _dict: args['account_id'] = _dict.get('account_id') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a Metadata object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'id') and self.id is not None: _dict['id'] = self.id if hasattr(self, 'crn') and self.crn is not None: _dict['crn'] = self.crn if hasattr(self, 'url') and self.url is not None: _dict['url'] = self.url if hasattr(self, 'created_at') and self.created_at is not None: _dict['created_at'] = datetime_to_string(self.created_at) if hasattr(self, 'created_by') and self.created_by is not None: _dict['created_by'] = self.created_by if hasattr(self, 'modified_at') and self.modified_at is not None: _dict['modified_at'] = datetime_to_string(self.modified_at) if hasattr(self, 'modified_by') and self.modified_by is not None: _dict['modified_by'] = self.modified_by if hasattr(self, 'account_id') and self.account_id is not None: _dict['account_id'] = self.account_id return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this Metadata object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'Metadata') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'Metadata') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class MetricSpecificThresholdObject(): """ MetricSpecificThresholdObject. :attr str id: :attr float default: default value of threshold. :attr str recommendation: (optional) :attr List[ThresholdConditionObject] applies_to: """ def __init__(self, id: str, default: float, applies_to: List['ThresholdConditionObject'], *, recommendation: str = None) -> None: """ Initialize a MetricSpecificThresholdObject object. :param str id: :param float default: default value of threshold. :param List[ThresholdConditionObject] applies_to: :param str recommendation: (optional) """ self.id = id self.default = default self.recommendation = recommendation self.applies_to = applies_to @classmethod def from_dict(cls, _dict: Dict) -> 'MetricSpecificThresholdObject': """Initialize a MetricSpecificThresholdObject object from a json dictionary.""" args = {} if 'id' in _dict: args['id'] = _dict.get('id') else: raise ValueError('Required property \'id\' not present in MetricSpecificThresholdObject JSON') if 'default' in _dict: args['default'] = _dict.get('default') else: raise ValueError('Required property \'default\' not present in MetricSpecificThresholdObject JSON') if 'recommendation' in _dict: args['recommendation'] = _dict.get('recommendation') if 'applies_to' in _dict: args['applies_to'] = [ThresholdConditionObject.from_dict(x) for x in _dict.get('applies_to')] else: raise ValueError('Required property \'applies_to\' not present in MetricSpecificThresholdObject JSON') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a MetricSpecificThresholdObject object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'id') and self.id is not None: _dict['id'] = self.id if hasattr(self, 'default') and self.default is not None: _dict['default'] = self.default if hasattr(self, 'recommendation') and self.recommendation is not None: _dict['recommendation'] = self.recommendation if hasattr(self, 'applies_to') and self.applies_to is not None: _dict['applies_to'] = [x.to_dict() for x in self.applies_to] return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this MetricSpecificThresholdObject object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'MetricSpecificThresholdObject') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'MetricSpecificThresholdObject') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class MetricSpecificThresholdShortObject(): """ MetricSpecificThresholdShortObject. :attr float value: value of threshold. :attr List[ThresholdConditionObject] applies_to: """ def __init__(self, value: float, applies_to: List['ThresholdConditionObject']) -> None: """ Initialize a MetricSpecificThresholdShortObject object. :param float value: value of threshold. :param List[ThresholdConditionObject] applies_to: """ self.value = value self.applies_to = applies_to @classmethod def from_dict(cls, _dict: Dict) -> 'MetricSpecificThresholdShortObject': """Initialize a MetricSpecificThresholdShortObject object from a json dictionary.""" args = {} if 'value' in _dict: args['value'] = _dict.get('value') else: raise ValueError('Required property \'value\' not present in MetricSpecificThresholdShortObject JSON') if 'applies_to' in _dict: args['applies_to'] = [ThresholdConditionObject.from_dict(x) for x in _dict.get('applies_to')] else: raise ValueError('Required property \'applies_to\' not present in MetricSpecificThresholdShortObject JSON') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a MetricSpecificThresholdShortObject object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'value') and self.value is not None: _dict['value'] = self.value if hasattr(self, 'applies_to') and self.applies_to is not None: _dict['applies_to'] = [x.to_dict() for x in self.applies_to] return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this MetricSpecificThresholdShortObject object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'MetricSpecificThresholdShortObject') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'MetricSpecificThresholdShortObject') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other
[docs] class MetricThreshold(): """ MetricThreshold. :attr str type: :attr float default: (optional) default value of threshold. :attr str default_recommendation: (optional) :attr List[MetricSpecificThresholdObject] specific_values: (optional) """ def __init__(self, type: str, *, default: float = None, default_recommendation: str = None, specific_values: List['MetricSpecificThresholdObject'] = None) -> None: """ Initialize a MetricThreshold object. :param str type: :param float default: (optional) default value of threshold. :param str default_recommendation: (optional) :param List[MetricSpecificThresholdObject] specific_values: (optional) """ self.type = type self.default = default self.default_recommendation = default_recommendation self.specific_values = specific_values @classmethod def from_dict(cls, _dict: Dict) -> 'MetricThreshold': """Initialize a MetricThreshold object from a json dictionary.""" args = {} if 'type' in _dict: args['type'] = _dict.get('type') else: raise ValueError('Required property \'type\' not present in MetricThreshold JSON') if 'default' in _dict: args['default'] = _dict.get('default') if 'default_recommendation' in _dict: args['default_recommendation'] = _dict.get('default_recommendation') if 'specific_values' in _dict: args['specific_values'] = [MetricSpecificThresholdObject.from_dict(x) for x in _dict.get('specific_values')] return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a MetricThreshold object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'type') and self.type is not None: _dict['type'] = self.type if hasattr(self, 'default') and self.default is not None: _dict['default'] = self.default if hasattr(self, 'default_recommendation') and self.default_recommendation is not None: _dict['default_recommendation'] = self.default_recommendation if hasattr(self, 'specific_values') and self.specific_values is not None: _dict['specific_values'] = [x.to_dict() for x in self.specific_values] return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this MetricThreshold object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'MetricThreshold') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'MetricThreshold') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class TypeEnum(str, Enum): """ type. """ LOWER_LIMIT = 'lower_limit' UPPER_LIMIT = 'upper_limit'
class MetricThresholdOverride(): """ MetricThresholdOverride. :attr str metric_id: :attr str type: :attr float value: (optional) value of the threshold. :attr List[MetricSpecificThresholdShortObject] specific_values: (optional) """ def __init__(self, metric_id: str, type: str, *, value: float = None, specific_values: List['MetricSpecificThresholdShortObject'] = None) -> None: """ Initialize a MetricThresholdOverride object. :param str metric_id: :param str type: :param float value: (optional) value of the threshold. :param List[MetricSpecificThresholdShortObject] specific_values: (optional) """ self.metric_id = metric_id self.type = type self.value = value self.specific_values = specific_values @classmethod def from_dict(cls, _dict: Dict) -> 'MetricThresholdOverride': """Initialize a MetricThresholdOverride object from a json dictionary.""" args = {} if 'metric_id' in _dict: args['metric_id'] = _dict.get('metric_id') else: raise ValueError('Required property \'metric_id\' not present in MetricThresholdOverride JSON') if 'type' in _dict: args['type'] = _dict.get('type') else: raise ValueError('Required property \'type\' not present in MetricThresholdOverride JSON') if 'value' in _dict: args['value'] = _dict.get('value') if 'specific_values' in _dict: args['specific_values'] = [MetricSpecificThresholdShortObject.from_dict(x) for x in _dict.get('specific_values')] return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a MetricThresholdOverride object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'metric_id') and self.metric_id is not None: _dict['metric_id'] = self.metric_id if hasattr(self, 'type') and self.type is not None: _dict['type'] = self.type if hasattr(self, 'value') and self.value is not None: _dict['value'] = self.value if hasattr(self, 'specific_values') and self.specific_values is not None: _dict['specific_values'] = [x.to_dict() for x in self.specific_values] return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this MetricThresholdOverride object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'MetricThresholdOverride') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'MetricThresholdOverride') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class TypeEnum(str, Enum): """ type. """ LOWER_LIMIT = 'lower_limit' UPPER_LIMIT = 'upper_limit' class Monitor(): """ Monitor. :attr str name: Monitor UI label (must be unique). :attr str description: (optional) Long monitoring description presented in monitoring catalog. :attr List[MonitorMetric] metrics: A list of metric definition. :attr List[MonitorTag] tags: Available tags. :attr dict parameters_schema: (optional) JSON schema that will be used to validate monitoring parameters when enabled. :attr dict dictionary: (optional) translated resources. :attr ApplicabilitySelection applies_to: (optional) :attr str managed_by: (optional) :attr MonitorInstanceSchedule schedule: (optional) The schedule used to control how frequently the target is monitored. The maximum frequency is once every 30 minutes. Defaults to once every hour if not specified. :attr MonitorInstanceScheduleCollection schedules: (optional) A set of schedules of online and batch deployment type. If this field is set, schedule field is ignored. :attr MonitorRuntime monitor_runtime: (optional) Field to specify if scheduler should be created or not. """ def __init__(self, name: str, metrics: List['MonitorMetric'], tags: List['MonitorTag'], *, description: str = None, parameters_schema: dict = None, dictionary: dict = None, applies_to: 'ApplicabilitySelection' = None, managed_by: str = None, schedule: 'MonitorInstanceSchedule' = None, schedules: 'MonitorInstanceScheduleCollection' = None, monitor_runtime: 'MonitorRuntime' = None) -> None: """ Initialize a Monitor object. :param str name: Monitor UI label (must be unique). :param List[MonitorMetric] metrics: A list of metric definition. :param List[MonitorTag] tags: Available tags. :param str description: (optional) Long monitoring description presented in monitoring catalog. :param dict parameters_schema: (optional) JSON schema that will be used to validate monitoring parameters when enabled. :param dict dictionary: (optional) translated resources. :param ApplicabilitySelection applies_to: (optional) :param str managed_by: (optional) :param MonitorInstanceSchedule schedule: (optional) The schedule used to control how frequently the target is monitored. The maximum frequency is once every 30 minutes. Defaults to once every hour if not specified. :param MonitorInstanceScheduleCollection schedules: (optional) A set of schedules of online and batch deployment type. If this field is set, schedule field is ignored. :param MonitorRuntime monitor_runtime: (optional) Field to specify if scheduler should be created or not. """ self.name = name self.description = description self.metrics = metrics self.tags = tags self.parameters_schema = parameters_schema self.dictionary = dictionary self.applies_to = applies_to self.managed_by = managed_by self.schedule = schedule self.schedules = schedules self.monitor_runtime = monitor_runtime @classmethod def from_dict(cls, _dict: Dict) -> 'Monitor': """Initialize a Monitor object from a json dictionary.""" args = {} if 'name' in _dict: args['name'] = _dict.get('name') else: raise ValueError('Required property \'name\' not present in Monitor JSON') if 'description' in _dict: args['description'] = _dict.get('description') if 'metrics' in _dict: args['metrics'] = [MonitorMetric.from_dict(x) for x in _dict.get('metrics')] else: raise ValueError('Required property \'metrics\' not present in Monitor JSON') if 'tags' in _dict: args['tags'] = [MonitorTag.from_dict(x) for x in _dict.get('tags')] else: raise ValueError('Required property \'tags\' not present in Monitor JSON') if 'parameters_schema' in _dict: args['parameters_schema'] = _dict.get('parameters_schema') if 'dictionary' in _dict: args['dictionary'] = _dict.get('dictionary') if 'applies_to' in _dict: args['applies_to'] = ApplicabilitySelection.from_dict(_dict.get('applies_to')) if 'managed_by' in _dict: args['managed_by'] = _dict.get('managed_by') if 'schedule' in _dict: args['schedule'] = MonitorInstanceSchedule.from_dict(_dict.get('schedule')) if 'schedules' in _dict: args['schedules'] = MonitorInstanceScheduleCollection.from_dict(_dict.get('schedules')) if 'monitor_runtime' in _dict: args['monitor_runtime'] = MonitorRuntime.from_dict(_dict.get('monitor_runtime')) return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a Monitor object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'name') and self.name is not None: _dict['name'] = self.name if hasattr(self, 'description') and self.description is not None: _dict['description'] = self.description if hasattr(self, 'metrics') and self.metrics is not None: _dict['metrics'] = [x.to_dict() for x in self.metrics] if hasattr(self, 'tags') and self.tags is not None: _dict['tags'] = [x.to_dict() for x in self.tags] if hasattr(self, 'parameters_schema') and self.parameters_schema is not None: _dict['parameters_schema'] = self.parameters_schema if hasattr(self, 'dictionary') and self.dictionary is not None: _dict['dictionary'] = self.dictionary if hasattr(self, 'applies_to') and self.applies_to is not None: _dict['applies_to'] = self.applies_to.to_dict() if hasattr(self, 'managed_by') and self.managed_by is not None: _dict['managed_by'] = self.managed_by if hasattr(self, 'schedule') and self.schedule is not None: _dict['schedule'] = self.schedule.to_dict() if hasattr(self, 'schedules') and self.schedules is not None: _dict['schedules'] = self.schedules.to_dict() if hasattr(self, 'monitor_runtime') and self.monitor_runtime is not None: _dict['monitor_runtime'] = self.monitor_runtime.to_dict() return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this Monitor object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'Monitor') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'Monitor') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class MonitorCollections(): """ MonitorCollections. :attr List[MonitorDisplayForm] monitor_definitions: """ def __init__(self, monitor_definitions: List['MonitorDisplayForm']) -> None: """ Initialize a MonitorCollections object. :param List[MonitorDisplayForm] monitor_definitions: """ self.monitor_definitions = monitor_definitions @classmethod def from_dict(cls, _dict: Dict) -> 'MonitorCollections': """Initialize a MonitorCollections object from a json dictionary.""" args = {} if 'monitor_definitions' in _dict: args['monitor_definitions'] = [MonitorDisplayForm.from_dict(x) for x in _dict.get('monitor_definitions')] else: raise ValueError('Required property \'monitor_definitions\' not present in MonitorCollections JSON') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a MonitorCollections object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'monitor_definitions') and self.monitor_definitions is not None: _dict['monitor_definitions'] = [x.to_dict() for x in self.monitor_definitions] return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this MonitorCollections object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'MonitorCollections') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'MonitorCollections') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class MonitorDisplayForm(): """ MonitorDisplayForm. :attr Metadata metadata: :attr Monitor entity: """ def __init__(self, metadata: 'Metadata', entity: 'Monitor') -> None: """ Initialize a MonitorDisplayForm object. :param Metadata metadata: :param Monitor entity: """ self.metadata = metadata self.entity = entity @classmethod def from_dict(cls, _dict: Dict) -> 'MonitorDisplayForm': """Initialize a MonitorDisplayForm object from a json dictionary.""" args = {} if 'metadata' in _dict: args['metadata'] = Metadata.from_dict(_dict.get('metadata')) else: raise ValueError('Required property \'metadata\' not present in MonitorDisplayForm JSON') if 'entity' in _dict: args['entity'] = Monitor.from_dict(_dict.get('entity')) else: raise ValueError('Required property \'entity\' not present in MonitorDisplayForm JSON') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a MonitorDisplayForm object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'metadata') and self.metadata is not None: _dict['metadata'] = self.metadata.to_dict() if hasattr(self, 'entity') and self.entity is not None: _dict['entity'] = self.entity.to_dict() return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this MonitorDisplayForm object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'MonitorDisplayForm') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'MonitorDisplayForm') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class MonitorInstanceCollection(): """ MonitorInstanceCollection. :attr List[MonitorInstanceResponse] monitor_instances: """ def __init__(self, monitor_instances: List['MonitorInstanceResponse']) -> None: """ Initialize a MonitorInstanceCollection object. :param List[MonitorInstanceResponse] monitor_instances: """ self.monitor_instances = monitor_instances @classmethod def from_dict(cls, _dict: Dict) -> 'MonitorInstanceCollection': """Initialize a MonitorInstanceCollection object from a json dictionary.""" args = {} if 'monitor_instances' in _dict: args['monitor_instances'] = [MonitorInstanceResponse.from_dict(x) for x in _dict.get('monitor_instances')] else: raise ValueError('Required property \'monitor_instances\' not present in MonitorInstanceCollection JSON') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a MonitorInstanceCollection object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'monitor_instances') and self.monitor_instances is not None: _dict['monitor_instances'] = [x.to_dict() for x in self.monitor_instances] return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this MonitorInstanceCollection object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'MonitorInstanceCollection') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'MonitorInstanceCollection') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class MonitorInstanceResponse(): """ MonitorInstanceResponse. :attr Metadata metadata: (optional) :attr MonitorInstanceResponseEntity entity: (optional) """ def __init__(self, *, metadata: 'Metadata' = None, entity: 'MonitorInstanceResponseEntity' = None) -> None: """ Initialize a MonitorInstanceResponse object. :param Metadata metadata: (optional) :param MonitorInstanceResponseEntity entity: (optional) """ self.metadata = metadata self.entity = entity @classmethod def from_dict(cls, _dict: Dict) -> 'MonitorInstanceResponse': """Initialize a MonitorInstanceResponse object from a json dictionary.""" args = {} if 'metadata' in _dict: args['metadata'] = Metadata.from_dict(_dict.get('metadata')) if 'entity' in _dict: args['entity'] = MonitorInstanceResponseEntity.from_dict(_dict.get('entity')) return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a MonitorInstanceResponse object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'metadata') and self.metadata is not None: _dict['metadata'] = self.metadata.to_dict() if hasattr(self, 'entity') and self.entity is not None: _dict['entity'] = self.entity.to_dict() return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this MonitorInstanceResponse object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'MonitorInstanceResponse') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'MonitorInstanceResponse') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class MonitorInstanceResponseEntity(): """ MonitorInstanceResponseEntity. :attr str data_mart_id: :attr str monitor_definition_id: :attr Target target: :attr dict parameters: (optional) Monitoring parameters consistent with the `parameters_schema` from the monitor definition. :attr List[MetricThresholdOverride] thresholds: (optional) :attr MonitorInstanceSchedule schedule: (optional) The schedule used to control how frequently the target is monitored. The maximum frequency is once every 30 minutes. Defaults to once every hour if not specified. :attr str schedule_id: (optional) :attr str managed_by: (optional) :attr RecordsCountSummary unprocessed_records: (optional) Summary about records count. :attr MonitorInstanceTotalRecords total_records: (optional) Summary about records count. :attr MonitorInstanceResponseEntityStatus status: """ def __init__(self, data_mart_id: str, monitor_definition_id: str, target: 'Target', status: 'MonitorInstanceResponseEntityStatus', *, parameters: dict = None, thresholds: List['MetricThresholdOverride'] = None, schedule: 'MonitorInstanceSchedule' = None, schedule_id: str = None, managed_by: str = None, unprocessed_records: 'RecordsCountSummary' = None, total_records: 'MonitorInstanceTotalRecords' = None) -> None: """ Initialize a MonitorInstanceResponseEntity object. :param str data_mart_id: :param str monitor_definition_id: :param Target target: :param MonitorInstanceResponseEntityStatus status: :param dict parameters: (optional) Monitoring parameters consistent with the `parameters_schema` from the monitor definition. :param List[MetricThresholdOverride] thresholds: (optional) :param MonitorInstanceSchedule schedule: (optional) The schedule used to control how frequently the target is monitored. The maximum frequency is once every 30 minutes. Defaults to once every hour if not specified. :param str schedule_id: (optional) :param str managed_by: (optional) :param RecordsCountSummary unprocessed_records: (optional) Summary about records count. :param MonitorInstanceTotalRecords total_records: (optional) Summary about records count. """ self.data_mart_id = data_mart_id self.monitor_definition_id = monitor_definition_id self.target = target self.parameters = parameters self.thresholds = thresholds self.schedule = schedule self.schedule_id = schedule_id self.managed_by = managed_by self.unprocessed_records = unprocessed_records self.total_records = total_records self.status = status @classmethod def from_dict(cls, _dict: Dict) -> 'MonitorInstanceResponseEntity': """Initialize a MonitorInstanceResponseEntity object from a json dictionary.""" args = {} if 'data_mart_id' in _dict: args['data_mart_id'] = _dict.get('data_mart_id') else: raise ValueError('Required property \'data_mart_id\' not present in MonitorInstanceResponseEntity JSON') if 'monitor_definition_id' in _dict: args['monitor_definition_id'] = _dict.get('monitor_definition_id') else: raise ValueError('Required property \'monitor_definition_id\' not present in MonitorInstanceResponseEntity JSON') if 'target' in _dict: args['target'] = Target.from_dict(_dict.get('target')) else: raise ValueError('Required property \'target\' not present in MonitorInstanceResponseEntity JSON') if 'parameters' in _dict: args['parameters'] = _dict.get('parameters') if 'thresholds' in _dict: args['thresholds'] = [MetricThresholdOverride.from_dict(x) for x in _dict.get('thresholds')] if 'schedule' in _dict: args['schedule'] = MonitorInstanceSchedule.from_dict(_dict.get('schedule')) if 'schedule_id' in _dict: args['schedule_id'] = _dict.get('schedule_id') if 'managed_by' in _dict: args['managed_by'] = _dict.get('managed_by') if 'unprocessed_records' in _dict: args['unprocessed_records'] = RecordsCountSummary.from_dict(_dict.get('unprocessed_records')) if 'total_records' in _dict: args['total_records'] = MonitorInstanceTotalRecords.from_dict(_dict.get('total_records')) if 'status' in _dict: args['status'] = MonitorInstanceResponseEntityStatus.from_dict(_dict.get('status')) else: raise ValueError('Required property \'status\' not present in MonitorInstanceResponseEntity JSON') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a MonitorInstanceResponseEntity object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'data_mart_id') and self.data_mart_id is not None: _dict['data_mart_id'] = self.data_mart_id if hasattr(self, 'monitor_definition_id') and self.monitor_definition_id is not None: _dict['monitor_definition_id'] = self.monitor_definition_id if hasattr(self, 'target') and self.target is not None: _dict['target'] = self.target.to_dict() if hasattr(self, 'parameters') and self.parameters is not None: _dict['parameters'] = self.parameters if hasattr(self, 'thresholds') and self.thresholds is not None: _dict['thresholds'] = [x.to_dict() for x in self.thresholds] if hasattr(self, 'schedule') and self.schedule is not None: _dict['schedule'] = self.schedule.to_dict() if hasattr(self, 'schedule_id') and self.schedule_id is not None: _dict['schedule_id'] = self.schedule_id if hasattr(self, 'managed_by') and self.managed_by is not None: _dict['managed_by'] = self.managed_by if hasattr(self, 'unprocessed_records') and self.unprocessed_records is not None: _dict['unprocessed_records'] = self.unprocessed_records.to_dict() if hasattr(self, 'total_records') and self.total_records is not None: _dict['total_records'] = self.total_records.to_dict() if hasattr(self, 'status') and self.status is not None: _dict['status'] = self.status.to_dict() return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this MonitorInstanceResponseEntity object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'MonitorInstanceResponseEntity') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'MonitorInstanceResponseEntity') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class MonitorInstanceResponseEntityStatus(): """ MonitorInstanceResponseEntityStatus. :attr str state: :attr GenericErrorResponse failure: (optional) :attr MonitorInstanceResponseEntityStatusActivityStatus activity_status: (optional) """ def __init__(self, state: str, *, failure: 'GenericErrorResponse' = None, activity_status: 'MonitorInstanceResponseEntityStatusActivityStatus' = None) -> None: """ Initialize a MonitorInstanceResponseEntityStatus object. :param str state: :param GenericErrorResponse failure: (optional) :param MonitorInstanceResponseEntityStatusActivityStatus activity_status: (optional) """ self.state = state self.failure = failure self.activity_status = activity_status @classmethod def from_dict(cls, _dict: Dict) -> 'MonitorInstanceResponseEntityStatus': """Initialize a MonitorInstanceResponseEntityStatus object from a json dictionary.""" args = {} if 'state' in _dict: args['state'] = _dict.get('state') else: raise ValueError('Required property \'state\' not present in MonitorInstanceResponseEntityStatus JSON') if 'failure' in _dict: args['failure'] = GenericErrorResponse.from_dict(_dict.get('failure')) if 'activity_status' in _dict: args['activity_status'] = MonitorInstanceResponseEntityStatusActivityStatus.from_dict(_dict.get('activity_status')) return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a MonitorInstanceResponseEntityStatus object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'state') and self.state is not None: _dict['state'] = self.state if hasattr(self, 'failure') and self.failure is not None: _dict['failure'] = self.failure.to_dict() if hasattr(self, 'activity_status') and self.activity_status is not None: _dict['activity_status'] = self.activity_status.to_dict() return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this MonitorInstanceResponseEntityStatus object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'MonitorInstanceResponseEntityStatus') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'MonitorInstanceResponseEntityStatus') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class StateEnum(str, Enum): """ state. """ PREPARING = 'preparing' ACTIVE = 'active' FAILED = 'failed' DELETING = 'deleting' PENDING_DELETE = 'pending_delete' class MonitorInstanceResponseEntityStatusActivityStatus(): """ MonitorInstanceResponseEntityStatusActivityStatus. :attr str id: (optional) :attr str url: (optional) """ def __init__(self, *, id: str = None, url: str = None) -> None: """ Initialize a MonitorInstanceResponseEntityStatusActivityStatus object. :param str id: (optional) :param str url: (optional) """ self.id = id self.url = url @classmethod def from_dict(cls, _dict: Dict) -> 'MonitorInstanceResponseEntityStatusActivityStatus': """Initialize a MonitorInstanceResponseEntityStatusActivityStatus object from a json dictionary.""" args = {} if 'id' in _dict: args['id'] = _dict.get('id') if 'url' in _dict: args['url'] = _dict.get('url') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a MonitorInstanceResponseEntityStatusActivityStatus object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'id') and self.id is not None: _dict['id'] = self.id if hasattr(self, 'url') and self.url is not None: _dict['url'] = self.url return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this MonitorInstanceResponseEntityStatusActivityStatus object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'MonitorInstanceResponseEntityStatusActivityStatus') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'MonitorInstanceResponseEntityStatusActivityStatus') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class MonitorInstanceSchedule(): """ The schedule used to control how frequently the target is monitored. The maximum frequency is once every 30 minutes. Defaults to once every hour if not specified. :attr int repeat_interval: The interval to monitor the target. :attr str repeat_unit: The type of interval to monitor the target. :attr ScheduleStartTime start_time: (optional) Definition of first run time for scheduled activity; either absolute or relative the the moment of activation. :attr str repeat_type: (optional) The type of interval to monitor the target. :attr str status: (optional) The status of scheduler to trigger new evaluation based on configuration. """ def __init__(self, repeat_interval: int, repeat_unit: str, *, start_time: 'ScheduleStartTime' = None, repeat_type: str = None, status: str = None) -> None: """ Initialize a MonitorInstanceSchedule object. :param int repeat_interval: The interval to monitor the target. :param str repeat_unit: The type of interval to monitor the target. :param ScheduleStartTime start_time: (optional) Definition of first run time for scheduled activity; either absolute or relative the the moment of activation. :param str repeat_type: (optional) The type of interval to monitor the target. :param str status: (optional) The status of scheduler to trigger new evaluation based on configuration. """ self.repeat_interval = repeat_interval self.repeat_unit = repeat_unit self.start_time = start_time self.repeat_type = repeat_type self.status = status @classmethod def from_dict(cls, _dict: Dict) -> 'MonitorInstanceSchedule': """Initialize a MonitorInstanceSchedule object from a json dictionary.""" args = {} if 'repeat_interval' in _dict: args['repeat_interval'] = _dict.get('repeat_interval') else: raise ValueError('Required property \'repeat_interval\' not present in MonitorInstanceSchedule JSON') if 'repeat_unit' in _dict: args['repeat_unit'] = _dict.get('repeat_unit') else: raise ValueError('Required property \'repeat_unit\' not present in MonitorInstanceSchedule JSON') if 'start_time' in _dict: args['start_time'] = ScheduleStartTime.from_dict(_dict.get('start_time')) if 'repeat_type' in _dict: args['repeat_type'] = _dict.get('repeat_type') if 'status' in _dict: args['status'] = _dict.get('status') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a MonitorInstanceSchedule object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'repeat_interval') and self.repeat_interval is not None: _dict['repeat_interval'] = self.repeat_interval if hasattr(self, 'repeat_unit') and self.repeat_unit is not None: _dict['repeat_unit'] = self.repeat_unit if hasattr(self, 'start_time') and self.start_time is not None: _dict['start_time'] = self.start_time.to_dict() if hasattr(self, 'repeat_type') and self.repeat_type is not None: _dict['repeat_type'] = self.repeat_type if hasattr(self, 'status') and self.status is not None: _dict['status'] = self.status return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this MonitorInstanceSchedule object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'MonitorInstanceSchedule') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'MonitorInstanceSchedule') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class RepeatUnitEnum(str, Enum): """ The type of interval to monitor the target. """ MINUTE = 'minute' HOUR = 'hour' DAY = 'day' WEEK = 'week' MONTH = 'month' YEAR = 'year' class StatusEnum(str, Enum): """ The status of scheduler to trigger new evaluation based on configuration. """ ENABLED = 'enabled' DISABLED = 'disabled' class MonitorInstanceScheduleCollection(): """ A set of schedules used to control how frequently the target is monitored for online and batch deployment type. :attr MonitorInstanceSchedule online: (optional) Schedule for online deployment type. :attr MonitorInstanceSchedule batch: (optional) Schedule for batch deployment type. """ def __init__(self, *, online: 'MonitorInstanceSchedule' = None, batch: 'MonitorInstanceSchedule' = None) -> None: """ Initialize a MonitorInstanceScheduleCollection object. :param MonitorInstanceSchedule online: (optional) Schedule for online deployment type. :param MonitorInstanceSchedule batch: (optional) Schedule for batch deployment type. """ self.online = online self.batch = batch @classmethod def from_dict(cls, _dict: Dict) -> 'MonitorInstanceScheduleCollection': """Initialize a MonitorInstanceScheduleCollection object from a json dictionary.""" args = {} if 'online' in _dict: args['online'] = MonitorInstanceSchedule.from_dict(_dict.get('online')) if 'batch' in _dict: args['batch'] = MonitorInstanceSchedule.from_dict(_dict.get('batch')) return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a MonitorInstanceScheduleCollection object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'online') and self.online is not None: _dict['online'] = self.online.to_dict() if hasattr(self, 'batch') and self.batch is not None: _dict['batch'] = self.batch.to_dict() return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this MonitorInstanceScheduleCollection object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'MonitorInstanceScheduleCollection') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'MonitorInstanceScheduleCollection') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class MonitorInstanceTotalRecords(): """ Summary about records count. :attr int count: :attr str type: The type of records time. :attr datetime timestamp: (optional) timestamp of last consumed record (only for unprocessed_records). :attr GenericErrorResponse failure: (optional) :attr str value: (optional) """ def __init__(self, count: int, type: str, *, timestamp: datetime = None, failure: 'GenericErrorResponse' = None, value: str = None) -> None: """ Initialize a MonitorInstanceTotalRecords object. :param int count: :param str type: The type of records time. :param datetime timestamp: (optional) timestamp of last consumed record (only for unprocessed_records). :param GenericErrorResponse failure: (optional) :param str value: (optional) """ self.count = count self.type = type self.timestamp = timestamp self.failure = failure self.value = value @classmethod def from_dict(cls, _dict: Dict) -> 'MonitorInstanceTotalRecords': """Initialize a MonitorInstanceTotalRecords object from a json dictionary.""" args = {} if 'count' in _dict: args['count'] = _dict.get('count') else: raise ValueError('Required property \'count\' not present in MonitorInstanceTotalRecords JSON') if 'type' in _dict: args['type'] = _dict.get('type') else: raise ValueError('Required property \'type\' not present in MonitorInstanceTotalRecords JSON') if 'timestamp' in _dict: args['timestamp'] = string_to_datetime(_dict.get('timestamp')) if 'failure' in _dict: args['failure'] = GenericErrorResponse.from_dict(_dict.get('failure')) if 'value' in _dict: args['value'] = _dict.get('value') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a MonitorInstanceTotalRecords object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'count') and self.count is not None: _dict['count'] = self.count if hasattr(self, 'type') and self.type is not None: _dict['type'] = self.type if hasattr(self, 'timestamp') and self.timestamp is not None: _dict['timestamp'] = datetime_to_string(self.timestamp) if hasattr(self, 'failure') and self.failure is not None: _dict['failure'] = self.failure.to_dict() if hasattr(self, 'value') and self.value is not None: _dict['value'] = self.value return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this MonitorInstanceTotalRecords object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'MonitorInstanceTotalRecords') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'MonitorInstanceTotalRecords') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class TypeEnum(str, Enum): """ The type of records time. """ PAYLOAD_LOGGING = 'payload_logging' FEEDBACK = 'feedback' class MonitorMeasurementMetric(): """ Value and limits for the metrics. :attr str id: :attr float value: :attr float lower_limit: (optional) :attr float upper_limit: (optional) """ def __init__(self, id: str, value: float, *, lower_limit: float = None, upper_limit: float = None) -> None: """ Initialize a MonitorMeasurementMetric object. :param str id: :param float value: :param float lower_limit: (optional) :param float upper_limit: (optional) """ self.id = id self.value = value self.lower_limit = lower_limit self.upper_limit = upper_limit @classmethod def from_dict(cls, _dict: Dict) -> 'MonitorMeasurementMetric': """Initialize a MonitorMeasurementMetric object from a json dictionary.""" args = {} if 'id' in _dict: args['id'] = _dict.get('id') else: raise ValueError('Required property \'id\' not present in MonitorMeasurementMetric JSON') if 'value' in _dict: args['value'] = _dict.get('value') else: raise ValueError('Required property \'value\' not present in MonitorMeasurementMetric JSON') if 'lower_limit' in _dict: args['lower_limit'] = _dict.get('lower_limit') if 'upper_limit' in _dict: args['upper_limit'] = _dict.get('upper_limit') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a MonitorMeasurementMetric object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'id') and self.id is not None: _dict['id'] = self.id if hasattr(self, 'value') and self.value is not None: _dict['value'] = self.value if hasattr(self, 'lower_limit') and self.lower_limit is not None: _dict['lower_limit'] = self.lower_limit if hasattr(self, 'upper_limit') and self.upper_limit is not None: _dict['upper_limit'] = self.upper_limit return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this MonitorMeasurementMetric object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'MonitorMeasurementMetric') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'MonitorMeasurementMetric') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class MonitorMeasurementRequest(): """ MonitorMeasurementRequest. :attr datetime timestamp: :attr str run_id: (optional) ID of the monitoring run which produced the measurement. :attr List[dict] metrics: Metrics grouped for a single measurement. :attr List[Source] sources: (optional) The sources of the metric. :attr str asset_revision: (optional) Revision number of the ML model or function used by the monitor. """ def __init__(self, timestamp: datetime, metrics: List[dict], *, run_id: str = None, sources: List['Source'] = None, asset_revision: str = None) -> None: """ Initialize a MonitorMeasurementRequest object. :param datetime timestamp: :param List[dict] metrics: Metrics grouped for a single measurement. :param str run_id: (optional) ID of the monitoring run which produced the measurement. :param List[Source] sources: (optional) The sources of the metric. :param str asset_revision: (optional) Revision number of the ML model or function used by the monitor. """ self.timestamp = timestamp self.run_id = run_id self.metrics = metrics self.sources = sources self.asset_revision = asset_revision @classmethod def from_dict(cls, _dict: Dict) -> 'MonitorMeasurementRequest': """Initialize a MonitorMeasurementRequest object from a json dictionary.""" args = {} if 'timestamp' in _dict: args['timestamp'] = string_to_datetime(_dict.get('timestamp')) else: raise ValueError('Required property \'timestamp\' not present in MonitorMeasurementRequest JSON') if 'run_id' in _dict: args['run_id'] = _dict.get('run_id') if 'metrics' in _dict: args['metrics'] = _dict.get('metrics') else: raise ValueError('Required property \'metrics\' not present in MonitorMeasurementRequest JSON') if 'sources' in _dict: args['sources'] = [Source.from_dict(x) for x in _dict.get('sources')] if 'asset_revision' in _dict: args['asset_revision'] = _dict.get('asset_revision') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a MonitorMeasurementRequest object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'timestamp') and self.timestamp is not None: _dict['timestamp'] = datetime_to_string(self.timestamp) if hasattr(self, 'run_id') and self.run_id is not None: _dict['run_id'] = self.run_id if hasattr(self, 'metrics') and self.metrics is not None: _dict['metrics'] = self.metrics if hasattr(self, 'sources') and self.sources is not None: _dict['sources'] = [x.to_dict() for x in self.sources] if hasattr(self, 'asset_revision') and self.asset_revision is not None: _dict['asset_revision'] = self.asset_revision return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this MonitorMeasurementRequest object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'MonitorMeasurementRequest') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'MonitorMeasurementRequest') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class MonitorMeasurementResponse(): """ MonitorMeasurementResponse. :attr Metadata metadata: :attr MonitorMeasurementResponseEntity entity: """ def __init__(self, metadata: 'Metadata', entity: 'MonitorMeasurementResponseEntity') -> None: """ Initialize a MonitorMeasurementResponse object. :param Metadata metadata: :param MonitorMeasurementResponseEntity entity: """ self.metadata = metadata self.entity = entity @classmethod def from_dict(cls, _dict: Dict) -> 'MonitorMeasurementResponse': """Initialize a MonitorMeasurementResponse object from a json dictionary.""" args = {} if 'metadata' in _dict: args['metadata'] = Metadata.from_dict(_dict.get('metadata')) else: raise ValueError('Required property \'metadata\' not present in MonitorMeasurementResponse JSON') if 'entity' in _dict: args['entity'] = MonitorMeasurementResponseEntity.from_dict(_dict.get('entity')) else: raise ValueError('Required property \'entity\' not present in MonitorMeasurementResponse JSON') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a MonitorMeasurementResponse object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'metadata') and self.metadata is not None: _dict['metadata'] = self.metadata.to_dict() if hasattr(self, 'entity') and self.entity is not None: _dict['entity'] = self.entity.to_dict() return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this MonitorMeasurementResponse object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'MonitorMeasurementResponse') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'MonitorMeasurementResponse') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class MonitorMeasurementResponseCollection(): """ MonitorMeasurementResponseCollection. :attr datetime start: (optional) Beginning of the time range. :attr datetime end: (optional) End of the time range. :attr int limit: (optional) Maximum number of measurements returned. :attr int offset: (optional) Offset of measurements returned. :attr List[MonitorMeasurementResponseCollectionMeasurementsItem] measurements: """ def __init__(self, measurements: List['MonitorMeasurementResponseCollectionMeasurementsItem'], *, start: datetime = None, end: datetime = None, limit: int = None, offset: int = None) -> None: """ Initialize a MonitorMeasurementResponseCollection object. :param List[MonitorMeasurementResponseCollectionMeasurementsItem] measurements: :param datetime start: (optional) Beginning of the time range. :param datetime end: (optional) End of the time range. :param int limit: (optional) Maximum number of measurements returned. :param int offset: (optional) Offset of measurements returned. """ self.start = start self.end = end self.limit = limit self.offset = offset self.measurements = measurements @classmethod def from_dict(cls, _dict: Dict) -> 'MonitorMeasurementResponseCollection': """Initialize a MonitorMeasurementResponseCollection object from a json dictionary.""" args = {} if 'start' in _dict: args['start'] = string_to_datetime(_dict.get('start')) if 'end' in _dict: args['end'] = string_to_datetime(_dict.get('end')) if 'limit' in _dict: args['limit'] = _dict.get('limit') if 'offset' in _dict: args['offset'] = _dict.get('offset') if 'measurements' in _dict: args['measurements'] = [MonitorMeasurementResponseCollectionMeasurementsItem.from_dict(x) for x in _dict.get('measurements')] else: raise ValueError('Required property \'measurements\' not present in MonitorMeasurementResponseCollection JSON') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a MonitorMeasurementResponseCollection object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'start') and self.start is not None: _dict['start'] = datetime_to_string(self.start) if hasattr(self, 'end') and self.end is not None: _dict['end'] = datetime_to_string(self.end) if hasattr(self, 'limit') and self.limit is not None: _dict['limit'] = self.limit if hasattr(self, 'offset') and self.offset is not None: _dict['offset'] = self.offset if hasattr(self, 'measurements') and self.measurements is not None: _dict['measurements'] = [x.to_dict() for x in self.measurements] return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this MonitorMeasurementResponseCollection object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'MonitorMeasurementResponseCollection') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'MonitorMeasurementResponseCollection') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class MonitorMeasurementResponseCollectionMeasurementsItem(): """ MonitorMeasurementResponseCollectionMeasurementsItem. :attr Metadata metadata: :attr MeasurementEntity entity: """ def __init__(self, metadata: 'Metadata', entity: 'MeasurementEntity') -> None: """ Initialize a MonitorMeasurementResponseCollectionMeasurementsItem object. :param Metadata metadata: :param MeasurementEntity entity: """ self.metadata = metadata self.entity = entity @classmethod def from_dict(cls, _dict: Dict) -> 'MonitorMeasurementResponseCollectionMeasurementsItem': """Initialize a MonitorMeasurementResponseCollectionMeasurementsItem object from a json dictionary.""" args = {} if 'metadata' in _dict: args['metadata'] = Metadata.from_dict(_dict.get('metadata')) else: raise ValueError('Required property \'metadata\' not present in MonitorMeasurementResponseCollectionMeasurementsItem JSON') if 'entity' in _dict: args['entity'] = MeasurementEntity.from_dict(_dict.get('entity')) else: raise ValueError('Required property \'entity\' not present in MonitorMeasurementResponseCollectionMeasurementsItem JSON') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a MonitorMeasurementResponseCollectionMeasurementsItem object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'metadata') and self.metadata is not None: _dict['metadata'] = self.metadata.to_dict() if hasattr(self, 'entity') and self.entity is not None: _dict['entity'] = self.entity.to_dict() return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this MonitorMeasurementResponseCollectionMeasurementsItem object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'MonitorMeasurementResponseCollectionMeasurementsItem') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'MonitorMeasurementResponseCollectionMeasurementsItem') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class MonitorMeasurementResponseEntity(): """ MonitorMeasurementResponseEntity. :attr datetime timestamp: :attr str run_id: (optional) ID of the monitoring run which produced the measurement. :attr List[MonitorMeasurementValue] values: Metrics grouped for a single measurement. :attr int issue_count: Number of the metrics with issues, which exceeded limits. :attr str asset_revision: (optional) Revision number of the ML model or function used by the monitor. :attr Target target: (optional) :attr str monitor_instance_id: (optional) :attr str monitor_definition_id: (optional) :attr List[Source] sources: (optional) The sources of the metric. """ def __init__(self, timestamp: datetime, values: List['MonitorMeasurementValue'], issue_count: int, *, run_id: str = None, asset_revision: str = None, target: 'Target' = None, monitor_instance_id: str = None, monitor_definition_id: str = None, sources: List['Source'] = None) -> None: """ Initialize a MonitorMeasurementResponseEntity object. :param datetime timestamp: :param List[MonitorMeasurementValue] values: Metrics grouped for a single measurement. :param int issue_count: Number of the metrics with issues, which exceeded limits. :param str run_id: (optional) ID of the monitoring run which produced the measurement. :param str asset_revision: (optional) Revision number of the ML model or function used by the monitor. :param Target target: (optional) :param str monitor_instance_id: (optional) :param str monitor_definition_id: (optional) :param List[Source] sources: (optional) The sources of the metric. """ self.timestamp = timestamp self.run_id = run_id self.values = values self.issue_count = issue_count self.asset_revision = asset_revision self.target = target self.monitor_instance_id = monitor_instance_id self.monitor_definition_id = monitor_definition_id self.sources = sources @classmethod def from_dict(cls, _dict: Dict) -> 'MonitorMeasurementResponseEntity': """Initialize a MonitorMeasurementResponseEntity object from a json dictionary.""" args = {} if 'timestamp' in _dict: args['timestamp'] = string_to_datetime(_dict.get('timestamp')) else: raise ValueError('Required property \'timestamp\' not present in MonitorMeasurementResponseEntity JSON') if 'run_id' in _dict: args['run_id'] = _dict.get('run_id') if 'values' in _dict: args['values'] = [MonitorMeasurementValue.from_dict(x) for x in _dict.get('values')] else: raise ValueError('Required property \'values\' not present in MonitorMeasurementResponseEntity JSON') if 'issue_count' in _dict: args['issue_count'] = _dict.get('issue_count') else: raise ValueError('Required property \'issue_count\' not present in MonitorMeasurementResponseEntity JSON') if 'asset_revision' in _dict: args['asset_revision'] = _dict.get('asset_revision') if 'target' in _dict: args['target'] = Target.from_dict(_dict.get('target')) if 'monitor_instance_id' in _dict: args['monitor_instance_id'] = _dict.get('monitor_instance_id') if 'monitor_definition_id' in _dict: args['monitor_definition_id'] = _dict.get('monitor_definition_id') if 'sources' in _dict: args['sources'] = [Source.from_dict(x) for x in _dict.get('sources')] return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a MonitorMeasurementResponseEntity object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'timestamp') and self.timestamp is not None: _dict['timestamp'] = datetime_to_string(self.timestamp) if hasattr(self, 'run_id') and self.run_id is not None: _dict['run_id'] = self.run_id if hasattr(self, 'values') and self.values is not None: _dict['values'] = [x.to_dict() for x in self.values] if hasattr(self, 'issue_count') and self.issue_count is not None: _dict['issue_count'] = self.issue_count if hasattr(self, 'asset_revision') and self.asset_revision is not None: _dict['asset_revision'] = self.asset_revision if hasattr(self, 'target') and self.target is not None: _dict['target'] = self.target.to_dict() if hasattr(self, 'monitor_instance_id') and self.monitor_instance_id is not None: _dict['monitor_instance_id'] = self.monitor_instance_id if hasattr(self, 'monitor_definition_id') and self.monitor_definition_id is not None: _dict['monitor_definition_id'] = self.monitor_definition_id if hasattr(self, 'sources') and self.sources is not None: _dict['sources'] = [x.to_dict() for x in self.sources] return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this MonitorMeasurementResponseEntity object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'MonitorMeasurementResponseEntity') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'MonitorMeasurementResponseEntity') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class MonitorMeasurementTag(): """ Tag related to the metrics. :attr str id: :attr str value: """ def __init__(self, id: str, value: str) -> None: """ Initialize a MonitorMeasurementTag object. :param str id: :param str value: """ self.id = id self.value = value @classmethod def from_dict(cls, _dict: Dict) -> 'MonitorMeasurementTag': """Initialize a MonitorMeasurementTag object from a json dictionary.""" args = {} if 'id' in _dict: args['id'] = _dict.get('id') else: raise ValueError('Required property \'id\' not present in MonitorMeasurementTag JSON') if 'value' in _dict: args['value'] = _dict.get('value') else: raise ValueError('Required property \'value\' not present in MonitorMeasurementTag JSON') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a MonitorMeasurementTag object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'id') and self.id is not None: _dict['id'] = self.id if hasattr(self, 'value') and self.value is not None: _dict['value'] = self.value return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this MonitorMeasurementTag object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'MonitorMeasurementTag') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'MonitorMeasurementTag') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class MonitorMeasurementValue(): """ Measurement metrics and tags. :attr List[MonitorMeasurementMetric] metrics: Metrics related to the measurement. :attr List[MonitorMeasurementTag] tags: Tags related to the measurement. """ def __init__(self, metrics: List['MonitorMeasurementMetric'], tags: List['MonitorMeasurementTag']) -> None: """ Initialize a MonitorMeasurementValue object. :param List[MonitorMeasurementMetric] metrics: Metrics related to the measurement. :param List[MonitorMeasurementTag] tags: Tags related to the measurement. """ self.metrics = metrics self.tags = tags @classmethod def from_dict(cls, _dict: Dict) -> 'MonitorMeasurementValue': """Initialize a MonitorMeasurementValue object from a json dictionary.""" args = {} if 'metrics' in _dict: args['metrics'] = [MonitorMeasurementMetric.from_dict(x) for x in _dict.get('metrics')] else: raise ValueError('Required property \'metrics\' not present in MonitorMeasurementValue JSON') if 'tags' in _dict: args['tags'] = [MonitorMeasurementTag.from_dict(x) for x in _dict.get('tags')] else: raise ValueError('Required property \'tags\' not present in MonitorMeasurementValue JSON') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a MonitorMeasurementValue object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'metrics') and self.metrics is not None: _dict['metrics'] = [x.to_dict() for x in self.metrics] if hasattr(self, 'tags') and self.tags is not None: _dict['tags'] = [x.to_dict() for x in self.tags] return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this MonitorMeasurementValue object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'MonitorMeasurementValue') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'MonitorMeasurementValue') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class MonitorMetric(): """ MonitorMetric. :attr str name: unique name used by UI instead of id (must be unique in scope of the monitor definition across both metrics and tags). :attr str description: (optional) Description of the metrics. :attr List[MetricThreshold] thresholds: (optional) :attr bool required: (optional) :attr ApplicabilitySelection applies_to: (optional) :attr str expected_direction: (optional) the indicator specifying the expected direction of the monotonic metric values. :attr str default_aggregation: (optional) :attr str id: """ def __init__(self, name: str, id: str, *, description: str = None, thresholds: List['MetricThreshold'] = None, required: bool = None, applies_to: 'ApplicabilitySelection' = None, expected_direction: str = None, default_aggregation: str = None) -> None: """ Initialize a MonitorMetric object. :param str name: unique name used by UI instead of id (must be unique in scope of the monitor definition across both metrics and tags). :param str id: :param str description: (optional) Description of the metrics. :param List[MetricThreshold] thresholds: (optional) :param bool required: (optional) :param ApplicabilitySelection applies_to: (optional) :param str expected_direction: (optional) the indicator specifying the expected direction of the monotonic metric values. :param str default_aggregation: (optional) """ self.name = name self.description = description self.thresholds = thresholds self.required = required self.applies_to = applies_to self.expected_direction = expected_direction self.default_aggregation = default_aggregation self.id = id @classmethod def from_dict(cls, _dict: Dict) -> 'MonitorMetric': """Initialize a MonitorMetric object from a json dictionary.""" args = {} if 'name' in _dict: args['name'] = _dict.get('name') else: raise ValueError('Required property \'name\' not present in MonitorMetric JSON') if 'description' in _dict: args['description'] = _dict.get('description') if 'thresholds' in _dict: args['thresholds'] = [MetricThreshold.from_dict(x) for x in _dict.get('thresholds')] if 'required' in _dict: args['required'] = _dict.get('required') if 'applies_to' in _dict: args['applies_to'] = ApplicabilitySelection.from_dict(_dict.get('applies_to')) if 'expected_direction' in _dict: args['expected_direction'] = _dict.get('expected_direction') if 'default_aggregation' in _dict: args['default_aggregation'] = _dict.get('default_aggregation') if 'id' in _dict: args['id'] = _dict.get('id') else: raise ValueError('Required property \'id\' not present in MonitorMetric JSON') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a MonitorMetric object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'name') and self.name is not None: _dict['name'] = self.name if hasattr(self, 'description') and self.description is not None: _dict['description'] = self.description if hasattr(self, 'thresholds') and self.thresholds is not None: _dict['thresholds'] = [x.to_dict() for x in self.thresholds] if hasattr(self, 'required') and self.required is not None: _dict['required'] = self.required if hasattr(self, 'applies_to') and self.applies_to is not None: _dict['applies_to'] = self.applies_to.to_dict() if hasattr(self, 'expected_direction') and self.expected_direction is not None: _dict['expected_direction'] = self.expected_direction if hasattr(self, 'default_aggregation') and self.default_aggregation is not None: _dict['default_aggregation'] = self.default_aggregation if hasattr(self, 'id') and self.id is not None: _dict['id'] = self.id return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this MonitorMetric object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'MonitorMetric') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'MonitorMetric') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class ExpectedDirectionEnum(str, Enum): """ the indicator specifying the expected direction of the monotonic metric values. """ INCREASING = 'increasing' DECREASING = 'decreasing' UNKNOWN = 'unknown' class DefaultAggregationEnum(str, Enum): """ default_aggregation. """ LAST = 'last' FIRST = 'first' MIN = 'min' MAX = 'max' SUM = 'sum' COUNT = 'count' AVG = 'avg' MEDIAN = 'median' STDDEV = 'stddev' class MonitorMetricRequest(): """ MonitorMetricRequest. :attr str name: unique name used by UI instead of id (must be unique in scope of the monitor definition across both metrics and tags). :attr str description: (optional) Description of the metrics. :attr List[MetricThreshold] thresholds: (optional) :attr bool required: (optional) :attr ApplicabilitySelection applies_to: (optional) :attr str expected_direction: (optional) the indicator specifying the expected direction of the monotonic metric values. :attr str default_aggregation: (optional) """ def __init__(self, name: str, *, description: str = None, thresholds: List['MetricThreshold'] = None, required: bool = None, applies_to: 'ApplicabilitySelection' = None, expected_direction: str = None, default_aggregation: str = None) -> None: """ Initialize a MonitorMetricRequest object. :param str name: unique name used by UI instead of id (must be unique in scope of the monitor definition across both metrics and tags). :param str description: (optional) Description of the metrics. :param List[MetricThreshold] thresholds: (optional) :param bool required: (optional) :param ApplicabilitySelection applies_to: (optional) :param str expected_direction: (optional) the indicator specifying the expected direction of the monotonic metric values. :param str default_aggregation: (optional) """ self.name = name self.description = description self.thresholds = thresholds self.required = required self.applies_to = applies_to self.expected_direction = expected_direction self.default_aggregation = default_aggregation @classmethod def from_dict(cls, _dict: Dict) -> 'MonitorMetricRequest': """Initialize a MonitorMetricRequest object from a json dictionary.""" args = {} if 'name' in _dict: args['name'] = _dict.get('name') else: raise ValueError('Required property \'name\' not present in MonitorMetricRequest JSON') if 'description' in _dict: args['description'] = _dict.get('description') if 'thresholds' in _dict: args['thresholds'] = [MetricThreshold.from_dict(x) for x in _dict.get('thresholds')] if 'required' in _dict: args['required'] = _dict.get('required') if 'applies_to' in _dict: args['applies_to'] = ApplicabilitySelection.from_dict(_dict.get('applies_to')) if 'expected_direction' in _dict: args['expected_direction'] = _dict.get('expected_direction') if 'default_aggregation' in _dict: args['default_aggregation'] = _dict.get('default_aggregation') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a MonitorMetricRequest object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'name') and self.name is not None: _dict['name'] = self.name if hasattr(self, 'description') and self.description is not None: _dict['description'] = self.description if hasattr(self, 'thresholds') and self.thresholds is not None: _dict['thresholds'] = [x.to_dict() for x in self.thresholds] if hasattr(self, 'required') and self.required is not None: _dict['required'] = self.required if hasattr(self, 'applies_to') and self.applies_to is not None: _dict['applies_to'] = self.applies_to.to_dict() if hasattr(self, 'expected_direction') and self.expected_direction is not None: _dict['expected_direction'] = self.expected_direction if hasattr(self, 'default_aggregation') and self.default_aggregation is not None: _dict['default_aggregation'] = self.default_aggregation return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this MonitorMetricRequest object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'MonitorMetricRequest') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'MonitorMetricRequest') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class ExpectedDirectionEnum(str, Enum): """ the indicator specifying the expected direction of the monotonic metric values. """ INCREASING = 'increasing' DECREASING = 'decreasing' UNKNOWN = 'unknown' class DefaultAggregationEnum(str, Enum): """ default_aggregation. """ LAST = 'last' FIRST = 'first' MIN = 'min' MAX = 'max' SUM = 'sum' COUNT = 'count' AVG = 'avg' MEDIAN = 'median' STDDEV = 'stddev' class MonitorRuntime(): """ Field to specify if scheduler should be created or not. :attr str type: when either `service` or `custom_metrics_provider` is specified, scheduler gets created. `service` is for OOTB, `custom_metrics_provider` is for custom metric integrated. """ def __init__(self, type: str) -> None: """ Initialize a MonitorRuntime object. :param str type: when either `service` or `custom_metrics_provider` is specified, scheduler gets created. `service` is for OOTB, `custom_metrics_provider` is for custom metric integrated. """ self.type = type @classmethod def from_dict(cls, _dict: Dict) -> 'MonitorRuntime': """Initialize a MonitorRuntime object from a json dictionary.""" args = {} if 'type' in _dict: args['type'] = _dict.get('type') else: raise ValueError('Required property \'type\' not present in MonitorRuntime JSON') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a MonitorRuntime object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'type') and self.type is not None: _dict['type'] = self.type return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this MonitorRuntime object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'MonitorRuntime') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'MonitorRuntime') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class TypeEnum(str, Enum): """ when either `service` or `custom_metrics_provider` is specified, scheduler gets created. `service` is for OOTB, `custom_metrics_provider` is for custom metric integrated. """ SERVICE = 'service' CUSTOM_METRICS_PROVIDER = 'custom_metrics_provider' NONE = 'none' class MonitorTag(): """ MonitorTag. :attr str name: unique name used by UI instead of id (must be unique in scope of the monitor definition across both metrics and tags). :attr str description: (optional) Description of the tag. :attr bool required: (optional) :attr str id: """ def __init__(self, name: str, id: str, *, description: str = None, required: bool = None) -> None: """ Initialize a MonitorTag object. :param str name: unique name used by UI instead of id (must be unique in scope of the monitor definition across both metrics and tags). :param str id: :param str description: (optional) Description of the tag. :param bool required: (optional) """ self.name = name self.description = description self.required = required self.id = id @classmethod def from_dict(cls, _dict: Dict) -> 'MonitorTag': """Initialize a MonitorTag object from a json dictionary.""" args = {} if 'name' in _dict: args['name'] = _dict.get('name') else: raise ValueError('Required property \'name\' not present in MonitorTag JSON') if 'description' in _dict: args['description'] = _dict.get('description') if 'required' in _dict: args['required'] = _dict.get('required') if 'id' in _dict: args['id'] = _dict.get('id') else: raise ValueError('Required property \'id\' not present in MonitorTag JSON') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a MonitorTag object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'name') and self.name is not None: _dict['name'] = self.name if hasattr(self, 'description') and self.description is not None: _dict['description'] = self.description if hasattr(self, 'required') and self.required is not None: _dict['required'] = self.required if hasattr(self, 'id') and self.id is not None: _dict['id'] = self.id return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this MonitorTag object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'MonitorTag') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'MonitorTag') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class MonitorTagRequest(): """ MonitorTagRequest. :attr str name: unique name used by UI instead of id (must be unique in scope of the monitor definition across both metrics and tags). :attr str description: (optional) Description of the tag. :attr bool required: (optional) """ def __init__(self, name: str, *, description: str = None, required: bool = None) -> None: """ Initialize a MonitorTagRequest object. :param str name: unique name used by UI instead of id (must be unique in scope of the monitor definition across both metrics and tags). :param str description: (optional) Description of the tag. :param bool required: (optional) """ self.name = name self.description = description self.required = required @classmethod def from_dict(cls, _dict: Dict) -> 'MonitorTagRequest': """Initialize a MonitorTagRequest object from a json dictionary.""" args = {} if 'name' in _dict: args['name'] = _dict.get('name') else: raise ValueError('Required property \'name\' not present in MonitorTagRequest JSON') if 'description' in _dict: args['description'] = _dict.get('description') if 'required' in _dict: args['required'] = _dict.get('required') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a MonitorTagRequest object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'name') and self.name is not None: _dict['name'] = self.name if hasattr(self, 'description') and self.description is not None: _dict['description'] = self.description if hasattr(self, 'required') and self.required is not None: _dict['required'] = self.required return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this MonitorTagRequest object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'MonitorTagRequest') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'MonitorTagRequest') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class MonitoringRun(): """ MonitoringRun. :attr Metadata metadata: :attr MonitoringRunEntity entity: """ def __init__(self, metadata: 'Metadata', entity: 'MonitoringRunEntity') -> None: """ Initialize a MonitoringRun object. :param Metadata metadata: :param MonitoringRunEntity entity: """ self.metadata = metadata self.entity = entity @classmethod def from_dict(cls, _dict: Dict) -> 'MonitoringRun': """Initialize a MonitoringRun object from a json dictionary.""" args = {} if 'metadata' in _dict: args['metadata'] = Metadata.from_dict(_dict.get('metadata')) else: raise ValueError('Required property \'metadata\' not present in MonitoringRun JSON') if 'entity' in _dict: args['entity'] = MonitoringRunEntity.from_dict(_dict.get('entity')) else: raise ValueError('Required property \'entity\' not present in MonitoringRun JSON') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a MonitoringRun object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'metadata') and self.metadata is not None: _dict['metadata'] = self.metadata.to_dict() if hasattr(self, 'entity') and self.entity is not None: _dict['entity'] = self.entity.to_dict() return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this MonitoringRun object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'MonitoringRun') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'MonitoringRun') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class MonitoringRunCollection(): """ A page from a collection of monitoring runs. :attr List[MonitoringRun] runs: A page from a collection of monitoring runs. :attr CollectionUrlModel first: (optional) :attr CollectionUrlModel prev: (optional) :attr CollectionUrlModel next: (optional) :attr CollectionUrlModel last: (optional) :attr int limit: (optional) The number of monitoring runs requested to be returned. :attr int total_count: (optional) The total number of monitoring runs available. """ def __init__(self, runs: List['MonitoringRun'], *, first: 'CollectionUrlModel' = None, prev: 'CollectionUrlModel' = None, next: 'CollectionUrlModel' = None, last: 'CollectionUrlModel' = None, limit: int = None, total_count: int = None) -> None: """ Initialize a MonitoringRunCollection object. :param List[MonitoringRun] runs: A page from a collection of monitoring runs. :param CollectionUrlModel first: (optional) :param CollectionUrlModel prev: (optional) :param CollectionUrlModel next: (optional) :param CollectionUrlModel last: (optional) :param int limit: (optional) The number of monitoring runs requested to be returned. :param int total_count: (optional) The total number of monitoring runs available. """ self.runs = runs self.first = first self.prev = prev self.next = next self.last = last self.limit = limit self.total_count = total_count @classmethod def from_dict(cls, _dict: Dict) -> 'MonitoringRunCollection': """Initialize a MonitoringRunCollection object from a json dictionary.""" args = {} if 'runs' in _dict: args['runs'] = [MonitoringRun.from_dict(x) for x in _dict.get('runs')] else: raise ValueError('Required property \'runs\' not present in MonitoringRunCollection JSON') if 'first' in _dict: args['first'] = CollectionUrlModel.from_dict(_dict.get('first')) if 'prev' in _dict: args['prev'] = CollectionUrlModel.from_dict(_dict.get('prev')) if 'next' in _dict: args['next'] = CollectionUrlModel.from_dict(_dict.get('next')) if 'last' in _dict: args['last'] = CollectionUrlModel.from_dict(_dict.get('last')) if 'limit' in _dict: args['limit'] = _dict.get('limit') if 'total_count' in _dict: args['total_count'] = _dict.get('total_count') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a MonitoringRunCollection object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'runs') and self.runs is not None: _dict['runs'] = [x.to_dict() for x in self.runs] if hasattr(self, 'first') and self.first is not None: _dict['first'] = self.first.to_dict() if hasattr(self, 'prev') and self.prev is not None: _dict['prev'] = self.prev.to_dict() if hasattr(self, 'next') and self.next is not None: _dict['next'] = self.next.to_dict() if hasattr(self, 'last') and self.last is not None: _dict['last'] = self.last.to_dict() if hasattr(self, 'limit') and self.limit is not None: _dict['limit'] = self.limit if hasattr(self, 'total_count') and self.total_count is not None: _dict['total_count'] = self.total_count return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this MonitoringRunCollection object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'MonitoringRunCollection') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'MonitoringRunCollection') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class MonitoringRunEntity(): """ MonitoringRunEntity. :attr str triggered_by: (optional) An identifier representing the source that triggered the run request (optional). One of: event, scheduler, user, webhook. :attr dict parameters: (optional) Monitoring parameters consistent with the `parameters_schema` from the monitor definition. :attr MonitoringRunStatus status: The status information for the monitoring run. """ def __init__(self, status: 'MonitoringRunStatus', *, triggered_by: str = None, parameters: dict = None) -> None: """ Initialize a MonitoringRunEntity object. :param MonitoringRunStatus status: The status information for the monitoring run. :param str triggered_by: (optional) An identifier representing the source that triggered the run request (optional). One of: event, scheduler, user, webhook. :param dict parameters: (optional) Monitoring parameters consistent with the `parameters_schema` from the monitor definition. """ self.triggered_by = triggered_by self.parameters = parameters self.status = status @classmethod def from_dict(cls, _dict: Dict) -> 'MonitoringRunEntity': """Initialize a MonitoringRunEntity object from a json dictionary.""" args = {} if 'triggered_by' in _dict: args['triggered_by'] = _dict.get('triggered_by') if 'parameters' in _dict: args['parameters'] = _dict.get('parameters') if 'status' in _dict: args['status'] = MonitoringRunStatus.from_dict(_dict.get('status')) else: raise ValueError('Required property \'status\' not present in MonitoringRunEntity JSON') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a MonitoringRunEntity object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'triggered_by') and self.triggered_by is not None: _dict['triggered_by'] = self.triggered_by if hasattr(self, 'parameters') and self.parameters is not None: _dict['parameters'] = self.parameters if hasattr(self, 'status') and self.status is not None: _dict['status'] = self.status.to_dict() return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this MonitoringRunEntity object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'MonitoringRunEntity') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'MonitoringRunEntity') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class TriggeredByEnum(str, Enum): """ An identifier representing the source that triggered the run request (optional). One of: event, scheduler, user, webhook. """ EVENT = 'event' SCHEDULER = 'scheduler' USER = 'user' WEBHOOK = 'webhook' BKPI_MANAGER = 'bkpi_manager' class MonitoringRunOperator(): """ MonitoringRunOperator. :attr str id: (optional) :attr MonitoringRunOperatorStatus status: (optional) :attr dict result: (optional) Result produced by the operator, if any. """ def __init__(self, *, id: str = None, status: 'MonitoringRunOperatorStatus' = None, result: dict = None) -> None: """ Initialize a MonitoringRunOperator object. :param str id: (optional) :param MonitoringRunOperatorStatus status: (optional) :param dict result: (optional) Result produced by the operator, if any. """ self.id = id self.status = status self.result = result @classmethod def from_dict(cls, _dict: Dict) -> 'MonitoringRunOperator': """Initialize a MonitoringRunOperator object from a json dictionary.""" args = {} if 'id' in _dict: args['id'] = _dict.get('id') if 'status' in _dict: args['status'] = MonitoringRunOperatorStatus.from_dict(_dict.get('status')) if 'result' in _dict: args['result'] = _dict.get('result') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a MonitoringRunOperator object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'id') and self.id is not None: _dict['id'] = self.id if hasattr(self, 'status') and self.status is not None: _dict['status'] = self.status.to_dict() if hasattr(self, 'result') and self.result is not None: _dict['result'] = self.result return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this MonitoringRunOperator object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'MonitoringRunOperator') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'MonitoringRunOperator') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class MonitoringRunOperatorStatus(): """ MonitoringRunOperatorStatus. :attr str state: (optional) :attr datetime started_at: (optional) :attr datetime completed_at: (optional) :attr GenericErrorResponse failure: (optional) """ def __init__(self, *, state: str = None, started_at: datetime = None, completed_at: datetime = None, failure: 'GenericErrorResponse' = None) -> None: """ Initialize a MonitoringRunOperatorStatus object. :param str state: (optional) :param datetime started_at: (optional) :param datetime completed_at: (optional) :param GenericErrorResponse failure: (optional) """ self.state = state self.started_at = started_at self.completed_at = completed_at self.failure = failure @classmethod def from_dict(cls, _dict: Dict) -> 'MonitoringRunOperatorStatus': """Initialize a MonitoringRunOperatorStatus object from a json dictionary.""" args = {} if 'state' in _dict: args['state'] = _dict.get('state') if 'started_at' in _dict: args['started_at'] = string_to_datetime(_dict.get('started_at')) if 'completed_at' in _dict: args['completed_at'] = string_to_datetime(_dict.get('completed_at')) if 'failure' in _dict: args['failure'] = GenericErrorResponse.from_dict(_dict.get('failure')) return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a MonitoringRunOperatorStatus object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'state') and self.state is not None: _dict['state'] = self.state if hasattr(self, 'started_at') and self.started_at is not None: _dict['started_at'] = datetime_to_string(self.started_at) if hasattr(self, 'completed_at') and self.completed_at is not None: _dict['completed_at'] = datetime_to_string(self.completed_at) if hasattr(self, 'failure') and self.failure is not None: _dict['failure'] = self.failure.to_dict() return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this MonitoringRunOperatorStatus object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'MonitoringRunOperatorStatus') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'MonitoringRunOperatorStatus') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class StateEnum(str, Enum): """ state. """ QUEUED = 'queued' RUNNING = 'running' FINISHED = 'finished' ERROR = 'error' class MonitoringRunStatus(): """ The status information for the monitoring run. :attr str state: (optional) :attr datetime queued_at: (optional) The timestamp when the monitoring run was queued to be run (in the format YYYY-MM-DDTHH:mm:ssZ or YYYY-MM-DDTHH:mm:ss.sssZ, matching the date-time format as specified by RFC 3339). :attr datetime started_at: (optional) The timestamp when the monitoring run was started running (in the format YYYY-MM-DDTHH:mm:ssZ or YYYY-MM-DDTHH:mm:ss.sssZ, matching the date-time format as specified by RFC 3339). :attr datetime updated_at: (optional) The timestamp when the monitoring run was last updated (in the format YYYY-MM-DDTHH:mm:ssZ or YYYY-MM-DDTHH:mm:ss.sssZ, matching the date-time format as specified by RFC 3339). :attr datetime completed_at: (optional) The timestamp when the monitoring run finished running (in the format YYYY-MM-DDTHH:mm:ssZ or YYYY-MM-DDTHH:mm:ss.sssZ, matching the date-time format as specified by RFC 3339). :attr str message: (optional) Any message associated with the monitoring run. :attr GenericErrorResponse failure: (optional) :attr List[MonitoringRunOperator] operators: (optional) """ def __init__(self, *, state: str = None, queued_at: datetime = None, started_at: datetime = None, updated_at: datetime = None, completed_at: datetime = None, message: str = None, failure: 'GenericErrorResponse' = None, operators: List['MonitoringRunOperator'] = None) -> None: """ Initialize a MonitoringRunStatus object. :param str state: (optional) :param datetime queued_at: (optional) The timestamp when the monitoring run was queued to be run (in the format YYYY-MM-DDTHH:mm:ssZ or YYYY-MM-DDTHH:mm:ss.sssZ, matching the date-time format as specified by RFC 3339). :param datetime started_at: (optional) The timestamp when the monitoring run was started running (in the format YYYY-MM-DDTHH:mm:ssZ or YYYY-MM-DDTHH:mm:ss.sssZ, matching the date-time format as specified by RFC 3339). :param datetime updated_at: (optional) The timestamp when the monitoring run was last updated (in the format YYYY-MM-DDTHH:mm:ssZ or YYYY-MM-DDTHH:mm:ss.sssZ, matching the date-time format as specified by RFC 3339). :param datetime completed_at: (optional) The timestamp when the monitoring run finished running (in the format YYYY-MM-DDTHH:mm:ssZ or YYYY-MM-DDTHH:mm:ss.sssZ, matching the date-time format as specified by RFC 3339). :param str message: (optional) Any message associated with the monitoring run. :param GenericErrorResponse failure: (optional) :param List[MonitoringRunOperator] operators: (optional) """ self.state = state self.queued_at = queued_at self.started_at = started_at self.updated_at = updated_at self.completed_at = completed_at self.message = message self.failure = failure self.operators = operators @classmethod def from_dict(cls, _dict: Dict) -> 'MonitoringRunStatus': """Initialize a MonitoringRunStatus object from a json dictionary.""" args = {} if 'state' in _dict: args['state'] = _dict.get('state') if 'queued_at' in _dict: args['queued_at'] = string_to_datetime(_dict.get('queued_at')) if 'started_at' in _dict: args['started_at'] = string_to_datetime(_dict.get('started_at')) if 'updated_at' in _dict: args['updated_at'] = string_to_datetime(_dict.get('updated_at')) if 'completed_at' in _dict: args['completed_at'] = string_to_datetime(_dict.get('completed_at')) if 'message' in _dict: args['message'] = _dict.get('message') if 'failure' in _dict: args['failure'] = GenericErrorResponse.from_dict(_dict.get('failure')) if 'operators' in _dict: args['operators'] = [MonitoringRunOperator.from_dict(x) for x in _dict.get('operators')] return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a MonitoringRunStatus object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'state') and self.state is not None: _dict['state'] = self.state if hasattr(self, 'queued_at') and self.queued_at is not None: _dict['queued_at'] = datetime_to_string(self.queued_at) if hasattr(self, 'started_at') and self.started_at is not None: _dict['started_at'] = datetime_to_string(self.started_at) if hasattr(self, 'updated_at') and self.updated_at is not None: _dict['updated_at'] = datetime_to_string(self.updated_at) if hasattr(self, 'completed_at') and self.completed_at is not None: _dict['completed_at'] = datetime_to_string(self.completed_at) if hasattr(self, 'message') and self.message is not None: _dict['message'] = self.message if hasattr(self, 'failure') and self.failure is not None: _dict['failure'] = self.failure.to_dict() if hasattr(self, 'operators') and self.operators is not None: _dict['operators'] = [x.to_dict() for x in self.operators] return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this MonitoringRunStatus object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'MonitoringRunStatus') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'MonitoringRunStatus') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class StateEnum(str, Enum): """ state. """ QUEUED = 'queued' RUNNING = 'running' FINISHED = 'finished' ERROR = 'error' class MrmGetRiskEvaluationStatus(): """ MrmGetRiskEvaluationStatus. :attr str subscription_id: (optional) :attr str status: (optional) :attr str localized_status: (optional) """ def __init__(self, *, subscription_id: str = None, status: str = None, localized_status: str = None) -> None: """ Initialize a MrmGetRiskEvaluationStatus object. :param str subscription_id: (optional) :param str status: (optional) :param str localized_status: (optional) """ self.subscription_id = subscription_id self.status = status self.localized_status = localized_status @classmethod def from_dict(cls, _dict: Dict) -> 'MrmGetRiskEvaluationStatus': """Initialize a MrmGetRiskEvaluationStatus object from a json dictionary.""" args = {} if 'subscription_id' in _dict: args['subscription_id'] = _dict.get('subscription_id') if 'status' in _dict: args['status'] = _dict.get('status') if 'localized_status' in _dict: args['localized_status'] = _dict.get('localized_status') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a MrmGetRiskEvaluationStatus object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'subscription_id') and self.subscription_id is not None: _dict['subscription_id'] = self.subscription_id if hasattr(self, 'status') and self.status is not None: _dict['status'] = self.status if hasattr(self, 'localized_status') and self.localized_status is not None: _dict['localized_status'] = self.localized_status return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this MrmGetRiskEvaluationStatus object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'MrmGetRiskEvaluationStatus') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'MrmGetRiskEvaluationStatus') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class MrmGetRiskEvaluationStatusEntity(): """ MrmGetRiskEvaluationStatusEntity. :attr List[MrmGetRiskEvaluationStatus] risk_evaluation_status: (optional) """ def __init__(self, *, risk_evaluation_status: List['MrmGetRiskEvaluationStatus'] = None) -> None: """ Initialize a MrmGetRiskEvaluationStatusEntity object. :param List[MrmGetRiskEvaluationStatus] risk_evaluation_status: (optional) """ self.risk_evaluation_status = risk_evaluation_status @classmethod def from_dict(cls, _dict: Dict) -> 'MrmGetRiskEvaluationStatusEntity': """Initialize a MrmGetRiskEvaluationStatusEntity object from a json dictionary.""" args = {} if 'risk_evaluation_status' in _dict: args['risk_evaluation_status'] = [MrmGetRiskEvaluationStatus.from_dict(x) for x in _dict.get('risk_evaluation_status')] return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a MrmGetRiskEvaluationStatusEntity object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'risk_evaluation_status') and self.risk_evaluation_status is not None: _dict['risk_evaluation_status'] = [x.to_dict() for x in self.risk_evaluation_status] return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this MrmGetRiskEvaluationStatusEntity object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'MrmGetRiskEvaluationStatusEntity') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'MrmGetRiskEvaluationStatusEntity') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class OperationalSpace(): """ Operational Space definition. :attr str name: The name of the Operational Space. :attr str description: (optional) The description of the Operational Space. """ def __init__(self, name: str, *, description: str = None) -> None: """ Initialize a OperationalSpace object. :param str name: The name of the Operational Space. :param str description: (optional) The description of the Operational Space. """ self.name = name self.description = description @classmethod def from_dict(cls, _dict: Dict) -> 'OperationalSpace': """Initialize a OperationalSpace object from a json dictionary.""" args = {} if 'name' in _dict: args['name'] = _dict.get('name') else: raise ValueError('Required property \'name\' not present in OperationalSpace JSON') if 'description' in _dict: args['description'] = _dict.get('description') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a OperationalSpace object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'name') and self.name is not None: _dict['name'] = self.name if hasattr(self, 'description') and self.description is not None: _dict['description'] = self.description return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this OperationalSpace object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'OperationalSpace') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'OperationalSpace') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class OperationalSpaceCollection(): """ OperationalSpaceCollection. :attr List[OperationalSpace] operational_spaces: """ def __init__(self, operational_spaces: List['OperationalSpace']) -> None: """ Initialize a OperationalSpaceCollection object. :param List[OperationalSpace] operational_spaces: """ self.operational_spaces = operational_spaces @classmethod def from_dict(cls, _dict: Dict) -> 'OperationalSpaceCollection': """Initialize a OperationalSpaceCollection object from a json dictionary.""" args = {} if 'operational_spaces' in _dict: args['operational_spaces'] = [OperationalSpace.from_dict(x) for x in _dict.get('operational_spaces')] else: raise ValueError('Required property \'operational_spaces\' not present in OperationalSpaceCollection JSON') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a OperationalSpaceCollection object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'operational_spaces') and self.operational_spaces is not None: _dict['operational_spaces'] = [x.to_dict() for x in self.operational_spaces] return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this OperationalSpaceCollection object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'OperationalSpaceCollection') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'OperationalSpaceCollection') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class OperationalSpaceResponse(): """ OperationalSpaceResponse. :attr Metadata metadata: (optional) :attr OperationalSpace entity: (optional) Operational Space definition. """ def __init__(self, *, metadata: 'Metadata' = None, entity: 'OperationalSpace' = None) -> None: """ Initialize a OperationalSpaceResponse object. :param Metadata metadata: (optional) :param OperationalSpace entity: (optional) Operational Space definition. """ self.metadata = metadata self.entity = entity @classmethod def from_dict(cls, _dict: Dict) -> 'OperationalSpaceResponse': """Initialize a OperationalSpaceResponse object from a json dictionary.""" args = {} if 'metadata' in _dict: args['metadata'] = Metadata.from_dict(_dict.get('metadata')) if 'entity' in _dict: args['entity'] = OperationalSpace.from_dict(_dict.get('entity')) return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a OperationalSpaceResponse object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'metadata') and self.metadata is not None: _dict['metadata'] = self.metadata.to_dict() if hasattr(self, 'entity') and self.entity is not None: _dict['entity'] = self.entity.to_dict() return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this OperationalSpaceResponse object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'OperationalSpaceResponse') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'OperationalSpaceResponse') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class PatchDocument(): """ A JSONPatch document as defined by RFC 6902. :attr str op: The operation to be performed. :attr str path: A JSON-Pointer. :attr object value: (optional) The value to be used within the operations. :attr str from_: (optional) A string containing a JSON Pointer value. """ def __init__(self, op: str, path: str, *, value: object = None, from_: str = None) -> None: """ Initialize a PatchDocument object. :param str op: The operation to be performed. :param str path: A JSON-Pointer. :param object value: (optional) The value to be used within the operations. :param str from_: (optional) A string containing a JSON Pointer value. """ self.op = op self.path = path self.value = value self.from_ = from_ @classmethod def from_dict(cls, _dict: Dict) -> 'PatchDocument': """Initialize a PatchDocument object from a json dictionary.""" args = {} if 'op' in _dict: args['op'] = _dict.get('op') else: raise ValueError('Required property \'op\' not present in PatchDocument JSON') if 'path' in _dict: args['path'] = _dict.get('path') else: raise ValueError('Required property \'path\' not present in PatchDocument JSON') if 'value' in _dict: args['value'] = _dict.get('value') if 'from' in _dict: args['from_'] = _dict.get('from') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a PatchDocument object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'op') and self.op is not None: _dict['op'] = self.op if hasattr(self, 'path') and self.path is not None: _dict['path'] = self.path if hasattr(self, 'value') and self.value is not None: _dict['value'] = self.value if hasattr(self, 'from_') and self.from_ is not None: _dict['from'] = self.from_ return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this PatchDocument object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'PatchDocument') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'PatchDocument') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class OpEnum(str, Enum): """ The operation to be performed. """ ADD = 'add' REMOVE = 'remove' REPLACE = 'replace' MOVE = 'move' COPY = 'copy' TEST = 'test' class PolicyDetectorConfig(): """ Configuration for a detector in a policy. :attr str detector: Name of the detector to use. :attr str action: Action to take when detector triggers. :attr List[PolicyDetectorConfigDetectorPropertiesItem] detector_properties: Properties to configure the detector. """ def __init__(self, detector: str, action: str, detector_properties: List['PolicyDetectorConfigDetectorPropertiesItem']) -> None: """ Initialize a PolicyDetectorConfig object. :param str detector: Name of the detector to use. :param str action: Action to take when detector triggers. :param List[PolicyDetectorConfigDetectorPropertiesItem] detector_properties: Properties to configure the detector. """ self.detector = detector self.action = action self.detector_properties = detector_properties @classmethod def from_dict(cls, _dict: Dict) -> 'PolicyDetectorConfig': """Initialize a PolicyDetectorConfig object from a json dictionary.""" args = {} if 'detector' in _dict: args['detector'] = _dict.get('detector') else: raise ValueError('Required property \'detector\' not present in PolicyDetectorConfig JSON') if 'action' in _dict: args['action'] = _dict.get('action') else: raise ValueError('Required property \'action\' not present in PolicyDetectorConfig JSON') if 'detector_properties' in _dict: args['detector_properties'] = [PolicyDetectorConfigDetectorPropertiesItem.from_dict(x) for x in _dict.get('detector_properties')] else: raise ValueError('Required property \'detector_properties\' not present in PolicyDetectorConfig JSON') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a PolicyDetectorConfig object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'detector') and self.detector is not None: _dict['detector'] = self.detector if hasattr(self, 'action') and self.action is not None: _dict['action'] = self.action if hasattr(self, 'detector_properties') and self.detector_properties is not None: _dict['detector_properties'] = [x.to_dict() for x in self.detector_properties] return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this PolicyDetectorConfig object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'PolicyDetectorConfig') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'PolicyDetectorConfig') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class ActionEnum(str, Enum): """ Action to take when detector triggers. """ BLOCK = 'block' MASK = 'mask' class PolicyDetectorConfigDetectorPropertiesItem(): """ PolicyDetectorConfigDetectorPropertiesItem. :attr str name: Name of the detector property. :attr str value: Value of the detector property. """ def __init__(self, name: str, value: str) -> None: """ Initialize a PolicyDetectorConfigDetectorPropertiesItem object. :param str name: Name of the detector property. :param str value: Value of the detector property. """ self.name = name self.value = value @classmethod def from_dict(cls, _dict: Dict) -> 'PolicyDetectorConfigDetectorPropertiesItem': """Initialize a PolicyDetectorConfigDetectorPropertiesItem object from a json dictionary.""" args = {} if 'name' in _dict: args['name'] = _dict.get('name') else: raise ValueError('Required property \'name\' not present in PolicyDetectorConfigDetectorPropertiesItem JSON') if 'value' in _dict: args['value'] = _dict.get('value') else: raise ValueError('Required property \'value\' not present in PolicyDetectorConfigDetectorPropertiesItem JSON') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a PolicyDetectorConfigDetectorPropertiesItem object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'name') and self.name is not None: _dict['name'] = self.name if hasattr(self, 'value') and self.value is not None: _dict['value'] = self.value return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this PolicyDetectorConfigDetectorPropertiesItem object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'PolicyDetectorConfigDetectorPropertiesItem') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'PolicyDetectorConfigDetectorPropertiesItem') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class PolicyEntity(): """ Policy entity containing all policy details. :attr str inventory_id: CAMS inventory ID. :attr str name: Name of the policy. :attr str description: (optional) Description of the policy. :attr str block_message: (optional) Message to display when content is blocked. :attr str mask_character: (optional) Character used for masking. :attr List[PolicyDetectorConfig] input: Detector configurations for input direction. :attr List[PolicyDetectorConfig] output: Detector configurations for output direction. :attr str policy_status: Status of the policy. :attr List[str] tags: Tags associated with the policy. :attr datetime created_at: (optional) Timestamp when the policy was created. :attr datetime modified_at: (optional) Timestamp when the policy was last modified. :attr PolicyStatus status: Status information for the policy. """ def __init__(self, inventory_id: str, name: str, input: List['PolicyDetectorConfig'], output: List['PolicyDetectorConfig'], policy_status: str, tags: List[str], status: 'PolicyStatus', *, description: str = None, block_message: str = None, mask_character: str = None, created_at: datetime = None, modified_at: datetime = None) -> None: """ Initialize a PolicyEntity object. :param str inventory_id: CAMS inventory ID. :param str name: Name of the policy. :param List[PolicyDetectorConfig] input: Detector configurations for input direction. :param List[PolicyDetectorConfig] output: Detector configurations for output direction. :param str policy_status: Status of the policy. :param List[str] tags: Tags associated with the policy. :param PolicyStatus status: Status information for the policy. :param str description: (optional) Description of the policy. :param str block_message: (optional) Message to display when content is blocked. :param str mask_character: (optional) Character used for masking. :param datetime created_at: (optional) Timestamp when the policy was created. :param datetime modified_at: (optional) Timestamp when the policy was last modified. """ self.inventory_id = inventory_id self.name = name self.description = description self.block_message = block_message self.mask_character = mask_character self.input = input self.output = output self.policy_status = policy_status self.tags = tags self.created_at = created_at self.modified_at = modified_at self.status = status @classmethod def from_dict(cls, _dict: Dict) -> 'PolicyEntity': """Initialize a PolicyEntity object from a json dictionary.""" args = {} if 'inventory_id' in _dict: args['inventory_id'] = _dict.get('inventory_id') else: raise ValueError('Required property \'inventory_id\' not present in PolicyEntity JSON') if 'name' in _dict: args['name'] = _dict.get('name') else: raise ValueError('Required property \'name\' not present in PolicyEntity JSON') if 'description' in _dict: args['description'] = _dict.get('description') if 'block_message' in _dict: args['block_message'] = _dict.get('block_message') if 'mask_character' in _dict: args['mask_character'] = _dict.get('mask_character') if 'input' in _dict: args['input'] = [PolicyDetectorConfig.from_dict(x) for x in _dict.get('input')] else: raise ValueError('Required property \'input\' not present in PolicyEntity JSON') if 'output' in _dict: args['output'] = [PolicyDetectorConfig.from_dict(x) for x in _dict.get('output')] else: raise ValueError('Required property \'output\' not present in PolicyEntity JSON') if 'policy_status' in _dict: args['policy_status'] = _dict.get('policy_status') else: raise ValueError('Required property \'policy_status\' not present in PolicyEntity JSON') if 'tags' in _dict: args['tags'] = _dict.get('tags') else: raise ValueError('Required property \'tags\' not present in PolicyEntity JSON') if 'created_at' in _dict: args['created_at'] = string_to_datetime(_dict.get('created_at')) if 'modified_at' in _dict: args['modified_at'] = string_to_datetime(_dict.get('modified_at')) if 'status' in _dict: args['status'] = PolicyStatus.from_dict(_dict.get('status')) else: raise ValueError('Required property \'status\' not present in PolicyEntity JSON') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a PolicyEntity object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'inventory_id') and self.inventory_id is not None: _dict['inventory_id'] = self.inventory_id if hasattr(self, 'name') and self.name is not None: _dict['name'] = self.name if hasattr(self, 'description') and self.description is not None: _dict['description'] = self.description if hasattr(self, 'block_message') and self.block_message is not None: _dict['block_message'] = self.block_message if hasattr(self, 'mask_character') and self.mask_character is not None: _dict['mask_character'] = self.mask_character if hasattr(self, 'input') and self.input is not None: _dict['input'] = [x.to_dict() for x in self.input] if hasattr(self, 'output') and self.output is not None: _dict['output'] = [x.to_dict() for x in self.output] if hasattr(self, 'policy_status') and self.policy_status is not None: _dict['policy_status'] = self.policy_status if hasattr(self, 'tags') and self.tags is not None: _dict['tags'] = self.tags if hasattr(self, 'created_at') and self.created_at is not None: _dict['created_at'] = datetime_to_string(self.created_at) if hasattr(self, 'modified_at') and self.modified_at is not None: _dict['modified_at'] = datetime_to_string(self.modified_at) if hasattr(self, 'status') and self.status is not None: _dict['status'] = self.status.to_dict() return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this PolicyEntity object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'PolicyEntity') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'PolicyEntity') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class PolicyStatusEnum(str, Enum): """ Status of the policy. """ PUBLISH = 'publish' DRAFT = 'draft' class PolicyMetadata(): """ Metadata about the policy. :attr str id: Unique identifier for the policy. :attr datetime created_at: Creation timestamp. :attr datetime modified_at: (optional) Last modification timestamp. """ def __init__(self, id: str, created_at: datetime, *, modified_at: datetime = None) -> None: """ Initialize a PolicyMetadata object. :param str id: Unique identifier for the policy. :param datetime created_at: Creation timestamp. :param datetime modified_at: (optional) Last modification timestamp. """ self.id = id self.created_at = created_at self.modified_at = modified_at @classmethod def from_dict(cls, _dict: Dict) -> 'PolicyMetadata': """Initialize a PolicyMetadata object from a json dictionary.""" args = {} if 'id' in _dict: args['id'] = _dict.get('id') else: raise ValueError('Required property \'id\' not present in PolicyMetadata JSON') if 'created_at' in _dict: args['created_at'] = string_to_datetime(_dict.get('created_at')) else: raise ValueError('Required property \'created_at\' not present in PolicyMetadata JSON') if 'modified_at' in _dict: args['modified_at'] = string_to_datetime(_dict.get('modified_at')) return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a PolicyMetadata object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'id') and self.id is not None: _dict['id'] = self.id if hasattr(self, 'created_at') and self.created_at is not None: _dict['created_at'] = datetime_to_string(self.created_at) if hasattr(self, 'modified_at') and self.modified_at is not None: _dict['modified_at'] = datetime_to_string(self.modified_at) return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this PolicyMetadata object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'PolicyMetadata') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'PolicyMetadata') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class PolicyResponse(): """ Response wrapper for policy operations. :attr PolicyEntity entity: Policy entity containing all policy details. :attr PolicyMetadata metadata: Metadata about the policy. """ def __init__(self, entity: 'PolicyEntity', metadata: 'PolicyMetadata') -> None: """ Initialize a PolicyResponse object. :param PolicyEntity entity: Policy entity containing all policy details. :param PolicyMetadata metadata: Metadata about the policy. """ self.entity = entity self.metadata = metadata @classmethod def from_dict(cls, _dict: Dict) -> 'PolicyResponse': """Initialize a PolicyResponse object from a json dictionary.""" args = {} if 'entity' in _dict: args['entity'] = PolicyEntity.from_dict(_dict.get('entity')) else: raise ValueError('Required property \'entity\' not present in PolicyResponse JSON') if 'metadata' in _dict: args['metadata'] = PolicyMetadata.from_dict(_dict.get('metadata')) else: raise ValueError('Required property \'metadata\' not present in PolicyResponse JSON') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a PolicyResponse object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'entity') and self.entity is not None: _dict['entity'] = self.entity.to_dict() if hasattr(self, 'metadata') and self.metadata is not None: _dict['metadata'] = self.metadata.to_dict() return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this PolicyResponse object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'PolicyResponse') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'PolicyResponse') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class PolicyResponseCollection(): """ Response wrapper for list of policies. :attr List[PolicyResponse] policies: List of policies. """ def __init__(self, policies: List['PolicyResponse']) -> None: """ Initialize a PolicyResponseCollection object. :param List[PolicyResponse] policies: List of policies. """ self.policies = policies @classmethod def from_dict(cls, _dict: Dict) -> 'PolicyResponseCollection': """Initialize a PolicyResponseCollection object from a json dictionary.""" args = {} if 'policies' in _dict: args['policies'] = [PolicyResponse.from_dict(x) for x in _dict.get('policies')] else: raise ValueError('Required property \'policies\' not present in PolicyResponseCollection JSON') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a PolicyResponseCollection object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'policies') and self.policies is not None: _dict['policies'] = [x.to_dict() for x in self.policies] return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this PolicyResponseCollection object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'PolicyResponseCollection') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'PolicyResponseCollection') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class PolicyStatus(): """ Status information for the policy. :attr str state: (optional) Current state of the policy. """ def __init__(self, *, state: str = None) -> None: """ Initialize a PolicyStatus object. :param str state: (optional) Current state of the policy. """ self.state = state @classmethod def from_dict(cls, _dict: Dict) -> 'PolicyStatus': """Initialize a PolicyStatus object from a json dictionary.""" args = {} if 'state' in _dict: args['state'] = _dict.get('state') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a PolicyStatus object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'state') and self.state is not None: _dict['state'] = self.state return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this PolicyStatus object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'PolicyStatus') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'PolicyStatus') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class PostExplanationTaskResponse(): """ Post explanation tasks response. :attr PostExplanationTaskResponseMetadata metadata: Metadata of post explanation tasks response. """ def __init__(self, metadata: 'PostExplanationTaskResponseMetadata') -> None: """ Initialize a PostExplanationTaskResponse object. :param PostExplanationTaskResponseMetadata metadata: Metadata of post explanation tasks response. """ self.metadata = metadata @classmethod def from_dict(cls, _dict: Dict) -> 'PostExplanationTaskResponse': """Initialize a PostExplanationTaskResponse object from a json dictionary.""" args = {} if 'metadata' in _dict: args['metadata'] = PostExplanationTaskResponseMetadata.from_dict(_dict.get('metadata')) else: raise ValueError('Required property \'metadata\' not present in PostExplanationTaskResponse JSON') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a PostExplanationTaskResponse object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'metadata') and self.metadata is not None: _dict['metadata'] = self.metadata.to_dict() return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this PostExplanationTaskResponse object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'PostExplanationTaskResponse') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'PostExplanationTaskResponse') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class PostExplanationTaskResponseMetadata(): """ Metadata of post explanation tasks response. :attr List[str] explanation_task_ids: List of identifiers for tracking explanation tasks. :attr str created_by: ID of the user creating explanation task. :attr str created_at: Time when the explanation task was initiated. """ def __init__(self, explanation_task_ids: List[str], created_by: str, created_at: str) -> None: """ Initialize a PostExplanationTaskResponseMetadata object. :param List[str] explanation_task_ids: List of identifiers for tracking explanation tasks. :param str created_by: ID of the user creating explanation task. :param str created_at: Time when the explanation task was initiated. """ self.explanation_task_ids = explanation_task_ids self.created_by = created_by self.created_at = created_at @classmethod def from_dict(cls, _dict: Dict) -> 'PostExplanationTaskResponseMetadata': """Initialize a PostExplanationTaskResponseMetadata object from a json dictionary.""" args = {} if 'explanation_task_ids' in _dict: args['explanation_task_ids'] = _dict.get('explanation_task_ids') else: raise ValueError('Required property \'explanation_task_ids\' not present in PostExplanationTaskResponseMetadata JSON') if 'created_by' in _dict: args['created_by'] = _dict.get('created_by') else: raise ValueError('Required property \'created_by\' not present in PostExplanationTaskResponseMetadata JSON') if 'created_at' in _dict: args['created_at'] = _dict.get('created_at') else: raise ValueError('Required property \'created_at\' not present in PostExplanationTaskResponseMetadata JSON') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a PostExplanationTaskResponseMetadata object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'explanation_task_ids') and self.explanation_task_ids is not None: _dict['explanation_task_ids'] = self.explanation_task_ids if hasattr(self, 'created_by') and self.created_by is not None: _dict['created_by'] = self.created_by if hasattr(self, 'created_at') and self.created_at is not None: _dict['created_at'] = self.created_at return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this PostExplanationTaskResponseMetadata object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'PostExplanationTaskResponseMetadata') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'PostExplanationTaskResponseMetadata') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class PostRiskEvaluationsResponse(): """ PostRiskEvaluationsResponse. :attr str evaluation_id: (optional) The unique ID for the MRM evaluation. :attr str evaluation_date: (optional) The date time stamp in UTC ISO format for the MRM evaluation. :attr str publish_metrics: (optional) Flag to decide whether to send evaluated metrics to OpenPages. :attr str evaluation_tests: (optional) Comma separated list of monitor tests to run. :attr str evaluation_start_time: (optional) Time stamp of the evaluation. :attr PostRiskEvaluationsResponseStatus status: (optional) """ def __init__(self, *, evaluation_id: str = None, evaluation_date: str = None, publish_metrics: str = None, evaluation_tests: str = None, evaluation_start_time: str = None, status: 'PostRiskEvaluationsResponseStatus' = None) -> None: """ Initialize a PostRiskEvaluationsResponse object. :param str evaluation_id: (optional) The unique ID for the MRM evaluation. :param str evaluation_date: (optional) The date time stamp in UTC ISO format for the MRM evaluation. :param str publish_metrics: (optional) Flag to decide whether to send evaluated metrics to OpenPages. :param str evaluation_tests: (optional) Comma separated list of monitor tests to run. :param str evaluation_start_time: (optional) Time stamp of the evaluation. :param PostRiskEvaluationsResponseStatus status: (optional) """ self.evaluation_id = evaluation_id self.evaluation_date = evaluation_date self.publish_metrics = publish_metrics self.evaluation_tests = evaluation_tests self.evaluation_start_time = evaluation_start_time self.status = status @classmethod def from_dict(cls, _dict: Dict) -> 'PostRiskEvaluationsResponse': """Initialize a PostRiskEvaluationsResponse object from a json dictionary.""" args = {} if 'evaluation_id' in _dict: args['evaluation_id'] = _dict.get('evaluation_id') if 'evaluation_date' in _dict: args['evaluation_date'] = _dict.get('evaluation_date') if 'publish_metrics' in _dict: args['publish_metrics'] = _dict.get('publish_metrics') if 'evaluation_tests' in _dict: args['evaluation_tests'] = _dict.get('evaluation_tests') if 'evaluation_start_time' in _dict: args['evaluation_start_time'] = _dict.get('evaluation_start_time') if 'status' in _dict: args['status'] = PostRiskEvaluationsResponseStatus.from_dict(_dict.get('status')) return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a PostRiskEvaluationsResponse object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'evaluation_id') and self.evaluation_id is not None: _dict['evaluation_id'] = self.evaluation_id if hasattr(self, 'evaluation_date') and self.evaluation_date is not None: _dict['evaluation_date'] = self.evaluation_date if hasattr(self, 'publish_metrics') and self.publish_metrics is not None: _dict['publish_metrics'] = self.publish_metrics if hasattr(self, 'evaluation_tests') and self.evaluation_tests is not None: _dict['evaluation_tests'] = self.evaluation_tests if hasattr(self, 'evaluation_start_time') and self.evaluation_start_time is not None: _dict['evaluation_start_time'] = self.evaluation_start_time if hasattr(self, 'status') and self.status is not None: _dict['status'] = self.status.to_dict() return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this PostRiskEvaluationsResponse object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'PostRiskEvaluationsResponse') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'PostRiskEvaluationsResponse') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class PostRiskEvaluationsResponseStatus(): """ PostRiskEvaluationsResponseStatus. :attr str state: (optional) The state of the upload data. """ def __init__(self, *, state: str = None) -> None: """ Initialize a PostRiskEvaluationsResponseStatus object. :param str state: (optional) The state of the upload data. """ self.state = state @classmethod def from_dict(cls, _dict: Dict) -> 'PostRiskEvaluationsResponseStatus': """Initialize a PostRiskEvaluationsResponseStatus object from a json dictionary.""" args = {} if 'state' in _dict: args['state'] = _dict.get('state') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a PostRiskEvaluationsResponseStatus object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'state') and self.state is not None: _dict['state'] = self.state return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this PostRiskEvaluationsResponseStatus object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'PostRiskEvaluationsResponseStatus') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'PostRiskEvaluationsResponseStatus') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class PrimaryStorageCredentials(): """ PrimaryStorageCredentials. """ def __init__(self) -> None: """ Initialize a PrimaryStorageCredentials object. """ msg = "Cannot instantiate base class. Instead, instantiate one of the defined subclasses: {0}".format( ", ".join(['PrimaryStorageCredentialsLong'])) raise Exception(msg) class PromptSetupDataProperties(): """ The metadata properties of the prompt variables, meta-fields, reference column and model output column. :attr str field_name: (optional) The name of the column. :attr bool expect_large_content: (optional) Boolean flag to indicate if the column can contain large content. """ def __init__(self, *, field_name: str = None, expect_large_content: bool = None) -> None: """ Initialize a PromptSetupDataProperties object. :param str field_name: (optional) The name of the column. :param bool expect_large_content: (optional) Boolean flag to indicate if the column can contain large content. """ self.field_name = field_name self.expect_large_content = expect_large_content @classmethod def from_dict(cls, _dict: Dict) -> 'PromptSetupDataProperties': """Initialize a PromptSetupDataProperties object from a json dictionary.""" args = {} if 'field_name' in _dict: args['field_name'] = _dict.get('field_name') if 'expect_large_content' in _dict: args['expect_large_content'] = _dict.get('expect_large_content') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a PromptSetupDataProperties object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'field_name') and self.field_name is not None: _dict['field_name'] = self.field_name if hasattr(self, 'expect_large_content') and self.expect_large_content is not None: _dict['expect_large_content'] = self.expect_large_content return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this PromptSetupDataProperties object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'PromptSetupDataProperties') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'PromptSetupDataProperties') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class PromptSetupMetaField(): """ The details of the meta-fields to be input for prompt setup. :attr str name: (optional) The name of the meta-field. :attr str data_type: (optional) The data-type of the meta-field. """ def __init__(self, *, name: str = None, data_type: str = None) -> None: """ Initialize a PromptSetupMetaField object. :param str name: (optional) The name of the meta-field. :param str data_type: (optional) The data-type of the meta-field. """ self.name = name self.data_type = data_type @classmethod def from_dict(cls, _dict: Dict) -> 'PromptSetupMetaField': """Initialize a PromptSetupMetaField object from a json dictionary.""" args = {} if 'name' in _dict: args['name'] = _dict.get('name') if 'data_type' in _dict: args['data_type'] = _dict.get('data_type') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a PromptSetupMetaField object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'name') and self.name is not None: _dict['name'] = self.name if hasattr(self, 'data_type') and self.data_type is not None: _dict['data_type'] = self.data_type return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this PromptSetupMetaField object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'PromptSetupMetaField') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'PromptSetupMetaField') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class PromptSetupRequestMonitors(): """ The list of monitors to be configured for the prompt template. :attr PromptSetupRequestMonitorsMonitorDefinitionId monitor_definition_id: (optional) """ def __init__(self, *, monitor_definition_id: 'PromptSetupRequestMonitorsMonitorDefinitionId' = None) -> None: """ Initialize a PromptSetupRequestMonitors object. :param PromptSetupRequestMonitorsMonitorDefinitionId monitor_definition_id: (optional) """ self.monitor_definition_id = monitor_definition_id @classmethod def from_dict(cls, _dict: Dict) -> 'PromptSetupRequestMonitors': """Initialize a PromptSetupRequestMonitors object from a json dictionary.""" args = {} if 'monitor_definition_id' in _dict: args['monitor_definition_id'] = PromptSetupRequestMonitorsMonitorDefinitionId.from_dict(_dict.get('monitor_definition_id')) return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a PromptSetupRequestMonitors object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'monitor_definition_id') and self.monitor_definition_id is not None: _dict['monitor_definition_id'] = self.monitor_definition_id.to_dict() return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this PromptSetupRequestMonitors object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'PromptSetupRequestMonitors') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'PromptSetupRequestMonitors') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class PromptSetupRequestMonitorsMonitorDefinitionId(): """ PromptSetupRequestMonitorsMonitorDefinitionId. :attr object parameters: (optional) :attr List[object] thresholds: (optional) """ def __init__(self, *, parameters: object = None, thresholds: List[object] = None) -> None: """ Initialize a PromptSetupRequestMonitorsMonitorDefinitionId object. :param object parameters: (optional) :param List[object] thresholds: (optional) """ self.parameters = parameters self.thresholds = thresholds @classmethod def from_dict(cls, _dict: Dict) -> 'PromptSetupRequestMonitorsMonitorDefinitionId': """Initialize a PromptSetupRequestMonitorsMonitorDefinitionId object from a json dictionary.""" args = {} if 'parameters' in _dict: args['parameters'] = _dict.get('parameters') if 'thresholds' in _dict: args['thresholds'] = _dict.get('thresholds') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a PromptSetupRequestMonitorsMonitorDefinitionId object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'parameters') and self.parameters is not None: _dict['parameters'] = self.parameters if hasattr(self, 'thresholds') and self.thresholds is not None: _dict['thresholds'] = self.thresholds return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this PromptSetupRequestMonitorsMonitorDefinitionId object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'PromptSetupRequestMonitorsMonitorDefinitionId') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'PromptSetupRequestMonitorsMonitorDefinitionId') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class PromptSetupResponse(): """ The prompt setup response. :attr str prompt_template_asset_id: :attr str project_id: (optional) :attr str space_id: (optional) :attr str deployment_id: (optional) :attr str service_provider_id: (optional) :attr str subscription_id: (optional) :attr str mrm_monitor_instance_id: (optional) The MRM monitor instance ID. :attr str start_time: The date-timestamp when the prompt setup was started. :attr str end_time: (optional) The date-timestamp when the prompt setup ended. :attr PromptSetupResponseStatus status: (optional) The status of the prompt setup. """ def __init__(self, prompt_template_asset_id: str, start_time: str, *, project_id: str = None, space_id: str = None, deployment_id: str = None, service_provider_id: str = None, subscription_id: str = None, mrm_monitor_instance_id: str = None, end_time: str = None, status: 'PromptSetupResponseStatus' = None) -> None: """ Initialize a PromptSetupResponse object. :param str prompt_template_asset_id: :param str start_time: The date-timestamp when the prompt setup was started. :param str project_id: (optional) :param str space_id: (optional) :param str deployment_id: (optional) :param str service_provider_id: (optional) :param str subscription_id: (optional) :param str mrm_monitor_instance_id: (optional) The MRM monitor instance ID. :param str end_time: (optional) The date-timestamp when the prompt setup ended. :param PromptSetupResponseStatus status: (optional) The status of the prompt setup. """ self.prompt_template_asset_id = prompt_template_asset_id self.project_id = project_id self.space_id = space_id self.deployment_id = deployment_id self.service_provider_id = service_provider_id self.subscription_id = subscription_id self.mrm_monitor_instance_id = mrm_monitor_instance_id self.start_time = start_time self.end_time = end_time self.status = status @classmethod def from_dict(cls, _dict: Dict) -> 'PromptSetupResponse': """Initialize a PromptSetupResponse object from a json dictionary.""" args = {} if 'prompt_template_asset_id' in _dict: args['prompt_template_asset_id'] = _dict.get('prompt_template_asset_id') else: raise ValueError('Required property \'prompt_template_asset_id\' not present in PromptSetupResponse JSON') if 'project_id' in _dict: args['project_id'] = _dict.get('project_id') if 'space_id' in _dict: args['space_id'] = _dict.get('space_id') if 'deployment_id' in _dict: args['deployment_id'] = _dict.get('deployment_id') if 'service_provider_id' in _dict: args['service_provider_id'] = _dict.get('service_provider_id') if 'subscription_id' in _dict: args['subscription_id'] = _dict.get('subscription_id') if 'mrm_monitor_instance_id' in _dict: args['mrm_monitor_instance_id'] = _dict.get('mrm_monitor_instance_id') if 'start_time' in _dict: args['start_time'] = _dict.get('start_time') else: raise ValueError('Required property \'start_time\' not present in PromptSetupResponse JSON') if 'end_time' in _dict: args['end_time'] = _dict.get('end_time') if 'status' in _dict: args['status'] = PromptSetupResponseStatus.from_dict(_dict.get('status')) return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a PromptSetupResponse object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'prompt_template_asset_id') and self.prompt_template_asset_id is not None: _dict['prompt_template_asset_id'] = self.prompt_template_asset_id if hasattr(self, 'project_id') and self.project_id is not None: _dict['project_id'] = self.project_id if hasattr(self, 'space_id') and self.space_id is not None: _dict['space_id'] = self.space_id if hasattr(self, 'deployment_id') and self.deployment_id is not None: _dict['deployment_id'] = self.deployment_id if hasattr(self, 'service_provider_id') and self.service_provider_id is not None: _dict['service_provider_id'] = self.service_provider_id if hasattr(self, 'subscription_id') and self.subscription_id is not None: _dict['subscription_id'] = self.subscription_id if hasattr(self, 'mrm_monitor_instance_id') and self.mrm_monitor_instance_id is not None: _dict['mrm_monitor_instance_id'] = self.mrm_monitor_instance_id if hasattr(self, 'start_time') and self.start_time is not None: _dict['start_time'] = self.start_time if hasattr(self, 'end_time') and self.end_time is not None: _dict['end_time'] = self.end_time if hasattr(self, 'status') and self.status is not None: _dict['status'] = self.status.to_dict() return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this PromptSetupResponse object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'PromptSetupResponse') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'PromptSetupResponse') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class PromptSetupResponseStatus(): """ The status of the prompt setup. :attr str state: The prompt setup state. :attr GenericErrorResponse failure: (optional) """ def __init__(self, state: str, *, failure: 'GenericErrorResponse' = None) -> None: """ Initialize a PromptSetupResponseStatus object. :param str state: The prompt setup state. :param GenericErrorResponse failure: (optional) """ self.state = state self.failure = failure @classmethod def from_dict(cls, _dict: Dict) -> 'PromptSetupResponseStatus': """Initialize a PromptSetupResponseStatus object from a json dictionary.""" args = {} if 'state' in _dict: args['state'] = _dict.get('state') else: raise ValueError('Required property \'state\' not present in PromptSetupResponseStatus JSON') if 'failure' in _dict: args['failure'] = GenericErrorResponse.from_dict(_dict.get('failure')) return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a PromptSetupResponseStatus object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'state') and self.state is not None: _dict['state'] = self.state if hasattr(self, 'failure') and self.failure is not None: _dict['failure'] = self.failure.to_dict() return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this PromptSetupResponseStatus object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'PromptSetupResponseStatus') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'PromptSetupResponseStatus') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class StateEnum(str, Enum): """ The prompt setup state. """ RUNNING = 'RUNNING' ERROR = 'ERROR' FINISHED = 'FINISHED' class RecordsCountSummary(): """ Summary about records count. :attr int count: :attr str type: The type of records time. :attr datetime timestamp: (optional) timestamp of last consumed record (only for unprocessed_records). :attr GenericErrorResponse failure: (optional) """ def __init__(self, count: int, type: str, *, timestamp: datetime = None, failure: 'GenericErrorResponse' = None) -> None: """ Initialize a RecordsCountSummary object. :param int count: :param str type: The type of records time. :param datetime timestamp: (optional) timestamp of last consumed record (only for unprocessed_records). :param GenericErrorResponse failure: (optional) """ self.count = count self.type = type self.timestamp = timestamp self.failure = failure @classmethod def from_dict(cls, _dict: Dict) -> 'RecordsCountSummary': """Initialize a RecordsCountSummary object from a json dictionary.""" args = {} if 'count' in _dict: args['count'] = _dict.get('count') else: raise ValueError('Required property \'count\' not present in RecordsCountSummary JSON') if 'type' in _dict: args['type'] = _dict.get('type') else: raise ValueError('Required property \'type\' not present in RecordsCountSummary JSON') if 'timestamp' in _dict: args['timestamp'] = string_to_datetime(_dict.get('timestamp')) if 'failure' in _dict: args['failure'] = GenericErrorResponse.from_dict(_dict.get('failure')) return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a RecordsCountSummary object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'count') and self.count is not None: _dict['count'] = self.count if hasattr(self, 'type') and self.type is not None: _dict['type'] = self.type if hasattr(self, 'timestamp') and self.timestamp is not None: _dict['timestamp'] = datetime_to_string(self.timestamp) if hasattr(self, 'failure') and self.failure is not None: _dict['failure'] = self.failure.to_dict() return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this RecordsCountSummary object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'RecordsCountSummary') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'RecordsCountSummary') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class TypeEnum(str, Enum): """ The type of records time. """ PAYLOAD_LOGGING = 'payload_logging' FEEDBACK = 'feedback' class RecordsListResponse(): """ RecordsListResponse. """ def __init__(self) -> None: """ Initialize a RecordsListResponse object. """ msg = "Cannot instantiate base class. Instead, instantiate one of the defined subclasses: {0}".format( ", ".join(['RecordsListResponseDataRecordsResponseCollectionDict', 'RecordsListResponseDataRecordsResponseCollectionList'])) raise Exception(msg) class RiskEvaluationResponse(): """ RiskEvaluationResponse. :attr RiskEvaluationResponseMetadata metadata: (optional) :attr MonitoringRunEntity entity: (optional) """ def __init__(self, *, metadata: 'RiskEvaluationResponseMetadata' = None, entity: 'MonitoringRunEntity' = None) -> None: """ Initialize a RiskEvaluationResponse object. :param RiskEvaluationResponseMetadata metadata: (optional) :param MonitoringRunEntity entity: (optional) """ self.metadata = metadata self.entity = entity @classmethod def from_dict(cls, _dict: Dict) -> 'RiskEvaluationResponse': """Initialize a RiskEvaluationResponse object from a json dictionary.""" args = {} if 'metadata' in _dict: args['metadata'] = RiskEvaluationResponseMetadata.from_dict(_dict.get('metadata')) if 'entity' in _dict: args['entity'] = MonitoringRunEntity.from_dict(_dict.get('entity')) return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a RiskEvaluationResponse object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'metadata') and self.metadata is not None: _dict['metadata'] = self.metadata.to_dict() if hasattr(self, 'entity') and self.entity is not None: _dict['entity'] = self.entity.to_dict() return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this RiskEvaluationResponse object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'RiskEvaluationResponse') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'RiskEvaluationResponse') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class RiskEvaluationResponseMetadata(): """ RiskEvaluationResponseMetadata. :attr str id: (optional) :attr str created_at: (optional) :attr str created_by: (optional) :attr str modified_by: (optional) """ def __init__(self, *, id: str = None, created_at: str = None, created_by: str = None, modified_by: str = None) -> None: """ Initialize a RiskEvaluationResponseMetadata object. :param str id: (optional) :param str created_at: (optional) :param str created_by: (optional) :param str modified_by: (optional) """ self.id = id self.created_at = created_at self.created_by = created_by self.modified_by = modified_by @classmethod def from_dict(cls, _dict: Dict) -> 'RiskEvaluationResponseMetadata': """Initialize a RiskEvaluationResponseMetadata object from a json dictionary.""" args = {} if 'id' in _dict: args['id'] = _dict.get('id') if 'created_at' in _dict: args['created_at'] = _dict.get('created_at') if 'created_by' in _dict: args['created_by'] = _dict.get('created_by') if 'modified_by' in _dict: args['modified_by'] = _dict.get('modified_by') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a RiskEvaluationResponseMetadata object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'id') and self.id is not None: _dict['id'] = self.id if hasattr(self, 'created_at') and self.created_at is not None: _dict['created_at'] = self.created_at if hasattr(self, 'created_by') and self.created_by is not None: _dict['created_by'] = self.created_by if hasattr(self, 'modified_by') and self.modified_by is not None: _dict['modified_by'] = self.modified_by return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this RiskEvaluationResponseMetadata object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'RiskEvaluationResponseMetadata') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'RiskEvaluationResponseMetadata') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class RiskEvaluationStatus(): """ RiskEvaluationStatus. :attr str state: :attr str comment: (optional) Optional comment to the evaluation. :attr str evaluated_by: (optional) Author of the evaluation. :attr str evaluated_at: (optional) Time of the evaluation. """ def __init__(self, state: str, *, comment: str = None, evaluated_by: str = None, evaluated_at: str = None) -> None: """ Initialize a RiskEvaluationStatus object. :param str state: :param str comment: (optional) Optional comment to the evaluation. :param str evaluated_by: (optional) Author of the evaluation. :param str evaluated_at: (optional) Time of the evaluation. """ self.state = state self.comment = comment self.evaluated_by = evaluated_by self.evaluated_at = evaluated_at @classmethod def from_dict(cls, _dict: Dict) -> 'RiskEvaluationStatus': """Initialize a RiskEvaluationStatus object from a json dictionary.""" args = {} if 'state' in _dict: args['state'] = _dict.get('state') else: raise ValueError('Required property \'state\' not present in RiskEvaluationStatus JSON') if 'comment' in _dict: args['comment'] = _dict.get('comment') if 'evaluated_by' in _dict: args['evaluated_by'] = _dict.get('evaluated_by') if 'evaluated_at' in _dict: args['evaluated_at'] = _dict.get('evaluated_at') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a RiskEvaluationStatus object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'state') and self.state is not None: _dict['state'] = self.state if hasattr(self, 'comment') and self.comment is not None: _dict['comment'] = self.comment if hasattr(self, 'evaluated_by') and self.evaluated_by is not None: _dict['evaluated_by'] = self.evaluated_by if hasattr(self, 'evaluated_at') and self.evaluated_at is not None: _dict['evaluated_at'] = self.evaluated_at return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this RiskEvaluationStatus object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'RiskEvaluationStatus') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'RiskEvaluationStatus') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class StateEnum(str, Enum): """ state. """ PENDING_EVALUATION = 'pending_evaluation' APPROVED = 'approved' REJECTED = 'rejected' class RiskNotificationPreferencesResponse(): """ RiskNotificationPreferencesResponse. :attr RiskNotificationPreferencesResponseMetadata metadata: (optional) :attr RiskNotificationPreferencesResponseEntity entity: (optional) """ def __init__(self, *, metadata: 'RiskNotificationPreferencesResponseMetadata' = None, entity: 'RiskNotificationPreferencesResponseEntity' = None) -> None: """ Initialize a RiskNotificationPreferencesResponse object. :param RiskNotificationPreferencesResponseMetadata metadata: (optional) :param RiskNotificationPreferencesResponseEntity entity: (optional) """ self.metadata = metadata self.entity = entity @classmethod def from_dict(cls, _dict: Dict) -> 'RiskNotificationPreferencesResponse': """Initialize a RiskNotificationPreferencesResponse object from a json dictionary.""" args = {} if 'metadata' in _dict: args['metadata'] = RiskNotificationPreferencesResponseMetadata.from_dict(_dict.get('metadata')) if 'entity' in _dict: args['entity'] = RiskNotificationPreferencesResponseEntity.from_dict(_dict.get('entity')) return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a RiskNotificationPreferencesResponse object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'metadata') and self.metadata is not None: _dict['metadata'] = self.metadata.to_dict() if hasattr(self, 'entity') and self.entity is not None: _dict['entity'] = self.entity.to_dict() return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this RiskNotificationPreferencesResponse object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'RiskNotificationPreferencesResponse') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'RiskNotificationPreferencesResponse') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class RiskNotificationPreferencesResponseEntity(): """ RiskNotificationPreferencesResponseEntity. :attr bool notification_enabled: (optional) :attr str notification_frequency: (optional) :attr List[str] notification_emails: (optional) """ def __init__(self, *, notification_enabled: bool = None, notification_frequency: str = None, notification_emails: List[str] = None) -> None: """ Initialize a RiskNotificationPreferencesResponseEntity object. :param bool notification_enabled: (optional) :param str notification_frequency: (optional) :param List[str] notification_emails: (optional) """ self.notification_enabled = notification_enabled self.notification_frequency = notification_frequency self.notification_emails = notification_emails @classmethod def from_dict(cls, _dict: Dict) -> 'RiskNotificationPreferencesResponseEntity': """Initialize a RiskNotificationPreferencesResponseEntity object from a json dictionary.""" args = {} if 'notification_enabled' in _dict: args['notification_enabled'] = _dict.get('notification_enabled') if 'notification_frequency' in _dict: args['notification_frequency'] = _dict.get('notification_frequency') if 'notification_emails' in _dict: args['notification_emails'] = _dict.get('notification_emails') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a RiskNotificationPreferencesResponseEntity object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'notification_enabled') and self.notification_enabled is not None: _dict['notification_enabled'] = self.notification_enabled if hasattr(self, 'notification_frequency') and self.notification_frequency is not None: _dict['notification_frequency'] = self.notification_frequency if hasattr(self, 'notification_emails') and self.notification_emails is not None: _dict['notification_emails'] = self.notification_emails return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this RiskNotificationPreferencesResponseEntity object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'RiskNotificationPreferencesResponseEntity') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'RiskNotificationPreferencesResponseEntity') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class RiskNotificationPreferencesResponseMetadata(): """ RiskNotificationPreferencesResponseMetadata. :attr str created_at: (optional) :attr str created_by: (optional) :attr str url: (optional) :attr str id: (optional) """ def __init__(self, *, created_at: str = None, created_by: str = None, url: str = None, id: str = None) -> None: """ Initialize a RiskNotificationPreferencesResponseMetadata object. :param str created_at: (optional) :param str created_by: (optional) :param str url: (optional) :param str id: (optional) """ self.created_at = created_at self.created_by = created_by self.url = url self.id = id @classmethod def from_dict(cls, _dict: Dict) -> 'RiskNotificationPreferencesResponseMetadata': """Initialize a RiskNotificationPreferencesResponseMetadata object from a json dictionary.""" args = {} if 'created_at' in _dict: args['created_at'] = _dict.get('created_at') if 'created_by' in _dict: args['created_by'] = _dict.get('created_by') if 'url' in _dict: args['url'] = _dict.get('url') if 'id' in _dict: args['id'] = _dict.get('id') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a RiskNotificationPreferencesResponseMetadata object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'created_at') and self.created_at is not None: _dict['created_at'] = self.created_at if hasattr(self, 'created_by') and self.created_by is not None: _dict['created_by'] = self.created_by if hasattr(self, 'url') and self.url is not None: _dict['url'] = self.url if hasattr(self, 'id') and self.id is not None: _dict['id'] = self.id return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this RiskNotificationPreferencesResponseMetadata object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'RiskNotificationPreferencesResponseMetadata') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'RiskNotificationPreferencesResponseMetadata') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class ScheduleStartTime(): """ Definition of first run time for scheduled activity; either absolute or relative the the moment of activation. :attr str type: The type of start time. :attr str delay_unit: (optional) must be set if type is `relative`. :attr int delay: (optional) must be set if type is `relative`. :attr datetime timestamp: (optional) must be set if type is `absolute`. """ def __init__(self, type: str, *, delay_unit: str = None, delay: int = None, timestamp: datetime = None) -> None: """ Initialize a ScheduleStartTime object. :param str type: The type of start time. :param str delay_unit: (optional) must be set if type is `relative`. :param int delay: (optional) must be set if type is `relative`. :param datetime timestamp: (optional) must be set if type is `absolute`. """ self.type = type self.delay_unit = delay_unit self.delay = delay self.timestamp = timestamp @classmethod def from_dict(cls, _dict: Dict) -> 'ScheduleStartTime': """Initialize a ScheduleStartTime object from a json dictionary.""" args = {} if 'type' in _dict: args['type'] = _dict.get('type') else: raise ValueError('Required property \'type\' not present in ScheduleStartTime JSON') if 'delay_unit' in _dict: args['delay_unit'] = _dict.get('delay_unit') if 'delay' in _dict: args['delay'] = _dict.get('delay') if 'timestamp' in _dict: args['timestamp'] = string_to_datetime(_dict.get('timestamp')) return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a ScheduleStartTime object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'type') and self.type is not None: _dict['type'] = self.type if hasattr(self, 'delay_unit') and self.delay_unit is not None: _dict['delay_unit'] = self.delay_unit if hasattr(self, 'delay') and self.delay is not None: _dict['delay'] = self.delay if hasattr(self, 'timestamp') and self.timestamp is not None: _dict['timestamp'] = datetime_to_string(self.timestamp) return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this ScheduleStartTime object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'ScheduleStartTime') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'ScheduleStartTime') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class TypeEnum(str, Enum): """ The type of start time. """ RELATIVE = 'relative' ABSOLUTE = 'absolute' class DelayUnitEnum(str, Enum): """ must be set if type is `relative`. """ MINUTE = 'minute' HOUR = 'hour' DAY = 'day' WEEK = 'week' MONTH = 'month' YEAR = 'year' class SchemaInferenceResponse(): """ Schema inference response. :attr FileAssetMetadata file_asset_metadata: (optional) File data asset metadata. :attr SubscriptionResponse subscription: """ def __init__(self, subscription: 'SubscriptionResponse', *, file_asset_metadata: 'FileAssetMetadata' = None) -> None: """ Initialize a SchemaInferenceResponse object. :param SubscriptionResponse subscription: :param FileAssetMetadata file_asset_metadata: (optional) File data asset metadata. """ self.file_asset_metadata = file_asset_metadata self.subscription = subscription @classmethod def from_dict(cls, _dict: Dict) -> 'SchemaInferenceResponse': """Initialize a SchemaInferenceResponse object from a json dictionary.""" args = {} if 'file_asset_metadata' in _dict: args['file_asset_metadata'] = FileAssetMetadata.from_dict(_dict.get('file_asset_metadata')) if 'subscription' in _dict: args['subscription'] = SubscriptionResponse.from_dict(_dict.get('subscription')) else: raise ValueError('Required property \'subscription\' not present in SchemaInferenceResponse JSON') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a SchemaInferenceResponse object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'file_asset_metadata') and self.file_asset_metadata is not None: _dict['file_asset_metadata'] = self.file_asset_metadata.to_dict() if hasattr(self, 'subscription') and self.subscription is not None: _dict['subscription'] = self.subscription.to_dict() return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this SchemaInferenceResponse object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'SchemaInferenceResponse') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'SchemaInferenceResponse') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class ScoreData(): """ Score data object. :attr List[object] values: Score value records. :attr List[str] fields: (optional) Score fields. :attr str id: (optional) Discriminates the data for multi input data situation. For example in cases where multiple tensors are expected. """ def __init__(self, values: List[object], *, fields: List[str] = None, id: str = None) -> None: """ Initialize a ScoreData object. :param List[object] values: Score value records. :param List[str] fields: (optional) Score fields. :param str id: (optional) Discriminates the data for multi input data situation. For example in cases where multiple tensors are expected. """ self.values = values self.fields = fields self.id = id @classmethod def from_dict(cls, _dict: Dict) -> 'ScoreData': """Initialize a ScoreData object from a json dictionary.""" args = {} if 'values' in _dict: args['values'] = _dict.get('values') else: raise ValueError('Required property \'values\' not present in ScoreData JSON') if 'fields' in _dict: args['fields'] = _dict.get('fields') if 'id' in _dict: args['id'] = _dict.get('id') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a ScoreData object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'values') and self.values is not None: _dict['values'] = self.values if hasattr(self, 'fields') and self.fields is not None: _dict['fields'] = self.fields if hasattr(self, 'id') and self.id is not None: _dict['id'] = self.id return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this ScoreData object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'ScoreData') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'ScoreData') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class ScoringEndpoint(): """ Definition of scoring endpoint in custom_machine_learning. :attr str url: (optional) :attr SecretCleaned credentials: (optional) :attr dict request_headers: (optional) map header name to header value. """ def __init__(self, *, url: str = None, credentials: 'SecretCleaned' = None, request_headers: dict = None) -> None: """ Initialize a ScoringEndpoint object. :param str url: (optional) :param SecretCleaned credentials: (optional) :param dict request_headers: (optional) map header name to header value. """ self.url = url self.credentials = credentials self.request_headers = request_headers @classmethod def from_dict(cls, _dict: Dict) -> 'ScoringEndpoint': """Initialize a ScoringEndpoint object from a json dictionary.""" args = {} if 'url' in _dict: args['url'] = _dict.get('url') if 'credentials' in _dict: args['credentials'] = SecretCleaned.from_dict(_dict.get('credentials')) if 'request_headers' in _dict: args['request_headers'] = _dict.get('request_headers') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a ScoringEndpoint object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'url') and self.url is not None: _dict['url'] = self.url if hasattr(self, 'credentials') and self.credentials is not None: _dict['credentials'] = self.credentials.to_dict() if hasattr(self, 'request_headers') and self.request_headers is not None: _dict['request_headers'] = self.request_headers return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this ScoringEndpoint object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'ScoringEndpoint') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'ScoringEndpoint') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class ScoringEndpointCredentials(): """ ScoringEndpointCredentials. """ def __init__(self, **kwargs) -> None: """ Initialize a ScoringEndpointCredentials object. :param **kwargs: (optional) Any additional properties. """ msg = "Cannot instantiate base class. Instead, instantiate one of the defined subclasses: {0}".format( ", ".join(['ScoringEndpointCredentialsAzureScoringEndpointCredentials'])) raise Exception(msg) class ScoringEndpointRequest(): """ Definition of scoring endpoint in custom_machine_learning. :attr str url: (optional) :attr ScoringEndpointCredentials credentials: (optional) :attr dict request_headers: (optional) map header name to header value. """ def __init__(self, *, url: str = None, credentials: 'ScoringEndpointCredentials' = None, request_headers: dict = None) -> None: """ Initialize a ScoringEndpointRequest object. :param str url: (optional) :param ScoringEndpointCredentials credentials: (optional) :param dict request_headers: (optional) map header name to header value. """ self.url = url self.credentials = credentials self.request_headers = request_headers @classmethod def from_dict(cls, _dict: Dict) -> 'ScoringEndpointRequest': """Initialize a ScoringEndpointRequest object from a json dictionary.""" args = {} if 'url' in _dict: args['url'] = _dict.get('url') if 'credentials' in _dict: args['credentials'] = _dict.get('credentials') if 'request_headers' in _dict: args['request_headers'] = _dict.get('request_headers') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a ScoringEndpointRequest object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'url') and self.url is not None: _dict['url'] = self.url if hasattr(self, 'credentials') and self.credentials is not None: if isinstance(self.credentials, dict): _dict['credentials'] = self.credentials else: _dict['credentials'] = self.credentials.to_dict() if hasattr(self, 'request_headers') and self.request_headers is not None: _dict['request_headers'] = self.request_headers return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this ScoringEndpointRequest object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'ScoringEndpointRequest') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'ScoringEndpointRequest') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class SecretCleaned(): """ SecretCleaned. :attr str secret_id: Generated id which identifies credentials. """ def __init__(self, secret_id: str) -> None: """ Initialize a SecretCleaned object. :param str secret_id: Generated id which identifies credentials. """ self.secret_id = secret_id @classmethod def from_dict(cls, _dict: Dict) -> 'SecretCleaned': """Initialize a SecretCleaned object from a json dictionary.""" args = {} if 'secret_id' in _dict: args['secret_id'] = _dict.get('secret_id') else: raise ValueError('Required property \'secret_id\' not present in SecretCleaned JSON') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a SecretCleaned object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'secret_id') and self.secret_id is not None: _dict['secret_id'] = self.secret_id return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this SecretCleaned object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'SecretCleaned') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'SecretCleaned') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class ServiceProviderResponse(): """ ServiceProviderResponse. :attr Metadata metadata: :attr ServiceProviderResponseEntity entity: """ def __init__(self, metadata: 'Metadata', entity: 'ServiceProviderResponseEntity') -> None: """ Initialize a ServiceProviderResponse object. :param Metadata metadata: :param ServiceProviderResponseEntity entity: """ self.metadata = metadata self.entity = entity @classmethod def from_dict(cls, _dict: Dict) -> 'ServiceProviderResponse': """Initialize a ServiceProviderResponse object from a json dictionary.""" args = {} if 'metadata' in _dict: args['metadata'] = Metadata.from_dict(_dict.get('metadata')) else: raise ValueError('Required property \'metadata\' not present in ServiceProviderResponse JSON') if 'entity' in _dict: args['entity'] = ServiceProviderResponseEntity.from_dict(_dict.get('entity')) else: raise ValueError('Required property \'entity\' not present in ServiceProviderResponse JSON') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a ServiceProviderResponse object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'metadata') and self.metadata is not None: _dict['metadata'] = self.metadata.to_dict() if hasattr(self, 'entity') and self.entity is not None: _dict['entity'] = self.entity.to_dict() return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this ServiceProviderResponse object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'ServiceProviderResponse') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'ServiceProviderResponse') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class ServiceProviderResponseCollection(): """ ServiceProviderResponseCollection. :attr List[ServiceProviderResponse] service_providers: """ def __init__(self, service_providers: List['ServiceProviderResponse']) -> None: """ Initialize a ServiceProviderResponseCollection object. :param List[ServiceProviderResponse] service_providers: """ self.service_providers = service_providers @classmethod def from_dict(cls, _dict: Dict) -> 'ServiceProviderResponseCollection': """Initialize a ServiceProviderResponseCollection object from a json dictionary.""" args = {} if 'service_providers' in _dict: args['service_providers'] = [ServiceProviderResponse.from_dict(x) for x in _dict.get('service_providers')] else: raise ValueError('Required property \'service_providers\' not present in ServiceProviderResponseCollection JSON') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a ServiceProviderResponseCollection object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'service_providers') and self.service_providers is not None: _dict['service_providers'] = [x.to_dict() for x in self.service_providers] return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this ServiceProviderResponseCollection object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'ServiceProviderResponseCollection') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'ServiceProviderResponseCollection') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class ServiceProviderResponseEntity(): """ ServiceProviderResponseEntity. :attr str name: Name of the ML service instance. :attr str service_type: :attr str instance_id: (optional) ID of the ML service instance (required for Watson Machine Learning). :attr SecretCleaned credentials: (optional) :attr dict request_headers: (optional) Additional headers passed to the ML engine API (for example when scoring). :attr str operational_space_id: (optional) Reference to Operational Space. :attr str deployment_space_id: (optional) Reference to V2 Space ID. :attr str integrated_project_id: (optional) Project ID. :attr List[str] group_ids: (optional) Access control list of group id of Cloud Pak for Data (Only available for OpenScale on Cloud Pak for Data >= 4.0.6 with ENABLE_GROUP_AUTH being true). :attr List[str] user_ids: (optional) Access control list of user id of Cloud Pak for Data (Only available for OpenScale on Cloud Pak for Data >= 4.0.6 with ENABLE_GROUP_AUTH being true). :attr Status status: (optional) """ def __init__(self, name: str, service_type: str, *, instance_id: str = None, credentials: 'SecretCleaned' = None, request_headers: dict = None, operational_space_id: str = None, deployment_space_id: str = None, integrated_project_id: str = None, group_ids: List[str] = None, user_ids: List[str] = None, status: 'Status' = None) -> None: """ Initialize a ServiceProviderResponseEntity object. :param str name: Name of the ML service instance. :param str service_type: :param str instance_id: (optional) ID of the ML service instance (required for Watson Machine Learning). :param SecretCleaned credentials: (optional) :param dict request_headers: (optional) Additional headers passed to the ML engine API (for example when scoring). :param str operational_space_id: (optional) Reference to Operational Space. :param str deployment_space_id: (optional) Reference to V2 Space ID. :param str integrated_project_id: (optional) Project ID. :param List[str] group_ids: (optional) Access control list of group id of Cloud Pak for Data (Only available for OpenScale on Cloud Pak for Data >= 4.0.6 with ENABLE_GROUP_AUTH being true). :param List[str] user_ids: (optional) Access control list of user id of Cloud Pak for Data (Only available for OpenScale on Cloud Pak for Data >= 4.0.6 with ENABLE_GROUP_AUTH being true). :param Status status: (optional) """ self.name = name self.service_type = service_type self.instance_id = instance_id self.credentials = credentials self.request_headers = request_headers self.operational_space_id = operational_space_id self.deployment_space_id = deployment_space_id self.integrated_project_id = integrated_project_id self.group_ids = group_ids self.user_ids = user_ids self.status = status @classmethod def from_dict(cls, _dict: Dict) -> 'ServiceProviderResponseEntity': """Initialize a ServiceProviderResponseEntity object from a json dictionary.""" args = {} if 'name' in _dict: args['name'] = _dict.get('name') else: raise ValueError('Required property \'name\' not present in ServiceProviderResponseEntity JSON') if 'service_type' in _dict: args['service_type'] = _dict.get('service_type') else: raise ValueError('Required property \'service_type\' not present in ServiceProviderResponseEntity JSON') if 'instance_id' in _dict: args['instance_id'] = _dict.get('instance_id') if 'credentials' in _dict: args['credentials'] = SecretCleaned.from_dict(_dict.get('credentials')) if 'request_headers' in _dict: args['request_headers'] = _dict.get('request_headers') if 'operational_space_id' in _dict: args['operational_space_id'] = _dict.get('operational_space_id') if 'deployment_space_id' in _dict: args['deployment_space_id'] = _dict.get('deployment_space_id') if 'integrated_project_id' in _dict: args['integrated_project_id'] = _dict.get('integrated_project_id') if 'group_ids' in _dict: args['group_ids'] = _dict.get('group_ids') if 'user_ids' in _dict: args['user_ids'] = _dict.get('user_ids') if 'status' in _dict: args['status'] = Status.from_dict(_dict.get('status')) return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a ServiceProviderResponseEntity object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'name') and self.name is not None: _dict['name'] = self.name if hasattr(self, 'service_type') and self.service_type is not None: _dict['service_type'] = self.service_type if hasattr(self, 'instance_id') and self.instance_id is not None: _dict['instance_id'] = self.instance_id if hasattr(self, 'credentials') and self.credentials is not None: _dict['credentials'] = self.credentials.to_dict() if hasattr(self, 'request_headers') and self.request_headers is not None: _dict['request_headers'] = self.request_headers if hasattr(self, 'operational_space_id') and self.operational_space_id is not None: _dict['operational_space_id'] = self.operational_space_id if hasattr(self, 'deployment_space_id') and self.deployment_space_id is not None: _dict['deployment_space_id'] = self.deployment_space_id if hasattr(self, 'integrated_project_id') and self.integrated_project_id is not None: _dict['integrated_project_id'] = self.integrated_project_id if hasattr(self, 'group_ids') and self.group_ids is not None: _dict['group_ids'] = self.group_ids if hasattr(self, 'user_ids') and self.user_ids is not None: _dict['user_ids'] = self.user_ids if hasattr(self, 'status') and self.status is not None: _dict['status'] = self.status.to_dict() return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this ServiceProviderResponseEntity object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'ServiceProviderResponseEntity') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'ServiceProviderResponseEntity') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class ServiceTypeEnum(str, Enum): """ service_type. """ WATSON_MACHINE_LEARNING = 'watson_machine_learning' AMAZON_SAGEMAKER = 'amazon_sagemaker' AZURE_MACHINE_LEARNING = 'azure_machine_learning' CUSTOM_MACHINE_LEARNING = 'custom_machine_learning' SPSS_COLLABORATION_AND_DEPLOYMENT_SERVICES = 'spss_collaboration_and_deployment_services' class Source(): """ Source. :attr str id: id of the source. :attr str type: type of the source. :attr List[str] metric_ids: (optional) a selection of metrics that the source applies to (if not provided the source applies to all metrics). :attr object data: Data representing the source. It can be any value - object, string, number, boolean or array. """ def __init__(self, id: str, type: str, data: object, *, metric_ids: List[str] = None) -> None: """ Initialize a Source object. :param str id: id of the source. :param str type: type of the source. :param object data: Data representing the source. It can be any value - object, string, number, boolean or array. :param List[str] metric_ids: (optional) a selection of metrics that the source applies to (if not provided the source applies to all metrics). """ self.id = id self.type = type self.metric_ids = metric_ids self.data = data @classmethod def from_dict(cls, _dict: Dict) -> 'Source': """Initialize a Source object from a json dictionary.""" args = {} if 'id' in _dict: args['id'] = _dict.get('id') else: raise ValueError('Required property \'id\' not present in Source JSON') if 'type' in _dict: args['type'] = _dict.get('type') else: raise ValueError('Required property \'type\' not present in Source JSON') if 'metric_ids' in _dict: args['metric_ids'] = _dict.get('metric_ids') if 'data' in _dict: args['data'] = _dict.get('data') else: raise ValueError('Required property \'data\' not present in Source JSON') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a Source object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'id') and self.id is not None: _dict['id'] = self.id if hasattr(self, 'type') and self.type is not None: _dict['type'] = self.type if hasattr(self, 'metric_ids') and self.metric_ids is not None: _dict['metric_ids'] = self.metric_ids if hasattr(self, 'data') and self.data is not None: _dict['data'] = self.data return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this Source object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'Source') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'Source') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class SparkStruct(): """ SparkStruct. :attr str type: :attr List[SparkStructField] fields: :attr str id: (optional) :attr str name: (optional) """ def __init__(self, type: str, fields: List['SparkStructField'], *, id: str = None, name: str = None) -> None: """ Initialize a SparkStruct object. :param str type: :param List[SparkStructField] fields: :param str id: (optional) :param str name: (optional) """ self.type = type self.fields = fields self.id = id self.name = name @classmethod def from_dict(cls, _dict: Dict) -> 'SparkStruct': """Initialize a SparkStruct object from a json dictionary.""" args = {} if 'type' in _dict: args['type'] = _dict.get('type') else: raise ValueError('Required property \'type\' not present in SparkStruct JSON') if 'fields' in _dict: args['fields'] = _dict.get('fields') else: raise ValueError('Required property \'fields\' not present in SparkStruct JSON') if 'id' in _dict: args['id'] = _dict.get('id') if 'name' in _dict: args['name'] = _dict.get('name') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a SparkStruct object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'type') and self.type is not None: _dict['type'] = self.type if hasattr(self, 'fields') and self.fields is not None: fields_list = [] for x in self.fields: if isinstance(x, dict): fields_list.append(x) else: fields_list.append(x.to_dict()) _dict['fields'] = fields_list if hasattr(self, 'id') and self.id is not None: _dict['id'] = self.id if hasattr(self, 'name') and self.name is not None: _dict['name'] = self.name return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this SparkStruct object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'SparkStruct') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'SparkStruct') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class SparkStructField(): """ Spark struct field. """ def __init__(self) -> None: """ Initialize a SparkStructField object. """ msg = "Cannot instantiate base class. Instead, instantiate one of the defined subclasses: {0}".format( ", ".join(['SparkStructFieldPrimitive', 'SparkStructFieldObject'])) raise Exception(msg) class Status(): """ Status. :attr str state: :attr str deleted_at: (optional) :attr GenericErrorResponse failure: (optional) """ def __init__(self, state: str, *, deleted_at: str = None, failure: 'GenericErrorResponse' = None) -> None: """ Initialize a Status object. :param str state: :param str deleted_at: (optional) :param GenericErrorResponse failure: (optional) """ self.state = state self.deleted_at = deleted_at self.failure = failure @classmethod def from_dict(cls, _dict: Dict) -> 'Status': """Initialize a Status object from a json dictionary.""" args = {} if 'state' in _dict: args['state'] = _dict.get('state') else: raise ValueError('Required property \'state\' not present in Status JSON') if 'deleted_at' in _dict: args['deleted_at'] = _dict.get('deleted_at') if 'failure' in _dict: args['failure'] = GenericErrorResponse.from_dict(_dict.get('failure')) return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a Status object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'state') and self.state is not None: _dict['state'] = self.state if hasattr(self, 'deleted_at') and self.deleted_at is not None: _dict['deleted_at'] = self.deleted_at if hasattr(self, 'failure') and self.failure is not None: _dict['failure'] = self.failure.to_dict() return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this Status object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'Status') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'Status') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class StateEnum(str, Enum): """ state. """ PREPARING = 'preparing' ACTIVE = 'active' DELETING = 'deleting' PENDING_DELETE = 'pending_delete' DISABLED = 'disabled' ERROR = 'error' class SubscriptionResponse(): """ SubscriptionResponse. :attr Metadata metadata: :attr SubscriptionResponseEntity entity: """ def __init__(self, metadata: 'Metadata', entity: 'SubscriptionResponseEntity') -> None: """ Initialize a SubscriptionResponse object. :param Metadata metadata: :param SubscriptionResponseEntity entity: """ self.metadata = metadata self.entity = entity @classmethod def from_dict(cls, _dict: Dict) -> 'SubscriptionResponse': """Initialize a SubscriptionResponse object from a json dictionary.""" args = {} if 'metadata' in _dict: args['metadata'] = Metadata.from_dict(_dict.get('metadata')) else: raise ValueError('Required property \'metadata\' not present in SubscriptionResponse JSON') if 'entity' in _dict: args['entity'] = SubscriptionResponseEntity.from_dict(_dict.get('entity')) else: raise ValueError('Required property \'entity\' not present in SubscriptionResponse JSON') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a SubscriptionResponse object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'metadata') and self.metadata is not None: _dict['metadata'] = self.metadata.to_dict() if hasattr(self, 'entity') and self.entity is not None: _dict['entity'] = self.entity.to_dict() return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this SubscriptionResponse object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'SubscriptionResponse') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'SubscriptionResponse') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class SubscriptionResponseCollection(): """ SubscriptionResponseCollection. :attr List[SubscriptionResponse] subscriptions: """ def __init__(self, subscriptions: List['SubscriptionResponse']) -> None: """ Initialize a SubscriptionResponseCollection object. :param List[SubscriptionResponse] subscriptions: """ self.subscriptions = subscriptions @classmethod def from_dict(cls, _dict: Dict) -> 'SubscriptionResponseCollection': """Initialize a SubscriptionResponseCollection object from a json dictionary.""" args = {} if 'subscriptions' in _dict: args['subscriptions'] = [SubscriptionResponse.from_dict(x) for x in _dict.get('subscriptions')] else: raise ValueError('Required property \'subscriptions\' not present in SubscriptionResponseCollection JSON') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a SubscriptionResponseCollection object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'subscriptions') and self.subscriptions is not None: _dict['subscriptions'] = [x.to_dict() for x in self.subscriptions] return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this SubscriptionResponseCollection object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'SubscriptionResponseCollection') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'SubscriptionResponseCollection') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class SubscriptionResponseEntity(): """ SubscriptionResponseEntity. :attr str data_mart_id: :attr str service_provider_id: :attr Asset asset: :attr AssetProperties asset_properties: (optional) Additional asset properties (subject of discovery if not provided when creating the subscription). :attr AssetDeployment deployment: :attr IntegratedSystemReference integration_reference: (optional) Integrated System reference. :attr RiskEvaluationStatus risk_evaluation_status: (optional) :attr AnalyticsEngine analytics_engine: (optional) :attr List[DataSource] data_sources: (optional) :attr List[EmbeddingsProvider] embeddings_providers: (optional) :attr Status status: (optional) """ def __init__(self, data_mart_id: str, service_provider_id: str, asset: 'Asset', deployment: 'AssetDeployment', *, asset_properties: 'AssetProperties' = None, integration_reference: 'IntegratedSystemReference' = None, risk_evaluation_status: 'RiskEvaluationStatus' = None, analytics_engine: 'AnalyticsEngine' = None, data_sources: List['DataSource'] = None, embeddings_providers: List['EmbeddingsProvider'] = None, status: 'Status' = None) -> None: """ Initialize a SubscriptionResponseEntity object. :param str data_mart_id: :param str service_provider_id: :param Asset asset: :param AssetDeployment deployment: :param AssetProperties asset_properties: (optional) Additional asset properties (subject of discovery if not provided when creating the subscription). :param IntegratedSystemReference integration_reference: (optional) Integrated System reference. :param RiskEvaluationStatus risk_evaluation_status: (optional) :param AnalyticsEngine analytics_engine: (optional) :param List[DataSource] data_sources: (optional) :param List[EmbeddingsProvider] embeddings_providers: (optional) :param Status status: (optional) """ self.data_mart_id = data_mart_id self.service_provider_id = service_provider_id self.asset = asset self.asset_properties = asset_properties self.deployment = deployment self.integration_reference = integration_reference self.risk_evaluation_status = risk_evaluation_status self.analytics_engine = analytics_engine self.data_sources = data_sources self.embeddings_providers = embeddings_providers self.status = status @classmethod def from_dict(cls, _dict: Dict) -> 'SubscriptionResponseEntity': """Initialize a SubscriptionResponseEntity object from a json dictionary.""" args = {} if 'data_mart_id' in _dict: args['data_mart_id'] = _dict.get('data_mart_id') else: raise ValueError('Required property \'data_mart_id\' not present in SubscriptionResponseEntity JSON') if 'service_provider_id' in _dict: args['service_provider_id'] = _dict.get('service_provider_id') else: raise ValueError('Required property \'service_provider_id\' not present in SubscriptionResponseEntity JSON') if 'asset' in _dict: args['asset'] = Asset.from_dict(_dict.get('asset')) else: raise ValueError('Required property \'asset\' not present in SubscriptionResponseEntity JSON') if 'asset_properties' in _dict: args['asset_properties'] = AssetProperties.from_dict(_dict.get('asset_properties')) if 'deployment' in _dict: args['deployment'] = AssetDeployment.from_dict(_dict.get('deployment')) else: raise ValueError('Required property \'deployment\' not present in SubscriptionResponseEntity JSON') if 'integration_reference' in _dict: args['integration_reference'] = IntegratedSystemReference.from_dict(_dict.get('integration_reference')) if 'risk_evaluation_status' in _dict: args['risk_evaluation_status'] = RiskEvaluationStatus.from_dict(_dict.get('risk_evaluation_status')) if 'analytics_engine' in _dict: args['analytics_engine'] = AnalyticsEngine.from_dict(_dict.get('analytics_engine')) if 'data_sources' in _dict: args['data_sources'] = [DataSource.from_dict(x) for x in _dict.get('data_sources')] if 'embeddings_providers' in _dict: args['embeddings_providers'] = [EmbeddingsProvider.from_dict(x) for x in _dict.get('embeddings_providers')] if 'status' in _dict: args['status'] = Status.from_dict(_dict.get('status')) return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a SubscriptionResponseEntity object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'data_mart_id') and self.data_mart_id is not None: _dict['data_mart_id'] = self.data_mart_id if hasattr(self, 'service_provider_id') and self.service_provider_id is not None: _dict['service_provider_id'] = self.service_provider_id if hasattr(self, 'asset') and self.asset is not None: _dict['asset'] = self.asset.to_dict() if hasattr(self, 'asset_properties') and self.asset_properties is not None: _dict['asset_properties'] = self.asset_properties.to_dict() if hasattr(self, 'deployment') and self.deployment is not None: _dict['deployment'] = self.deployment.to_dict() if hasattr(self, 'integration_reference') and self.integration_reference is not None: _dict['integration_reference'] = self.integration_reference.to_dict() if hasattr(self, 'risk_evaluation_status') and self.risk_evaluation_status is not None: _dict['risk_evaluation_status'] = self.risk_evaluation_status.to_dict() if hasattr(self, 'analytics_engine') and self.analytics_engine is not None: _dict['analytics_engine'] = self.analytics_engine.to_dict() if hasattr(self, 'data_sources') and self.data_sources is not None: _dict['data_sources'] = [x.to_dict() for x in self.data_sources] if hasattr(self, 'embeddings_providers') and self.embeddings_providers is not None: _dict['embeddings_providers'] = [x.to_dict() for x in self.embeddings_providers] if hasattr(self, 'status') and self.status is not None: _dict['status'] = self.status.to_dict() return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this SubscriptionResponseEntity object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'SubscriptionResponseEntity') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'SubscriptionResponseEntity') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other
[docs] class Target(): """ Target. :attr str target_type: Type of the target (e.g. subscription, ...). :attr str target_id: ID of the data set target (e.g. subscription ID, ...). """ def __init__(self, target_type: str, target_id: str) -> None: """ Initialize a Target object. :param str target_type: Type of the target (e.g. subscription, ...). :param str target_id: ID of the data set target (e.g. subscription ID, ...). """ self.target_type = target_type self.target_id = target_id @classmethod def from_dict(cls, _dict: Dict) -> 'Target': """Initialize a Target object from a json dictionary.""" args = {} if 'target_type' in _dict: args['target_type'] = _dict.get('target_type') else: raise ValueError('Required property \'target_type\' not present in Target JSON') if 'target_id' in _dict: args['target_id'] = _dict.get('target_id') else: raise ValueError('Required property \'target_id\' not present in Target JSON') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a Target object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'target_type') and self.target_type is not None: _dict['target_type'] = self.target_type if hasattr(self, 'target_id') and self.target_id is not None: _dict['target_id'] = self.target_id return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this Target object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'Target') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'Target') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class TargetTypeEnum(str, Enum): """ Type of the target (e.g. subscription, ...). """ SUBSCRIPTION = 'subscription' INSTANCE = 'instance' DATA_MART = 'data_mart' PROJECT = 'project' SPACE = 'space' AI_DECISION_COORDINATION = 'ai_decision_coordination' GEN_AI_APP = 'gen_ai_app' WXO = 'wxo'
class ThresholdConditionObject(): """ ThresholdConditionObject. :attr str type: :attr str key: :attr str value: """ def __init__(self, type: str, key: str, value: str) -> None: """ Initialize a ThresholdConditionObject object. :param str type: :param str key: :param str value: """ self.type = type self.key = key self.value = value @classmethod def from_dict(cls, _dict: Dict) -> 'ThresholdConditionObject': """Initialize a ThresholdConditionObject object from a json dictionary.""" args = {} if 'type' in _dict: args['type'] = _dict.get('type') else: raise ValueError('Required property \'type\' not present in ThresholdConditionObject JSON') if 'key' in _dict: args['key'] = _dict.get('key') else: raise ValueError('Required property \'key\' not present in ThresholdConditionObject JSON') if 'value' in _dict: args['value'] = _dict.get('value') else: raise ValueError('Required property \'value\' not present in ThresholdConditionObject JSON') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a ThresholdConditionObject object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'type') and self.type is not None: _dict['type'] = self.type if hasattr(self, 'key') and self.key is not None: _dict['key'] = self.key if hasattr(self, 'value') and self.value is not None: _dict['value'] = self.value return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this ThresholdConditionObject object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'ThresholdConditionObject') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'ThresholdConditionObject') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class TypeEnum(str, Enum): """ type. """ TAG = 'tag' class TrainingDataReference(): """ TrainingDataReference. :attr str type: Type of the storage. :attr TrainingDataReferenceLocation location: training data set location. :attr TrainingDataReferenceConnection connection: training data set connection credentials. :attr str name: (optional) """ def __init__(self, type: str, location: 'TrainingDataReferenceLocation', connection: 'TrainingDataReferenceConnection', *, name: str = None) -> None: """ Initialize a TrainingDataReference object. :param str type: Type of the storage. :param TrainingDataReferenceLocation location: training data set location. :param TrainingDataReferenceConnection connection: training data set connection credentials. :param str name: (optional) """ self.type = type self.location = location self.connection = connection self.name = name @classmethod def from_dict(cls, _dict: Dict) -> 'TrainingDataReference': """Initialize a TrainingDataReference object from a json dictionary.""" args = {} if 'type' in _dict: args['type'] = _dict.get('type') else: raise ValueError('Required property \'type\' not present in TrainingDataReference JSON') if 'location' in _dict: args['location'] = _dict.get('location') else: raise ValueError('Required property \'location\' not present in TrainingDataReference JSON') if 'connection' in _dict: args['connection'] = _dict.get('connection') else: raise ValueError('Required property \'connection\' not present in TrainingDataReference JSON') if 'name' in _dict: args['name'] = _dict.get('name') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a TrainingDataReference object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'type') and self.type is not None: _dict['type'] = self.type if hasattr(self, 'location') and self.location is not None: if isinstance(self.location, dict): _dict['location'] = self.location else: _dict['location'] = self.location.to_dict() if hasattr(self, 'connection') and self.connection is not None: if isinstance(self.connection, dict): _dict['connection'] = self.connection else: _dict['connection'] = self.connection.to_dict() if hasattr(self, 'name') and self.name is not None: _dict['name'] = self.name return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this TrainingDataReference object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'TrainingDataReference') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'TrainingDataReference') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class TypeEnum(str, Enum): """ Type of the storage. """ DB2 = 'db2' POSTGRESQL = 'postgresql' COS = 'cos' S3 = 's3' DATASET = 'dataset' FILE_ASSET = 'file_asset' class TrainingDataReferenceConnection(): """ training data set connection credentials. """ def __init__(self) -> None: """ Initialize a TrainingDataReferenceConnection object. """ msg = "Cannot instantiate base class. Instead, instantiate one of the defined subclasses: {0}".format( ", ".join(['DB2TrainingDataReferenceConnection', 'PostgresqlTrainingDataReferenceConnection', 'COSTrainingDataReferenceConnection', 'S3TrainingDataReferenceConnection'])) raise Exception(msg) class TrainingDataReferenceLocation(): """ training data set location. """ def __init__(self) -> None: """ Initialize a TrainingDataReferenceLocation object. """ msg = "Cannot instantiate base class. Instead, instantiate one of the defined subclasses: {0}".format( ", ".join(['DB2TrainingDataReferenceLocation', 'PostgresqlTrainingDataReferenceLocation', 'COSTrainingDataReferenceLocation', 'S3TrainingDataReferenceLocation', 'DatasetTrainingDataReferenceLocation', 'FileAssetTrainingDataReferenceLocation'])) raise Exception(msg) class UploadTracesGenAIAppResponse(): """ The response object for successful acceptance of traces upload request for gen_ai_app. :attr str gen_ai_app_id: (optional) :attr str start_time: (optional) The date-timestamp when the upload traces was started. :attr str end_time: (optional) The date-timestamp when the upload traces ended. :attr UploadTracesGenAIAppResponseStatus status: (optional) The status of the upload traces for gen_ai_app. """ def __init__(self, *, gen_ai_app_id: str = None, start_time: str = None, end_time: str = None, status: 'UploadTracesGenAIAppResponseStatus' = None) -> None: """ Initialize a UploadTracesGenAIAppResponse object. :param str gen_ai_app_id: (optional) :param str start_time: (optional) The date-timestamp when the upload traces was started. :param str end_time: (optional) The date-timestamp when the upload traces ended. :param UploadTracesGenAIAppResponseStatus status: (optional) The status of the upload traces for gen_ai_app. """ self.gen_ai_app_id = gen_ai_app_id self.start_time = start_time self.end_time = end_time self.status = status @classmethod def from_dict(cls, _dict: Dict) -> 'UploadTracesGenAIAppResponse': """Initialize a UploadTracesGenAIAppResponse object from a json dictionary.""" args = {} if 'gen_ai_app_id' in _dict: args['gen_ai_app_id'] = _dict.get('gen_ai_app_id') if 'start_time' in _dict: args['start_time'] = _dict.get('start_time') if 'end_time' in _dict: args['end_time'] = _dict.get('end_time') if 'status' in _dict: args['status'] = UploadTracesGenAIAppResponseStatus.from_dict(_dict.get('status')) return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a UploadTracesGenAIAppResponse object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'gen_ai_app_id') and self.gen_ai_app_id is not None: _dict['gen_ai_app_id'] = self.gen_ai_app_id if hasattr(self, 'start_time') and self.start_time is not None: _dict['start_time'] = self.start_time if hasattr(self, 'end_time') and self.end_time is not None: _dict['end_time'] = self.end_time if hasattr(self, 'status') and self.status is not None: _dict['status'] = self.status.to_dict() return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this UploadTracesGenAIAppResponse object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'UploadTracesGenAIAppResponse') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'UploadTracesGenAIAppResponse') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class UploadTracesGenAIAppResponseStatus(): """ The status of the upload traces for gen_ai_app. :attr str state: The upload traces state. :attr GenericErrorResponse failure: (optional) """ def __init__(self, state: str, *, failure: 'GenericErrorResponse' = None) -> None: """ Initialize a UploadTracesGenAIAppResponseStatus object. :param str state: The upload traces state. :param GenericErrorResponse failure: (optional) """ self.state = state self.failure = failure @classmethod def from_dict(cls, _dict: Dict) -> 'UploadTracesGenAIAppResponseStatus': """Initialize a UploadTracesGenAIAppResponseStatus object from a json dictionary.""" args = {} if 'state' in _dict: args['state'] = _dict.get('state') else: raise ValueError('Required property \'state\' not present in UploadTracesGenAIAppResponseStatus JSON') if 'failure' in _dict: args['failure'] = GenericErrorResponse.from_dict(_dict.get('failure')) return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a UploadTracesGenAIAppResponseStatus object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'state') and self.state is not None: _dict['state'] = self.state if hasattr(self, 'failure') and self.failure is not None: _dict['failure'] = self.failure.to_dict() return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this UploadTracesGenAIAppResponseStatus object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'UploadTracesGenAIAppResponseStatus') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'UploadTracesGenAIAppResponseStatus') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class StateEnum(str, Enum): """ The upload traces state. """ RUNNING = 'RUNNING' ERROR = 'ERROR' FINISHED = 'FINISHED' class UserPreferencesGetResponse(): """ UserPreferencesGetResponse. """ def __init__(self) -> None: """ Initialize a UserPreferencesGetResponse object. """ msg = "Cannot instantiate base class. Instead, instantiate one of the defined subclasses: {0}".format( ", ".join(['UserPreferencesGetResponseUserPreferenceValueObject', 'UserPreferencesGetResponseUserPreferenceValueString'])) raise Exception(msg) class UserPreferencesPatchResponse(): """ UserPreferencesPatchResponse. """ def __init__(self) -> None: """ Initialize a UserPreferencesPatchResponse object. """ @classmethod def from_dict(cls, _dict: Dict) -> 'UserPreferencesPatchResponse': """Initialize a UserPreferencesPatchResponse object from a json dictionary.""" return cls(**_dict) @classmethod def _from_dict(cls, _dict): """Initialize a UserPreferencesPatchResponse object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" return vars(self) def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this UserPreferencesPatchResponse object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'UserPreferencesPatchResponse') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'UserPreferencesPatchResponse') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class UserPreferencesUpdateRequest(): """ UserPreferencesUpdateRequest. """ def __init__(self) -> None: """ Initialize a UserPreferencesUpdateRequest object. """ msg = "Cannot instantiate base class. Instead, instantiate one of the defined subclasses: {0}".format( ", ".join(['UserPreferencesUpdateRequestUserPreferenceValueObject', 'UserPreferencesUpdateRequestUserPreferenceValueString'])) raise Exception(msg) class DetectorPropertyDefaultValue(): """ Default value for the property (optional, type depends on property type). """ def __init__(self) -> None: """ Initialize a DetectorPropertyDefaultValue object. """ msg = "Cannot instantiate base class. Instead, instantiate one of the defined subclasses: {0}".format( ", ".join(['DetectorPropertyDefaultValueDetectorPropertyDefaultValueString', 'DetectorPropertyDefaultValueDetectorPropertyDefaultValueNumber', 'DetectorPropertyDefaultValueDetectorPropertyDefaultValueBoolean'])) raise Exception(msg)
[docs] class AzureCredentials(MLCredentials): """ AzureCredentials. :attr str token: (optional) :attr str username: (optional) :attr str password: (optional) :attr str subscription_id: (optional) :attr str client_id: (optional) :attr str client_secret: (optional) :attr str tenant: (optional) :attr List[AzureWorkspaceCredentials] workspaces: (optional) """ # The set of defined properties for the class _properties = frozenset(['token', 'username', 'password', 'subscription_id', 'client_id', 'client_secret', 'tenant', 'workspaces']) def __init__(self, *, token: str = None, username: str = None, password: str = None, subscription_id: str = None, client_id: str = None, client_secret: str = None, tenant: str = None, workspaces: List['AzureWorkspaceCredentials'] = None, **kwargs) -> None: """ Initialize a AzureCredentials object. :param str token: (optional) :param str username: (optional) :param str password: (optional) :param str subscription_id: (optional) :param str client_id: (optional) :param str client_secret: (optional) :param str tenant: (optional) :param List[AzureWorkspaceCredentials] workspaces: (optional) :param **kwargs: (optional) Any additional properties. """ # pylint: disable=super-init-not-called self.token = token self.username = username self.password = password self.subscription_id = subscription_id self.client_id = client_id self.client_secret = client_secret self.tenant = tenant self.workspaces = workspaces for _key, _value in kwargs.items(): setattr(self, _key, _value) @classmethod def from_dict(cls, _dict: Dict) -> 'AzureCredentials': """Initialize a AzureCredentials object from a json dictionary.""" args = {} if 'token' in _dict: args['token'] = _dict.get('token') if 'username' in _dict: args['username'] = _dict.get('username') if 'password' in _dict: args['password'] = _dict.get('password') if 'subscription_id' in _dict: args['subscription_id'] = _dict.get('subscription_id') if 'client_id' in _dict: args['client_id'] = _dict.get('client_id') if 'client_secret' in _dict: args['client_secret'] = _dict.get('client_secret') if 'tenant' in _dict: args['tenant'] = _dict.get('tenant') if 'workspaces' in _dict: args['workspaces'] = [AzureWorkspaceCredentials.from_dict(x) for x in _dict.get('workspaces')] args.update({k:v for (k, v) in _dict.items() if k not in cls._properties}) return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a AzureCredentials object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'token') and self.token is not None: _dict['token'] = self.token if hasattr(self, 'username') and self.username is not None: _dict['username'] = self.username if hasattr(self, 'password') and self.password is not None: _dict['password'] = self.password if hasattr(self, 'subscription_id') and self.subscription_id is not None: _dict['subscription_id'] = self.subscription_id if hasattr(self, 'client_id') and self.client_id is not None: _dict['client_id'] = self.client_id if hasattr(self, 'client_secret') and self.client_secret is not None: _dict['client_secret'] = self.client_secret if hasattr(self, 'tenant') and self.tenant is not None: _dict['tenant'] = self.tenant if hasattr(self, 'workspaces') and self.workspaces is not None: _dict['workspaces'] = [x.to_dict() for x in self.workspaces] for _key in [k for k in vars(self).keys() if k not in AzureCredentials._properties]: if getattr(self, _key, None) is not None: _dict[_key] = getattr(self, _key) return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this AzureCredentials object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'AzureCredentials') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'AzureCredentials') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other
class COSTrainingDataReferenceConnection(TrainingDataReferenceConnection): """ COSTrainingDataReferenceConnection. :attr str resource_instance_id: :attr str url: :attr str api_key: :attr str iam_url: (optional) """ def __init__(self, resource_instance_id: str, url: str, api_key: str, *, iam_url: str = None) -> None: """ Initialize a COSTrainingDataReferenceConnection object. :param str resource_instance_id: :param str url: :param str api_key: :param str iam_url: (optional) """ # pylint: disable=super-init-not-called self.resource_instance_id = resource_instance_id self.url = url self.api_key = api_key self.iam_url = iam_url @classmethod def from_dict(cls, _dict: Dict) -> 'COSTrainingDataReferenceConnection': """Initialize a COSTrainingDataReferenceConnection object from a json dictionary.""" args = {} if 'resource_instance_id' in _dict: args['resource_instance_id'] = _dict.get('resource_instance_id') else: raise ValueError('Required property \'resource_instance_id\' not present in COSTrainingDataReferenceConnection JSON') if 'url' in _dict: args['url'] = _dict.get('url') else: raise ValueError('Required property \'url\' not present in COSTrainingDataReferenceConnection JSON') if 'api_key' in _dict: args['api_key'] = _dict.get('api_key') else: raise ValueError('Required property \'api_key\' not present in COSTrainingDataReferenceConnection JSON') if 'iam_url' in _dict: args['iam_url'] = _dict.get('iam_url') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a COSTrainingDataReferenceConnection object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'resource_instance_id') and self.resource_instance_id is not None: _dict['resource_instance_id'] = self.resource_instance_id if hasattr(self, 'url') and self.url is not None: _dict['url'] = self.url if hasattr(self, 'api_key') and self.api_key is not None: _dict['api_key'] = self.api_key if hasattr(self, 'iam_url') and self.iam_url is not None: _dict['iam_url'] = self.iam_url return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this COSTrainingDataReferenceConnection object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'COSTrainingDataReferenceConnection') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'COSTrainingDataReferenceConnection') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class COSTrainingDataReferenceLocation(TrainingDataReferenceLocation): """ COS file location. :attr str bucket: :attr str file_name: :attr bool firstlineheader: (optional) :attr str infer_schema: (optional) :attr str file_format: (optional) """ def __init__(self, bucket: str, file_name: str, *, firstlineheader: bool = None, infer_schema: str = None, file_format: str = None) -> None: """ Initialize a COSTrainingDataReferenceLocation object. :param str bucket: :param str file_name: :param bool firstlineheader: (optional) :param str infer_schema: (optional) :param str file_format: (optional) """ # pylint: disable=super-init-not-called self.bucket = bucket self.file_name = file_name self.firstlineheader = firstlineheader self.infer_schema = infer_schema self.file_format = file_format @classmethod def from_dict(cls, _dict: Dict) -> 'COSTrainingDataReferenceLocation': """Initialize a COSTrainingDataReferenceLocation object from a json dictionary.""" args = {} if 'bucket' in _dict: args['bucket'] = _dict.get('bucket') else: raise ValueError('Required property \'bucket\' not present in COSTrainingDataReferenceLocation JSON') if 'file_name' in _dict: args['file_name'] = _dict.get('file_name') else: raise ValueError('Required property \'file_name\' not present in COSTrainingDataReferenceLocation JSON') if 'firstlineheader' in _dict: args['firstlineheader'] = _dict.get('firstlineheader') if 'infer_schema' in _dict: args['infer_schema'] = _dict.get('infer_schema') if 'file_format' in _dict: args['file_format'] = _dict.get('file_format') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a COSTrainingDataReferenceLocation object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'bucket') and self.bucket is not None: _dict['bucket'] = self.bucket if hasattr(self, 'file_name') and self.file_name is not None: _dict['file_name'] = self.file_name if hasattr(self, 'firstlineheader') and self.firstlineheader is not None: _dict['firstlineheader'] = self.firstlineheader if hasattr(self, 'infer_schema') and self.infer_schema is not None: _dict['infer_schema'] = self.infer_schema if hasattr(self, 'file_format') and self.file_format is not None: _dict['file_format'] = self.file_format return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this COSTrainingDataReferenceLocation object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'COSTrainingDataReferenceLocation') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'COSTrainingDataReferenceLocation') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class FileFormatEnum(str, Enum): """ file_format. """ CSV = 'csv'
[docs] class CustomCredentials(MLCredentials): """ CustomCredentials. :attr str url: (optional) :attr str username: (optional) :attr str password: (optional) :attr str apikey: (optional) :attr str auth_url: (optional) :attr str auth_type: (optional) :attr str auth_provider: (optional) """ # The set of defined properties for the class _properties = frozenset(['url', 'username', 'password', 'apikey', 'auth_url', 'auth_type', 'auth_provider']) def __init__(self, *, url: str = None, username: str = None, password: str = None, apikey: str = None, auth_url: str = None, auth_type: str = None, auth_provider: str = None, **kwargs) -> None: """ Initialize a CustomCredentials object. :param str url: (optional) :param str username: (optional) :param str password: (optional) :param str apikey: (optional) :param str auth_url: (optional) :param str auth_type: (optional) :param str auth_provider: (optional) :param **kwargs: (optional) Any additional properties. """ # pylint: disable=super-init-not-called self.url = url self.username = username self.password = password self.apikey = apikey self.auth_url = auth_url self.auth_type = auth_type self.auth_provider = auth_provider for _key, _value in kwargs.items(): setattr(self, _key, _value) @classmethod def from_dict(cls, _dict: Dict) -> 'CustomCredentials': """Initialize a CustomCredentials object from a json dictionary.""" args = {} if 'url' in _dict: args['url'] = _dict.get('url') if 'username' in _dict: args['username'] = _dict.get('username') if 'password' in _dict: args['password'] = _dict.get('password') if 'apikey' in _dict: args['apikey'] = _dict.get('apikey') if 'auth_url' in _dict: args['auth_url'] = _dict.get('auth_url') if 'auth_type' in _dict: args['auth_type'] = _dict.get('auth_type') if 'auth_provider' in _dict: args['auth_provider'] = _dict.get('auth_provider') args.update({k:v for (k, v) in _dict.items() if k not in cls._properties}) return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a CustomCredentials object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'url') and self.url is not None: _dict['url'] = self.url if hasattr(self, 'username') and self.username is not None: _dict['username'] = self.username if hasattr(self, 'password') and self.password is not None: _dict['password'] = self.password if hasattr(self, 'apikey') and self.apikey is not None: _dict['apikey'] = self.apikey if hasattr(self, 'auth_url') and self.auth_url is not None: _dict['auth_url'] = self.auth_url if hasattr(self, 'auth_type') and self.auth_type is not None: _dict['auth_type'] = self.auth_type if hasattr(self, 'auth_provider') and self.auth_provider is not None: _dict['auth_provider'] = self.auth_provider for _key in [k for k in vars(self).keys() if k not in CustomCredentials._properties]: if getattr(self, _key, None) is not None: _dict[_key] = getattr(self, _key) return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this CustomCredentials object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'CustomCredentials') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'CustomCredentials') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other
[docs] class AuthTypeEnum(str, Enum): """ auth_type. """ BASIC = 'basic' API_KEY = 'api_key'
[docs] class AuthProviderEnum(str, Enum): """ auth_provider. """ CLOUD = 'cloud' CPD = 'cpd' MCSP = 'mcsp'
class DB2TrainingDataReferenceConnection(TrainingDataReferenceConnection): """ DB2TrainingDataReferenceConnection. :attr str hostname: :attr str username: :attr str password: :attr str database_name: :attr int port: (optional) :attr bool ssl: (optional) :attr str certificate_base64: (optional) DER-encoded certificate in Base64 encoding. The decoded content must be bound at the beginning by -----BEGIN CERTIFICATE----- and at the end by -----END CERTIFICATE-----. :attr str connection_string: (optional) """ def __init__(self, hostname: str, username: str, password: str, database_name: str, *, port: int = None, ssl: bool = None, certificate_base64: str = None, connection_string: str = None) -> None: """ Initialize a DB2TrainingDataReferenceConnection object. :param str hostname: :param str username: :param str password: :param str database_name: :param int port: (optional) :param bool ssl: (optional) :param str certificate_base64: (optional) DER-encoded certificate in Base64 encoding. The decoded content must be bound at the beginning by -----BEGIN CERTIFICATE----- and at the end by -----END CERTIFICATE-----. :param str connection_string: (optional) """ # pylint: disable=super-init-not-called self.hostname = hostname self.username = username self.password = password self.database_name = database_name self.port = port self.ssl = ssl self.certificate_base64 = certificate_base64 self.connection_string = connection_string @classmethod def from_dict(cls, _dict: Dict) -> 'DB2TrainingDataReferenceConnection': """Initialize a DB2TrainingDataReferenceConnection object from a json dictionary.""" args = {} if 'hostname' in _dict: args['hostname'] = _dict.get('hostname') else: raise ValueError('Required property \'hostname\' not present in DB2TrainingDataReferenceConnection JSON') if 'username' in _dict: args['username'] = _dict.get('username') else: raise ValueError('Required property \'username\' not present in DB2TrainingDataReferenceConnection JSON') if 'password' in _dict: args['password'] = _dict.get('password') else: raise ValueError('Required property \'password\' not present in DB2TrainingDataReferenceConnection JSON') if 'database_name' in _dict: args['database_name'] = _dict.get('database_name') else: raise ValueError('Required property \'database_name\' not present in DB2TrainingDataReferenceConnection JSON') if 'port' in _dict: args['port'] = _dict.get('port') if 'ssl' in _dict: args['ssl'] = _dict.get('ssl') if 'certificate_base64' in _dict: args['certificate_base64'] = _dict.get('certificate_base64') if 'connection_string' in _dict: args['connection_string'] = _dict.get('connection_string') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a DB2TrainingDataReferenceConnection object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'hostname') and self.hostname is not None: _dict['hostname'] = self.hostname if hasattr(self, 'username') and self.username is not None: _dict['username'] = self.username if hasattr(self, 'password') and self.password is not None: _dict['password'] = self.password if hasattr(self, 'database_name') and self.database_name is not None: _dict['database_name'] = self.database_name if hasattr(self, 'port') and self.port is not None: _dict['port'] = self.port if hasattr(self, 'ssl') and self.ssl is not None: _dict['ssl'] = self.ssl if hasattr(self, 'certificate_base64') and self.certificate_base64 is not None: _dict['certificate_base64'] = self.certificate_base64 if hasattr(self, 'connection_string') and self.connection_string is not None: _dict['connection_string'] = self.connection_string return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this DB2TrainingDataReferenceConnection object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'DB2TrainingDataReferenceConnection') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'DB2TrainingDataReferenceConnection') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class DB2TrainingDataReferenceLocation(TrainingDataReferenceLocation): """ DB2 table name. :attr str table_name: name of the table. :attr str schema_name: (optional) name of the schema. """ def __init__(self, table_name: str, *, schema_name: str = None) -> None: """ Initialize a DB2TrainingDataReferenceLocation object. :param str table_name: name of the table. :param str schema_name: (optional) name of the schema. """ # pylint: disable=super-init-not-called self.table_name = table_name self.schema_name = schema_name @classmethod def from_dict(cls, _dict: Dict) -> 'DB2TrainingDataReferenceLocation': """Initialize a DB2TrainingDataReferenceLocation object from a json dictionary.""" args = {} if 'table_name' in _dict: args['table_name'] = _dict.get('table_name') else: raise ValueError('Required property \'table_name\' not present in DB2TrainingDataReferenceLocation JSON') if 'schema_name' in _dict: args['schema_name'] = _dict.get('schema_name') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a DB2TrainingDataReferenceLocation object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'table_name') and self.table_name is not None: _dict['table_name'] = self.table_name if hasattr(self, 'schema_name') and self.schema_name is not None: _dict['schema_name'] = self.schema_name return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this DB2TrainingDataReferenceLocation object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'DB2TrainingDataReferenceLocation') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'DB2TrainingDataReferenceLocation') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class DatasetTrainingDataReferenceLocation(TrainingDataReferenceLocation): """ WOS dataset id. :attr str dataset_id: Dataset id. :attr FileTrainingDataReferenceOptions meta: (optional) additional options for different types of training data references. """ def __init__(self, dataset_id: str, *, meta: 'FileTrainingDataReferenceOptions' = None) -> None: """ Initialize a DatasetTrainingDataReferenceLocation object. :param str dataset_id: Dataset id. :param FileTrainingDataReferenceOptions meta: (optional) additional options for different types of training data references. """ # pylint: disable=super-init-not-called self.dataset_id = dataset_id self.meta = meta @classmethod def from_dict(cls, _dict: Dict) -> 'DatasetTrainingDataReferenceLocation': """Initialize a DatasetTrainingDataReferenceLocation object from a json dictionary.""" args = {} if 'dataset_id' in _dict: args['dataset_id'] = _dict.get('dataset_id') else: raise ValueError('Required property \'dataset_id\' not present in DatasetTrainingDataReferenceLocation JSON') if 'meta' in _dict: args['meta'] = FileTrainingDataReferenceOptions.from_dict(_dict.get('meta')) return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a DatasetTrainingDataReferenceLocation object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'dataset_id') and self.dataset_id is not None: _dict['dataset_id'] = self.dataset_id if hasattr(self, 'meta') and self.meta is not None: _dict['meta'] = self.meta.to_dict() return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this DatasetTrainingDataReferenceLocation object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'DatasetTrainingDataReferenceLocation') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'DatasetTrainingDataReferenceLocation') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class FileAssetTrainingDataReferenceLocation(TrainingDataReferenceLocation): """ File data asset reference location. :attr str project_id: (optional) Project id. :attr str asset_id: (optional) File data asset id. :attr str asset_href: File data asset reference. :attr FileTrainingDataReferenceOptions meta: (optional) additional options for different types of training data references. """ def __init__(self, asset_href: str, *, project_id: str = None, asset_id: str = None, meta: 'FileTrainingDataReferenceOptions' = None) -> None: """ Initialize a FileAssetTrainingDataReferenceLocation object. :param str asset_href: File data asset reference. :param str project_id: (optional) Project id. :param str asset_id: (optional) File data asset id. :param FileTrainingDataReferenceOptions meta: (optional) additional options for different types of training data references. """ # pylint: disable=super-init-not-called self.project_id = project_id self.asset_id = asset_id self.asset_href = asset_href self.meta = meta @classmethod def from_dict(cls, _dict: Dict) -> 'FileAssetTrainingDataReferenceLocation': """Initialize a FileAssetTrainingDataReferenceLocation object from a json dictionary.""" args = {} if 'project_id' in _dict: args['project_id'] = _dict.get('project_id') if 'asset_id' in _dict: args['asset_id'] = _dict.get('asset_id') if 'asset_href' in _dict: args['asset_href'] = _dict.get('asset_href') else: raise ValueError('Required property \'asset_href\' not present in FileAssetTrainingDataReferenceLocation JSON') if 'meta' in _dict: args['meta'] = FileTrainingDataReferenceOptions.from_dict(_dict.get('meta')) return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a FileAssetTrainingDataReferenceLocation object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'project_id') and self.project_id is not None: _dict['project_id'] = self.project_id if hasattr(self, 'asset_id') and self.asset_id is not None: _dict['asset_id'] = self.asset_id if hasattr(self, 'asset_href') and self.asset_href is not None: _dict['asset_href'] = self.asset_href if hasattr(self, 'meta') and self.meta is not None: _dict['meta'] = self.meta.to_dict() return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this FileAssetTrainingDataReferenceLocation object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'FileAssetTrainingDataReferenceLocation') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'FileAssetTrainingDataReferenceLocation') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class MLCredentialsWXOCredentials(MLCredentials): """ Currently this must be empty object, but present. """ def __init__(self, **kwargs) -> None: """ Initialize a MLCredentialsWXOCredentials object. :param **kwargs: (optional) Any additional properties. """ # pylint: disable=super-init-not-called for _key, _value in kwargs.items(): setattr(self, _key, _value) @classmethod def from_dict(cls, _dict: Dict) -> 'MLCredentialsWXOCredentials': """Initialize a MLCredentialsWXOCredentials object from a json dictionary.""" return cls(**_dict) @classmethod def _from_dict(cls, _dict): """Initialize a MLCredentialsWXOCredentials object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" return vars(self) def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this MLCredentialsWXOCredentials object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'MLCredentialsWXOCredentials') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'MLCredentialsWXOCredentials') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class PostgresqlTrainingDataReferenceConnection(TrainingDataReferenceConnection): """ PostgresqlTrainingDataReferenceConnection. :attr str hostname: :attr str username: :attr str password: :attr str database_name: :attr int port: (optional) :attr bool ssl: (optional) :attr str ssl_mode: (optional) :attr str certificate_base64: (optional) DER-encoded certificate in Base64 encoding. The decoded content must be bound at the beginning by -----BEGIN CERTIFICATE----- and at the end by -----END CERTIFICATE-----. :attr str connection_string: (optional) connection string of database. """ def __init__(self, hostname: str, username: str, password: str, database_name: str, *, port: int = None, ssl: bool = None, ssl_mode: str = None, certificate_base64: str = None, connection_string: str = None) -> None: """ Initialize a PostgresqlTrainingDataReferenceConnection object. :param str hostname: :param str username: :param str password: :param str database_name: :param int port: (optional) :param bool ssl: (optional) :param str ssl_mode: (optional) :param str certificate_base64: (optional) DER-encoded certificate in Base64 encoding. The decoded content must be bound at the beginning by -----BEGIN CERTIFICATE----- and at the end by -----END CERTIFICATE-----. :param str connection_string: (optional) connection string of database. """ # pylint: disable=super-init-not-called self.hostname = hostname self.username = username self.password = password self.database_name = database_name self.port = port self.ssl = ssl self.ssl_mode = ssl_mode self.certificate_base64 = certificate_base64 self.connection_string = connection_string @classmethod def from_dict(cls, _dict: Dict) -> 'PostgresqlTrainingDataReferenceConnection': """Initialize a PostgresqlTrainingDataReferenceConnection object from a json dictionary.""" args = {} if 'hostname' in _dict: args['hostname'] = _dict.get('hostname') else: raise ValueError('Required property \'hostname\' not present in PostgresqlTrainingDataReferenceConnection JSON') if 'username' in _dict: args['username'] = _dict.get('username') else: raise ValueError('Required property \'username\' not present in PostgresqlTrainingDataReferenceConnection JSON') if 'password' in _dict: args['password'] = _dict.get('password') else: raise ValueError('Required property \'password\' not present in PostgresqlTrainingDataReferenceConnection JSON') if 'database_name' in _dict: args['database_name'] = _dict.get('database_name') else: raise ValueError('Required property \'database_name\' not present in PostgresqlTrainingDataReferenceConnection JSON') if 'port' in _dict: args['port'] = _dict.get('port') if 'ssl' in _dict: args['ssl'] = _dict.get('ssl') if 'ssl_mode' in _dict: args['ssl_mode'] = _dict.get('ssl_mode') if 'certificate_base64' in _dict: args['certificate_base64'] = _dict.get('certificate_base64') if 'connection_string' in _dict: args['connection_string'] = _dict.get('connection_string') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a PostgresqlTrainingDataReferenceConnection object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'hostname') and self.hostname is not None: _dict['hostname'] = self.hostname if hasattr(self, 'username') and self.username is not None: _dict['username'] = self.username if hasattr(self, 'password') and self.password is not None: _dict['password'] = self.password if hasattr(self, 'database_name') and self.database_name is not None: _dict['database_name'] = self.database_name if hasattr(self, 'port') and self.port is not None: _dict['port'] = self.port if hasattr(self, 'ssl') and self.ssl is not None: _dict['ssl'] = self.ssl if hasattr(self, 'ssl_mode') and self.ssl_mode is not None: _dict['ssl_mode'] = self.ssl_mode if hasattr(self, 'certificate_base64') and self.certificate_base64 is not None: _dict['certificate_base64'] = self.certificate_base64 if hasattr(self, 'connection_string') and self.connection_string is not None: _dict['connection_string'] = self.connection_string return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this PostgresqlTrainingDataReferenceConnection object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'PostgresqlTrainingDataReferenceConnection') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'PostgresqlTrainingDataReferenceConnection') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class SslModeEnum(str, Enum): """ ssl_mode. """ DISABLE = 'disable' ALLOW = 'allow' PREFER = 'prefer' REQUIRE = 'require' VERIFY_CA = 'verify-ca' VERIFY_FULL = 'verify-full' class PostgresqlTrainingDataReferenceLocation(TrainingDataReferenceLocation): """ Postgresql table name. :attr str table_name: name of the table. :attr str schema_name: (optional) name of the schema. """ def __init__(self, table_name: str, *, schema_name: str = None) -> None: """ Initialize a PostgresqlTrainingDataReferenceLocation object. :param str table_name: name of the table. :param str schema_name: (optional) name of the schema. """ # pylint: disable=super-init-not-called self.table_name = table_name self.schema_name = schema_name @classmethod def from_dict(cls, _dict: Dict) -> 'PostgresqlTrainingDataReferenceLocation': """Initialize a PostgresqlTrainingDataReferenceLocation object from a json dictionary.""" args = {} if 'table_name' in _dict: args['table_name'] = _dict.get('table_name') else: raise ValueError('Required property \'table_name\' not present in PostgresqlTrainingDataReferenceLocation JSON') if 'schema_name' in _dict: args['schema_name'] = _dict.get('schema_name') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a PostgresqlTrainingDataReferenceLocation object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'table_name') and self.table_name is not None: _dict['table_name'] = self.table_name if hasattr(self, 'schema_name') and self.schema_name is not None: _dict['schema_name'] = self.schema_name return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this PostgresqlTrainingDataReferenceLocation object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'PostgresqlTrainingDataReferenceLocation') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'PostgresqlTrainingDataReferenceLocation') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other
[docs] class PrimaryStorageCredentialsLong(PrimaryStorageCredentials): """ PrimaryStorageCredentialsLong. :attr str hostname: :attr str username: :attr str password: :attr str db: :attr int port: (optional) :attr bool ssl: (optional) :attr str sslmode: (optional) (postgresql only). :attr str certificate_base64: (optional) DER-encoded certificate in Base64 encoding. The decoded content must be bound at the beginning by -----BEGIN CERTIFICATE----- and at the end by -----END CERTIFICATE-----. :attr dict additional_properties: (optional) any additional properties to be included in connection url. """ def __init__(self, hostname: str, username: str, password: str, db: str, *, port: int = None, ssl: bool = None, sslmode: str = None, certificate_base64: str = None, additional_properties: dict = None) -> None: """ Initialize a PrimaryStorageCredentialsLong object. :param str hostname: :param str username: :param str password: :param str db: :param int port: (optional) :param bool ssl: (optional) :param str sslmode: (optional) (postgresql only). :param str certificate_base64: (optional) DER-encoded certificate in Base64 encoding. The decoded content must be bound at the beginning by -----BEGIN CERTIFICATE----- and at the end by -----END CERTIFICATE-----. :param dict additional_properties: (optional) any additional properties to be included in connection url. """ # pylint: disable=super-init-not-called self.hostname = hostname self.username = username self.password = password self.db = db self.port = port self.ssl = ssl self.sslmode = sslmode self.certificate_base64 = certificate_base64 self.additional_properties = additional_properties @classmethod def from_dict(cls, _dict: Dict) -> 'PrimaryStorageCredentialsLong': """Initialize a PrimaryStorageCredentialsLong object from a json dictionary.""" args = {} if 'hostname' in _dict: args['hostname'] = _dict.get('hostname') else: raise ValueError('Required property \'hostname\' not present in PrimaryStorageCredentialsLong JSON') if 'username' in _dict: args['username'] = _dict.get('username') else: raise ValueError('Required property \'username\' not present in PrimaryStorageCredentialsLong JSON') if 'password' in _dict: args['password'] = _dict.get('password') else: raise ValueError('Required property \'password\' not present in PrimaryStorageCredentialsLong JSON') if 'db' in _dict: args['db'] = _dict.get('db') else: raise ValueError('Required property \'db\' not present in PrimaryStorageCredentialsLong JSON') if 'port' in _dict: args['port'] = _dict.get('port') if 'ssl' in _dict: args['ssl'] = _dict.get('ssl') if 'sslmode' in _dict: args['sslmode'] = _dict.get('sslmode') if 'certificate_base64' in _dict: args['certificate_base64'] = _dict.get('certificate_base64') if 'additional_properties' in _dict: args['additional_properties'] = _dict.get('additional_properties') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a PrimaryStorageCredentialsLong object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'hostname') and self.hostname is not None: _dict['hostname'] = self.hostname if hasattr(self, 'username') and self.username is not None: _dict['username'] = self.username if hasattr(self, 'password') and self.password is not None: _dict['password'] = self.password if hasattr(self, 'db') and self.db is not None: _dict['db'] = self.db if hasattr(self, 'port') and self.port is not None: _dict['port'] = self.port if hasattr(self, 'ssl') and self.ssl is not None: _dict['ssl'] = self.ssl if hasattr(self, 'sslmode') and self.sslmode is not None: _dict['sslmode'] = self.sslmode if hasattr(self, 'certificate_base64') and self.certificate_base64 is not None: _dict['certificate_base64'] = self.certificate_base64 if hasattr(self, 'additional_properties') and self.additional_properties is not None: _dict['additional_properties'] = self.additional_properties return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this PrimaryStorageCredentialsLong object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'PrimaryStorageCredentialsLong') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'PrimaryStorageCredentialsLong') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other
class RecordsListResponseDataRecordsResponseCollectionDict(RecordsListResponse): """ dict format. :attr int total_count: (optional) Number of all rows which satisfy the query. It is calculated and returned when include_total_count query param is set to `true`. :attr List[DataRecordResponse] records: """ def __init__(self, records: List['DataRecordResponse'], *, total_count: int = None) -> None: """ Initialize a RecordsListResponseDataRecordsResponseCollectionDict object. :param List[DataRecordResponse] records: :param int total_count: (optional) Number of all rows which satisfy the query. It is calculated and returned when include_total_count query param is set to `true`. """ # pylint: disable=super-init-not-called self.total_count = total_count self.records = records @classmethod def from_dict(cls, _dict: Dict) -> 'RecordsListResponseDataRecordsResponseCollectionDict': """Initialize a RecordsListResponseDataRecordsResponseCollectionDict object from a json dictionary.""" args = {} if 'total_count' in _dict: args['total_count'] = _dict.get('total_count') if 'records' in _dict: args['records'] = [DataRecordResponse.from_dict(x) for x in _dict.get('records')] else: raise ValueError('Required property \'records\' not present in RecordsListResponseDataRecordsResponseCollectionDict JSON') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a RecordsListResponseDataRecordsResponseCollectionDict object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'total_count') and self.total_count is not None: _dict['total_count'] = self.total_count if hasattr(self, 'records') and self.records is not None: _dict['records'] = [x.to_dict() for x in self.records] return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this RecordsListResponseDataRecordsResponseCollectionDict object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'RecordsListResponseDataRecordsResponseCollectionDict') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'RecordsListResponseDataRecordsResponseCollectionDict') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class RecordsListResponseDataRecordsResponseCollectionList(RecordsListResponse): """ list format. :attr int total_count: (optional) Number of all rows which satisfy the query. It is calculated and returned when include_total_count query param is set to `true`. :attr List[DataRecordResponseList] records: """ def __init__(self, records: List['DataRecordResponseList'], *, total_count: int = None) -> None: """ Initialize a RecordsListResponseDataRecordsResponseCollectionList object. :param List[DataRecordResponseList] records: :param int total_count: (optional) Number of all rows which satisfy the query. It is calculated and returned when include_total_count query param is set to `true`. """ # pylint: disable=super-init-not-called self.total_count = total_count self.records = records @classmethod def from_dict(cls, _dict: Dict) -> 'RecordsListResponseDataRecordsResponseCollectionList': """Initialize a RecordsListResponseDataRecordsResponseCollectionList object from a json dictionary.""" args = {} if 'total_count' in _dict: args['total_count'] = _dict.get('total_count') if 'records' in _dict: args['records'] = [DataRecordResponseList.from_dict(x) for x in _dict.get('records')] else: raise ValueError('Required property \'records\' not present in RecordsListResponseDataRecordsResponseCollectionList JSON') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a RecordsListResponseDataRecordsResponseCollectionList object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'total_count') and self.total_count is not None: _dict['total_count'] = self.total_count if hasattr(self, 'records') and self.records is not None: _dict['records'] = [x.to_dict() for x in self.records] return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this RecordsListResponseDataRecordsResponseCollectionList object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'RecordsListResponseDataRecordsResponseCollectionList') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'RecordsListResponseDataRecordsResponseCollectionList') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class S3TrainingDataReferenceConnection(TrainingDataReferenceConnection): """ S3TrainingDataReferenceConnection. :attr str access_key_id: :attr str secret_access_key: :attr str region_name: (optional) """ def __init__(self, access_key_id: str, secret_access_key: str, *, region_name: str = None) -> None: """ Initialize a S3TrainingDataReferenceConnection object. :param str access_key_id: :param str secret_access_key: :param str region_name: (optional) """ # pylint: disable=super-init-not-called self.access_key_id = access_key_id self.secret_access_key = secret_access_key self.region_name = region_name @classmethod def from_dict(cls, _dict: Dict) -> 'S3TrainingDataReferenceConnection': """Initialize a S3TrainingDataReferenceConnection object from a json dictionary.""" args = {} if 'access_key_id' in _dict: args['access_key_id'] = _dict.get('access_key_id') else: raise ValueError('Required property \'access_key_id\' not present in S3TrainingDataReferenceConnection JSON') if 'secret_access_key' in _dict: args['secret_access_key'] = _dict.get('secret_access_key') else: raise ValueError('Required property \'secret_access_key\' not present in S3TrainingDataReferenceConnection JSON') if 'region_name' in _dict: args['region_name'] = _dict.get('region_name') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a S3TrainingDataReferenceConnection object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'access_key_id') and self.access_key_id is not None: _dict['access_key_id'] = self.access_key_id if hasattr(self, 'secret_access_key') and self.secret_access_key is not None: _dict['secret_access_key'] = self.secret_access_key if hasattr(self, 'region_name') and self.region_name is not None: _dict['region_name'] = self.region_name return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this S3TrainingDataReferenceConnection object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'S3TrainingDataReferenceConnection') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'S3TrainingDataReferenceConnection') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class S3TrainingDataReferenceLocation(TrainingDataReferenceLocation): """ S3 file location. :attr str bucket: :attr str file_name: :attr bool firstlineheader: (optional) :attr str infer_schema: (optional) :attr str file_format: (optional) """ def __init__(self, bucket: str, file_name: str, *, firstlineheader: bool = None, infer_schema: str = None, file_format: str = None) -> None: """ Initialize a S3TrainingDataReferenceLocation object. :param str bucket: :param str file_name: :param bool firstlineheader: (optional) :param str infer_schema: (optional) :param str file_format: (optional) """ # pylint: disable=super-init-not-called self.bucket = bucket self.file_name = file_name self.firstlineheader = firstlineheader self.infer_schema = infer_schema self.file_format = file_format @classmethod def from_dict(cls, _dict: Dict) -> 'S3TrainingDataReferenceLocation': """Initialize a S3TrainingDataReferenceLocation object from a json dictionary.""" args = {} if 'bucket' in _dict: args['bucket'] = _dict.get('bucket') else: raise ValueError('Required property \'bucket\' not present in S3TrainingDataReferenceLocation JSON') if 'file_name' in _dict: args['file_name'] = _dict.get('file_name') else: raise ValueError('Required property \'file_name\' not present in S3TrainingDataReferenceLocation JSON') if 'firstlineheader' in _dict: args['firstlineheader'] = _dict.get('firstlineheader') if 'infer_schema' in _dict: args['infer_schema'] = _dict.get('infer_schema') if 'file_format' in _dict: args['file_format'] = _dict.get('file_format') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a S3TrainingDataReferenceLocation object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'bucket') and self.bucket is not None: _dict['bucket'] = self.bucket if hasattr(self, 'file_name') and self.file_name is not None: _dict['file_name'] = self.file_name if hasattr(self, 'firstlineheader') and self.firstlineheader is not None: _dict['firstlineheader'] = self.firstlineheader if hasattr(self, 'infer_schema') and self.infer_schema is not None: _dict['infer_schema'] = self.infer_schema if hasattr(self, 'file_format') and self.file_format is not None: _dict['file_format'] = self.file_format return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this S3TrainingDataReferenceLocation object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'S3TrainingDataReferenceLocation') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'S3TrainingDataReferenceLocation') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class FileFormatEnum(str, Enum): """ file_format. """ CSV = 'csv'
[docs] class SPSSCredentials(MLCredentials): """ SPSSCredentials. :attr str url: :attr str username: :attr str password: """ # The set of defined properties for the class _properties = frozenset(['url', 'username', 'password']) def __init__(self, url: str, username: str, password: str, **kwargs) -> None: """ Initialize a SPSSCredentials object. :param str url: :param str username: :param str password: :param **kwargs: (optional) Any additional properties. """ # pylint: disable=super-init-not-called self.url = url self.username = username self.password = password for _key, _value in kwargs.items(): setattr(self, _key, _value) @classmethod def from_dict(cls, _dict: Dict) -> 'SPSSCredentials': """Initialize a SPSSCredentials object from a json dictionary.""" args = {} if 'url' in _dict: args['url'] = _dict.get('url') else: raise ValueError('Required property \'url\' not present in SPSSCredentials JSON') if 'username' in _dict: args['username'] = _dict.get('username') else: raise ValueError('Required property \'username\' not present in SPSSCredentials JSON') if 'password' in _dict: args['password'] = _dict.get('password') else: raise ValueError('Required property \'password\' not present in SPSSCredentials JSON') args.update({k:v for (k, v) in _dict.items() if k not in cls._properties}) return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a SPSSCredentials object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'url') and self.url is not None: _dict['url'] = self.url if hasattr(self, 'username') and self.username is not None: _dict['username'] = self.username if hasattr(self, 'password') and self.password is not None: _dict['password'] = self.password for _key in [k for k in vars(self).keys() if k not in SPSSCredentials._properties]: if getattr(self, _key, None) is not None: _dict[_key] = getattr(self, _key) return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this SPSSCredentials object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'SPSSCredentials') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'SPSSCredentials') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other
[docs] class SageMakerCredentials(MLCredentials): """ SageMakerCredentials. :attr str access_key_id: :attr str secret_access_key: :attr str region: (optional) """ # The set of defined properties for the class _properties = frozenset(['access_key_id', 'secret_access_key', 'region']) def __init__(self, access_key_id: str, secret_access_key: str, *, region: str = None, **kwargs) -> None: """ Initialize a SageMakerCredentials object. :param str access_key_id: :param str secret_access_key: :param str region: (optional) :param **kwargs: (optional) Any additional properties. """ # pylint: disable=super-init-not-called self.access_key_id = access_key_id self.secret_access_key = secret_access_key self.region = region for _key, _value in kwargs.items(): setattr(self, _key, _value) @classmethod def from_dict(cls, _dict: Dict) -> 'SageMakerCredentials': """Initialize a SageMakerCredentials object from a json dictionary.""" args = {} if 'access_key_id' in _dict: args['access_key_id'] = _dict.get('access_key_id') else: raise ValueError('Required property \'access_key_id\' not present in SageMakerCredentials JSON') if 'secret_access_key' in _dict: args['secret_access_key'] = _dict.get('secret_access_key') else: raise ValueError('Required property \'secret_access_key\' not present in SageMakerCredentials JSON') if 'region' in _dict: args['region'] = _dict.get('region') args.update({k:v for (k, v) in _dict.items() if k not in cls._properties}) return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a SageMakerCredentials object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'access_key_id') and self.access_key_id is not None: _dict['access_key_id'] = self.access_key_id if hasattr(self, 'secret_access_key') and self.secret_access_key is not None: _dict['secret_access_key'] = self.secret_access_key if hasattr(self, 'region') and self.region is not None: _dict['region'] = self.region for _key in [k for k in vars(self).keys() if k not in SageMakerCredentials._properties]: if getattr(self, _key, None) is not None: _dict[_key] = getattr(self, _key) return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this SageMakerCredentials object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'SageMakerCredentials') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'SageMakerCredentials') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other
class ScoringEndpointCredentialsAzureScoringEndpointCredentials(ScoringEndpointCredentials): """ ScoringEndpointCredentialsAzureScoringEndpointCredentials. :attr str token: """ # The set of defined properties for the class _properties = frozenset(['token']) def __init__(self, token: str, **kwargs) -> None: """ Initialize a ScoringEndpointCredentialsAzureScoringEndpointCredentials object. :param str token: :param **kwargs: (optional) Any additional properties. """ # pylint: disable=super-init-not-called self.token = token for _key, _value in kwargs.items(): setattr(self, _key, _value) @classmethod def from_dict(cls, _dict: Dict) -> 'ScoringEndpointCredentialsAzureScoringEndpointCredentials': """Initialize a ScoringEndpointCredentialsAzureScoringEndpointCredentials object from a json dictionary.""" args = {} if 'token' in _dict: args['token'] = _dict.get('token') else: raise ValueError('Required property \'token\' not present in ScoringEndpointCredentialsAzureScoringEndpointCredentials JSON') args.update({k:v for (k, v) in _dict.items() if k not in cls._properties}) return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a ScoringEndpointCredentialsAzureScoringEndpointCredentials object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'token') and self.token is not None: _dict['token'] = self.token for _key in [k for k in vars(self).keys() if k not in ScoringEndpointCredentialsAzureScoringEndpointCredentials._properties]: if getattr(self, _key, None) is not None: _dict[_key] = getattr(self, _key) return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this ScoringEndpointCredentialsAzureScoringEndpointCredentials object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'ScoringEndpointCredentialsAzureScoringEndpointCredentials') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'ScoringEndpointCredentialsAzureScoringEndpointCredentials') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class SparkStructFieldObject(SparkStructField): """ SparkStructFieldObject. :attr str name: :attr object type: :attr bool nullable: :attr dict metadata: (optional) """ def __init__(self, name: str, type: object, nullable: bool, *, metadata: dict = None) -> None: """ Initialize a SparkStructFieldObject object. :param str name: :param object type: :param bool nullable: :param dict metadata: (optional) """ # pylint: disable=super-init-not-called self.name = name self.type = type self.nullable = nullable self.metadata = metadata @classmethod def from_dict(cls, _dict: Dict) -> 'SparkStructFieldObject': """Initialize a SparkStructFieldObject object from a json dictionary.""" args = {} if 'name' in _dict: args['name'] = _dict.get('name') else: raise ValueError('Required property \'name\' not present in SparkStructFieldObject JSON') if 'type' in _dict: args['type'] = _dict.get('type') else: raise ValueError('Required property \'type\' not present in SparkStructFieldObject JSON') if 'nullable' in _dict: args['nullable'] = _dict.get('nullable') else: raise ValueError('Required property \'nullable\' not present in SparkStructFieldObject JSON') if 'metadata' in _dict: args['metadata'] = _dict.get('metadata') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a SparkStructFieldObject object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'name') and self.name is not None: _dict['name'] = self.name if hasattr(self, 'type') and self.type is not None: _dict['type'] = self.type if hasattr(self, 'nullable') and self.nullable is not None: _dict['nullable'] = self.nullable if hasattr(self, 'metadata') and self.metadata is not None: _dict['metadata'] = self.metadata return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this SparkStructFieldObject object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'SparkStructFieldObject') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'SparkStructFieldObject') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class SparkStructFieldPrimitive(SparkStructField): """ SparkStructFieldPrimitive. :attr str name: :attr str type: :attr bool nullable: :attr dict metadata: (optional) """ def __init__(self, name: str, type: str, nullable: bool, *, metadata: dict = None) -> None: """ Initialize a SparkStructFieldPrimitive object. :param str name: :param str type: :param bool nullable: :param dict metadata: (optional) """ # pylint: disable=super-init-not-called self.name = name self.type = type self.nullable = nullable self.metadata = metadata @classmethod def from_dict(cls, _dict: Dict) -> 'SparkStructFieldPrimitive': """Initialize a SparkStructFieldPrimitive object from a json dictionary.""" args = {} if 'name' in _dict: args['name'] = _dict.get('name') else: raise ValueError('Required property \'name\' not present in SparkStructFieldPrimitive JSON') if 'type' in _dict: args['type'] = _dict.get('type') else: raise ValueError('Required property \'type\' not present in SparkStructFieldPrimitive JSON') if 'nullable' in _dict: args['nullable'] = _dict.get('nullable') else: raise ValueError('Required property \'nullable\' not present in SparkStructFieldPrimitive JSON') if 'metadata' in _dict: args['metadata'] = _dict.get('metadata') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a SparkStructFieldPrimitive object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'name') and self.name is not None: _dict['name'] = self.name if hasattr(self, 'type') and self.type is not None: _dict['type'] = self.type if hasattr(self, 'nullable') and self.nullable is not None: _dict['nullable'] = self.nullable if hasattr(self, 'metadata') and self.metadata is not None: _dict['metadata'] = self.metadata return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this SparkStructFieldPrimitive object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'SparkStructFieldPrimitive') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'SparkStructFieldPrimitive') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class UnknownCredentials(MLCredentials): """ Unknown service provider credentials. """ def __init__(self, **kwargs) -> None: """ Initialize a UnknownCredentials object. :param **kwargs: (optional) Any additional properties. """ # pylint: disable=super-init-not-called for _key, _value in kwargs.items(): setattr(self, _key, _value) @classmethod def from_dict(cls, _dict: Dict) -> 'UnknownCredentials': """Initialize a UnknownCredentials object from a json dictionary.""" return cls(**_dict) @classmethod def _from_dict(cls, _dict): """Initialize a UnknownCredentials object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" return vars(self) def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this UnknownCredentials object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'UnknownCredentials') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'UnknownCredentials') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class UserPreferencesGetResponseUserPreferenceValueObject(UserPreferencesGetResponse): """ user preference object value. """ def __init__(self) -> None: """ Initialize a UserPreferencesGetResponseUserPreferenceValueObject object. """ # pylint: disable=super-init-not-called @classmethod def from_dict(cls, _dict: Dict) -> 'UserPreferencesGetResponseUserPreferenceValueObject': """Initialize a UserPreferencesGetResponseUserPreferenceValueObject object from a json dictionary.""" return cls(**_dict) @classmethod def _from_dict(cls, _dict): """Initialize a UserPreferencesGetResponseUserPreferenceValueObject object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" return vars(self) def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this UserPreferencesGetResponseUserPreferenceValueObject object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'UserPreferencesGetResponseUserPreferenceValueObject') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'UserPreferencesGetResponseUserPreferenceValueObject') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class UserPreferencesGetResponseUserPreferenceValueString(UserPreferencesGetResponse): """ user preference string value - response string wrapped in an object. :attr str value: (optional) response string value. """ def __init__(self, *, value: str = None) -> None: """ Initialize a UserPreferencesGetResponseUserPreferenceValueString object. :param str value: (optional) response string value. """ # pylint: disable=super-init-not-called self.value = value @classmethod def from_dict(cls, _dict: Dict) -> 'UserPreferencesGetResponseUserPreferenceValueString': """Initialize a UserPreferencesGetResponseUserPreferenceValueString object from a json dictionary.""" args = {} if 'value' in _dict: args['value'] = _dict.get('value') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a UserPreferencesGetResponseUserPreferenceValueString object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'value') and self.value is not None: _dict['value'] = self.value return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this UserPreferencesGetResponseUserPreferenceValueString object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'UserPreferencesGetResponseUserPreferenceValueString') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'UserPreferencesGetResponseUserPreferenceValueString') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class UserPreferencesUpdateRequestUserPreferenceValueObject(UserPreferencesUpdateRequest): """ user preference object value. """ def __init__(self) -> None: """ Initialize a UserPreferencesUpdateRequestUserPreferenceValueObject object. """ # pylint: disable=super-init-not-called @classmethod def from_dict(cls, _dict: Dict) -> 'UserPreferencesUpdateRequestUserPreferenceValueObject': """Initialize a UserPreferencesUpdateRequestUserPreferenceValueObject object from a json dictionary.""" return cls(**_dict) @classmethod def _from_dict(cls, _dict): """Initialize a UserPreferencesUpdateRequestUserPreferenceValueObject object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" return vars(self) def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this UserPreferencesUpdateRequestUserPreferenceValueObject object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'UserPreferencesUpdateRequestUserPreferenceValueObject') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'UserPreferencesUpdateRequestUserPreferenceValueObject') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class UserPreferencesUpdateRequestUserPreferenceValueString(UserPreferencesUpdateRequest): """ user preference string value - response string wrapped in an object. :attr str value: (optional) response string value. """ def __init__(self, *, value: str = None) -> None: """ Initialize a UserPreferencesUpdateRequestUserPreferenceValueString object. :param str value: (optional) response string value. """ # pylint: disable=super-init-not-called self.value = value @classmethod def from_dict(cls, _dict: Dict) -> 'UserPreferencesUpdateRequestUserPreferenceValueString': """Initialize a UserPreferencesUpdateRequestUserPreferenceValueString object from a json dictionary.""" args = {} if 'value' in _dict: args['value'] = _dict.get('value') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a UserPreferencesUpdateRequestUserPreferenceValueString object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'value') and self.value is not None: _dict['value'] = self.value return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this UserPreferencesUpdateRequestUserPreferenceValueString object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'UserPreferencesUpdateRequestUserPreferenceValueString') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'UserPreferencesUpdateRequestUserPreferenceValueString') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other
[docs] class WMLCredentialsCP4D(MLCredentials): """ WMLCredentials format for OpenScale on Cloud Pak for Data. :attr str url: (optional) Required if wml_location is cpd_remote or cloud_remote. :attr str apikey: (optional) Required if wml_location is cpd_remote or cloud_remote. :attr str username: (optional) Required if wml_location is cpd_remote. :attr str uid: (optional) User ID of a user in the Cloud Pak for Data. If not set, the uid extracted from the access token in Authorization header is used. This parameter is only applicable if wml_location is cpd_local. :attr str wml_location: (optional) If wml_location is not selected, we treat the service provider as cpd_local for backward compatibility. """ # The set of defined properties for the class _properties = frozenset(['url', 'apikey', 'username', 'uid', 'wml_location']) def __init__(self, *, url: str = None, apikey: str = None, username: str = None, uid: str = None, wml_location: str = None, **kwargs) -> None: """ Initialize a WMLCredentialsCP4D object. :param str url: (optional) Required if wml_location is cpd_remote or cloud_remote. :param str apikey: (optional) Required if wml_location is cpd_remote or cloud_remote. :param str username: (optional) Required if wml_location is cpd_remote. :param str uid: (optional) User ID of a user in the Cloud Pak for Data. If not set, the uid extracted from the access token in Authorization header is used. This parameter is only applicable if wml_location is cpd_local. :param str wml_location: (optional) If wml_location is not selected, we treat the service provider as cpd_local for backward compatibility. :param **kwargs: (optional) Any additional properties. """ # pylint: disable=super-init-not-called self.url = url self.apikey = apikey self.username = username self.uid = uid self.wml_location = wml_location for _key, _value in kwargs.items(): setattr(self, _key, _value) @classmethod def from_dict(cls, _dict: Dict) -> 'WMLCredentialsCP4D': """Initialize a WMLCredentialsCP4D object from a json dictionary.""" args = {} if 'url' in _dict: args['url'] = _dict.get('url') if 'apikey' in _dict: args['apikey'] = _dict.get('apikey') if 'username' in _dict: args['username'] = _dict.get('username') if 'uid' in _dict: args['uid'] = _dict.get('uid') if 'wml_location' in _dict: args['wml_location'] = _dict.get('wml_location') args.update({k:v for (k, v) in _dict.items() if k not in cls._properties}) return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a WMLCredentialsCP4D object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'url') and self.url is not None: _dict['url'] = self.url if hasattr(self, 'apikey') and self.apikey is not None: _dict['apikey'] = self.apikey if hasattr(self, 'username') and self.username is not None: _dict['username'] = self.username if hasattr(self, 'uid') and self.uid is not None: _dict['uid'] = self.uid if hasattr(self, 'wml_location') and self.wml_location is not None: _dict['wml_location'] = self.wml_location for _key in [k for k in vars(self).keys() if k not in WMLCredentialsCP4D._properties]: if getattr(self, _key, None) is not None: _dict[_key] = getattr(self, _key) return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this WMLCredentialsCP4D object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'WMLCredentialsCP4D') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'WMLCredentialsCP4D') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other
[docs] class WmlLocationEnum(str, Enum): """ If wml_location is not selected, we treat the service provider as cpd_local for backward compatibility. """ CPD_LOCAL = 'cpd_local' CPD_REMOTE = 'cpd_remote' CLOUD_REMOTE = 'cloud_remote'
[docs] class WMLCredentialsCloud(MLCredentials): """ WMLCredentialsCloud. :attr str apikey: (optional) :attr str token: (optional) :attr str url: :attr str instance_id: """ # The set of defined properties for the class _properties = frozenset(['apikey', 'token', 'url', 'instance_id']) def __init__(self, url: str, instance_id: str, *, apikey: str = None, token: str = None, **kwargs) -> None: """ Initialize a WMLCredentialsCloud object. :param str url: :param str instance_id: :param str apikey: (optional) :param str token: (optional) :param **kwargs: (optional) Any additional properties. """ # pylint: disable=super-init-not-called self.apikey = apikey self.token = token self.url = url self.instance_id = instance_id for _key, _value in kwargs.items(): setattr(self, _key, _value) @classmethod def from_dict(cls, _dict: Dict) -> 'WMLCredentialsCloud': """Initialize a WMLCredentialsCloud object from a json dictionary.""" args = {} if 'apikey' in _dict: args['apikey'] = _dict.get('apikey') if 'token' in _dict: args['token'] = _dict.get('token') if 'url' in _dict: args['url'] = _dict.get('url') else: raise ValueError('Required property \'url\' not present in WMLCredentialsCloud JSON') if 'instance_id' in _dict: args['instance_id'] = _dict.get('instance_id') else: raise ValueError('Required property \'instance_id\' not present in WMLCredentialsCloud JSON') args.update({k:v for (k, v) in _dict.items() if k not in cls._properties}) return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a WMLCredentialsCloud object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'apikey') and self.apikey is not None: _dict['apikey'] = self.apikey if hasattr(self, 'token') and self.token is not None: _dict['token'] = self.token if hasattr(self, 'url') and self.url is not None: _dict['url'] = self.url if hasattr(self, 'instance_id') and self.instance_id is not None: _dict['instance_id'] = self.instance_id for _key in [k for k in vars(self).keys() if k not in WMLCredentialsCloud._properties]: if getattr(self, _key, None) is not None: _dict[_key] = getattr(self, _key) return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this WMLCredentialsCloud object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'WMLCredentialsCloud') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'WMLCredentialsCloud') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other
class DetectorPropertyDefaultValueDetectorPropertyDefaultValueBoolean(DetectorPropertyDefaultValue): """ DetectorPropertyDefaultValueDetectorPropertyDefaultValueBoolean. :attr bool value: """ def __init__(self, value: bool) -> None: """ Initialize a DetectorPropertyDefaultValueDetectorPropertyDefaultValueBoolean object. :param bool value: """ # pylint: disable=super-init-not-called self.value = value @classmethod def from_dict(cls, _dict: Dict) -> 'DetectorPropertyDefaultValueDetectorPropertyDefaultValueBoolean': """Initialize a DetectorPropertyDefaultValueDetectorPropertyDefaultValueBoolean object from a json dictionary.""" args = {} if 'value' in _dict: args['value'] = _dict.get('value') else: raise ValueError('Required property \'value\' not present in DetectorPropertyDefaultValueDetectorPropertyDefaultValueBoolean JSON') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a DetectorPropertyDefaultValueDetectorPropertyDefaultValueBoolean object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'value') and self.value is not None: _dict['value'] = self.value return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this DetectorPropertyDefaultValueDetectorPropertyDefaultValueBoolean object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'DetectorPropertyDefaultValueDetectorPropertyDefaultValueBoolean') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'DetectorPropertyDefaultValueDetectorPropertyDefaultValueBoolean') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class DetectorPropertyDefaultValueDetectorPropertyDefaultValueNumber(DetectorPropertyDefaultValue): """ DetectorPropertyDefaultValueDetectorPropertyDefaultValueNumber. :attr float value: """ def __init__(self, value: float) -> None: """ Initialize a DetectorPropertyDefaultValueDetectorPropertyDefaultValueNumber object. :param float value: """ # pylint: disable=super-init-not-called self.value = value @classmethod def from_dict(cls, _dict: Dict) -> 'DetectorPropertyDefaultValueDetectorPropertyDefaultValueNumber': """Initialize a DetectorPropertyDefaultValueDetectorPropertyDefaultValueNumber object from a json dictionary.""" args = {} if 'value' in _dict: args['value'] = _dict.get('value') else: raise ValueError('Required property \'value\' not present in DetectorPropertyDefaultValueDetectorPropertyDefaultValueNumber JSON') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a DetectorPropertyDefaultValueDetectorPropertyDefaultValueNumber object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'value') and self.value is not None: _dict['value'] = self.value return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this DetectorPropertyDefaultValueDetectorPropertyDefaultValueNumber object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'DetectorPropertyDefaultValueDetectorPropertyDefaultValueNumber') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'DetectorPropertyDefaultValueDetectorPropertyDefaultValueNumber') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other class DetectorPropertyDefaultValueDetectorPropertyDefaultValueString(DetectorPropertyDefaultValue): """ DetectorPropertyDefaultValueDetectorPropertyDefaultValueString. :attr str value: """ def __init__(self, value: str) -> None: """ Initialize a DetectorPropertyDefaultValueDetectorPropertyDefaultValueString object. :param str value: """ # pylint: disable=super-init-not-called self.value = value @classmethod def from_dict(cls, _dict: Dict) -> 'DetectorPropertyDefaultValueDetectorPropertyDefaultValueString': """Initialize a DetectorPropertyDefaultValueDetectorPropertyDefaultValueString object from a json dictionary.""" args = {} if 'value' in _dict: args['value'] = _dict.get('value') else: raise ValueError('Required property \'value\' not present in DetectorPropertyDefaultValueDetectorPropertyDefaultValueString JSON') return cls(**args) @classmethod def _from_dict(cls, _dict): """Initialize a DetectorPropertyDefaultValueDetectorPropertyDefaultValueString object from a json dictionary.""" return cls.from_dict(_dict) def to_dict(self) -> Dict: """Return a json dictionary representing this model.""" _dict = {} if hasattr(self, 'value') and self.value is not None: _dict['value'] = self.value return _dict def _to_dict(self): """Return a json dictionary representing this model.""" return self.to_dict() def __str__(self) -> str: """Return a `str` version of this DetectorPropertyDefaultValueDetectorPropertyDefaultValueString object.""" return json.dumps(self.to_dict(), indent=2) def __eq__(self, other: 'DetectorPropertyDefaultValueDetectorPropertyDefaultValueString') -> bool: """Return `true` when self and other are equal, false otherwise.""" if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other: 'DetectorPropertyDefaultValueDetectorPropertyDefaultValueString') -> bool: """Return `true` when self and other are not equal, false otherwise.""" return not self == other