acceldata-sdk-python 26.7.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- acceldata/__init__.py +7 -0
- acceldata/client/__init__.py +0 -0
- acceldata/client/adoc_client.py +666 -0
- acceldata/client/http_client.py +346 -0
- acceldata/client/transient_retry.py +142 -0
- acceldata/constants/__init__.py +1 -0
- acceldata/constants/constants.py +13 -0
- acceldata/exceptions/__init__.py +52 -0
- acceldata/exceptions/api_errors.py +85 -0
- acceldata/exceptions/exceptions.py +174 -0
- acceldata/exceptions/sdk_exceptions.py +98 -0
- acceldata/mappers/__init__.py +21 -0
- acceldata/mappers/catalog_executions.py +107 -0
- acceldata/models/__init__.py +0 -0
- acceldata/models/api/catalog/above_configs.py +99 -0
- acceldata/models/api/catalog/above_configs_success.py +138 -0
- acceldata/models/api/catalog/absolute_configs.py +197 -0
- acceldata/models/api/catalog/absolute_configs_fallback.py +101 -0
- acceldata/models/api/catalog/absolute_threshold_config.py +105 -0
- acceldata/models/api/catalog/analysis_job_context.py +102 -0
- acceldata/models/api/catalog/analytics_pipeline.py +385 -0
- acceldata/models/api/catalog/analytics_pipeline_endpoint.py +136 -0
- acceldata/models/api/catalog/anomaly_config.py +95 -0
- acceldata/models/api/catalog/anomaly_details.py +119 -0
- acceldata/models/api/catalog/anomaly_threshold_config.py +105 -0
- acceldata/models/api/catalog/artifact.py +92 -0
- acceldata/models/api/catalog/assembly.py +171 -0
- acceldata/models/api/catalog/asset.py +162 -0
- acceldata/models/api/catalog/asset_catalog_listing.py +159 -0
- acceldata/models/api/catalog/asset_catalog_listing_response.py +102 -0
- acceldata/models/api/catalog/asset_label_request.py +96 -0
- acceldata/models/api/catalog/asset_progress.py +96 -0
- acceldata/models/api/catalog/asset_progress_details.py +117 -0
- acceldata/models/api/catalog/asset_tag.py +124 -0
- acceldata/models/api/catalog/asset_tag_info.py +140 -0
- acceldata/models/api/catalog/asset_tag_request.py +95 -0
- acceldata/models/api/catalog/asset_tag_response.py +96 -0
- acceldata/models/api/catalog/asset_tags_response.py +102 -0
- acceldata/models/api/catalog/asset_type.py +96 -0
- acceldata/models/api/catalog/auto_anomaly_feature_analysis.py +160 -0
- acceldata/models/api/catalog/auto_anomaly_item_execution.py +133 -0
- acceldata/models/api/catalog/auto_anomaly_meta_data.py +162 -0
- acceldata/models/api/catalog/auto_anomaly_rule_execution.py +102 -0
- acceldata/models/api/catalog/auto_anomaly_summary.py +124 -0
- acceldata/models/api/catalog/backing_asset.py +126 -0
- acceldata/models/api/catalog/below_configs.py +99 -0
- acceldata/models/api/catalog/big_decimal.py +100 -0
- acceldata/models/api/catalog/big_integer.py +98 -0
- acceldata/models/api/catalog/bounds_date_time_marker_config.py +110 -0
- acceldata/models/api/catalog/bounds_file_event_marker_config.py +108 -0
- acceldata/models/api/catalog/bounds_id_marker_config.py +96 -0
- acceldata/models/api/catalog/catalog_asset_meta_data.py +128 -0
- acceldata/models/api/catalog/changes_by_config.py +105 -0
- acceldata/models/api/catalog/column_mapping.py +139 -0
- acceldata/models/api/catalog/column_metadata.py +90 -0
- acceldata/models/api/catalog/column_metric_with_anomaly_details.py +119 -0
- acceldata/models/api/catalog/column_variable.py +111 -0
- acceldata/models/api/catalog/composite_policy_execution.py +102 -0
- acceldata/models/api/catalog/composite_policy_item_execution.py +104 -0
- acceldata/models/api/catalog/connection.py +118 -0
- acceldata/models/api/catalog/connection_test_result.py +106 -0
- acceldata/models/api/catalog/connection_type.py +90 -0
- acceldata/models/api/catalog/connection_types_response.py +96 -0
- acceldata/models/api/catalog/crawler.py +88 -0
- acceldata/models/api/catalog/crawler_action_response.py +90 -0
- acceldata/models/api/catalog/crawler_execution.py +147 -0
- acceldata/models/api/catalog/crawler_execution_response.py +102 -0
- acceldata/models/api/catalog/crawler_status_response.py +90 -0
- acceldata/models/api/catalog/create_profile.py +194 -0
- acceldata/models/api/catalog/custom_sql_config.py +121 -0
- acceldata/models/api/catalog/data_bricks_spark_resource_config.py +104 -0
- acceldata/models/api/catalog/data_cadence_rule.py +236 -0
- acceldata/models/api/catalog/data_cadence_rule_details.py +125 -0
- acceldata/models/api/catalog/data_cadence_rule_execution.py +102 -0
- acceldata/models/api/catalog/data_cadence_rule_item.py +104 -0
- acceldata/models/api/catalog/data_cadence_rule_item_execution.py +158 -0
- acceldata/models/api/catalog/data_cadence_rule_response.py +98 -0
- acceldata/models/api/catalog/data_drift_execution.py +102 -0
- acceldata/models/api/catalog/data_drift_item_execution.py +121 -0
- acceldata/models/api/catalog/data_quality_engine.py +90 -0
- acceldata/models/api/catalog/data_quality_execution.py +106 -0
- acceldata/models/api/catalog/data_quality_rule.py +323 -0
- acceldata/models/api/catalog/data_quality_rule_details.py +186 -0
- acceldata/models/api/catalog/data_quality_rule_response.py +120 -0
- acceldata/models/api/catalog/data_quality_rules_response.py +102 -0
- acceldata/models/api/catalog/databricks_compute_config.py +113 -0
- acceldata/models/api/catalog/dataplane_engine.py +105 -0
- acceldata/models/api/catalog/dataplane_health_metrics.py +101 -0
- acceldata/models/api/catalog/dataplane_job.py +216 -0
- acceldata/models/api/catalog/dataplane_job_status.py +113 -0
- acceldata/models/api/catalog/dataplane_request.py +96 -0
- acceldata/models/api/catalog/dataproc_compute_config.py +106 -0
- acceldata/models/api/catalog/dataproc_spark_resource_config.py +104 -0
- acceldata/models/api/catalog/date_based_partition_marker_config.py +116 -0
- acceldata/models/api/catalog/date_partitioning_marker_config.py +113 -0
- acceldata/models/api/catalog/date_time_marker_config.py +109 -0
- acceldata/models/api/catalog/day_month_year_based_partition_marker_config.py +124 -0
- acceldata/models/api/catalog/decreased_by_config.py +105 -0
- acceldata/models/api/catalog/delete_artifact_response.py +88 -0
- acceldata/models/api/catalog/dq_rule_execution.py +248 -0
- acceldata/models/api/catalog/drift.py +121 -0
- acceldata/models/api/catalog/enable_rule_request.py +88 -0
- acceldata/models/api/catalog/engine.py +90 -0
- acceldata/models/api/catalog/execution_cancellation_response.py +92 -0
- acceldata/models/api/catalog/execution_response.py +144 -0
- acceldata/models/api/catalog/execution_result.py +126 -0
- acceldata/models/api/catalog/executions_response.py +102 -0
- acceldata/models/api/catalog/failed_asset_detail.py +90 -0
- acceldata/models/api/catalog/failed_summary.py +98 -0
- acceldata/models/api/catalog/file.py +94 -0
- acceldata/models/api/catalog/file_marker_config.py +99 -0
- acceldata/models/api/catalog/generic_config_fallback.py +101 -0
- acceldata/models/api/catalog/generic_execution.py +221 -0
- acceldata/models/api/catalog/generic_rule_execution.py +137 -0
- acceldata/models/api/catalog/global_storage_config_dto.py +172 -0
- acceldata/models/api/catalog/hosted_dp_deployment_response.py +98 -0
- acceldata/models/api/catalog/id_marker_config.py +94 -0
- acceldata/models/api/catalog/increased_by_config.py +105 -0
- acceldata/models/api/catalog/item.py +160 -0
- acceldata/models/api/catalog/item_execution.py +192 -0
- acceldata/models/api/catalog/item_segment.py +131 -0
- acceldata/models/api/catalog/job_schedule.py +118 -0
- acceldata/models/api/catalog/job_spec.py +96 -0
- acceldata/models/api/catalog/kubernetes_metrics.py +91 -0
- acceldata/models/api/catalog/label.py +97 -0
- acceldata/models/api/catalog/livy_compute_config.py +103 -0
- acceldata/models/api/catalog/livy_spark_resource_config.py +106 -0
- acceldata/models/api/catalog/look_back_config.py +90 -0
- acceldata/models/api/catalog/manual_tag_request.py +92 -0
- acceldata/models/api/catalog/mapping.py +97 -0
- acceldata/models/api/catalog/marker.py +88 -0
- acceldata/models/api/catalog/marker_config.py +349 -0
- acceldata/models/api/catalog/marker_config_fallback.py +101 -0
- acceldata/models/api/catalog/meta.py +92 -0
- acceldata/models/api/catalog/meta_data.py +92 -0
- acceldata/models/api/catalog/meta_data_item.py +94 -0
- acceldata/models/api/catalog/mini_profile_request.py +112 -0
- acceldata/models/api/catalog/notification_payload.py +114 -0
- acceldata/models/api/catalog/offset_based_marker_config.py +97 -0
- acceldata/models/api/catalog/operational_config.py +92 -0
- acceldata/models/api/catalog/pattern_configuration.py +90 -0
- acceldata/models/api/catalog/pipe_line_request.py +92 -0
- acceldata/models/api/catalog/pipeline_compute_config.py +110 -0
- acceldata/models/api/catalog/policy_execution_marker_config.py +94 -0
- acceldata/models/api/catalog/policy_execution_request.py +229 -0
- acceldata/models/api/catalog/policy_group.py +114 -0
- acceldata/models/api/catalog/policy_transform_udf.py +113 -0
- acceldata/models/api/catalog/process_metrics.py +91 -0
- acceldata/models/api/catalog/profile_anomaly_details_response.py +109 -0
- acceldata/models/api/catalog/profile_anomaly_item_execution.py +127 -0
- acceldata/models/api/catalog/profile_anomaly_rule_execution.py +102 -0
- acceldata/models/api/catalog/profile_anomaly_rule_item.py +109 -0
- acceldata/models/api/catalog/profile_cancellation_response.py +92 -0
- acceldata/models/api/catalog/profile_request.py +211 -0
- acceldata/models/api/catalog/profile_request_response.py +92 -0
- acceldata/models/api/catalog/property_template.py +178 -0
- acceldata/models/api/catalog/property_templates.py +123 -0
- acceldata/models/api/catalog/pub_sub_lookback_marker_config.py +96 -0
- acceldata/models/api/catalog/pub_sub_timestamp_marker_config.py +108 -0
- acceldata/models/api/catalog/quality_rule.py +381 -0
- acceldata/models/api/catalog/quality_rule_execution_metrics.py +114 -0
- acceldata/models/api/catalog/quality_rule_with_latest_execution.py +115 -0
- acceldata/models/api/catalog/range_configs.py +109 -0
- acceldata/models/api/catalog/reconciliation_item.py +102 -0
- acceldata/models/api/catalog/reconciliation_item_execution.py +157 -0
- acceldata/models/api/catalog/reconciliation_rule.py +339 -0
- acceldata/models/api/catalog/reconciliation_rule_details.py +225 -0
- acceldata/models/api/catalog/reconciliation_rule_execution.py +102 -0
- acceldata/models/api/catalog/reconciliation_rule_response.py +98 -0
- acceldata/models/api/catalog/reconciliation_rules_response.py +102 -0
- acceldata/models/api/catalog/relative_config.py +197 -0
- acceldata/models/api/catalog/relative_config_fallback.py +101 -0
- acceldata/models/api/catalog/relative_threshold_config.py +111 -0
- acceldata/models/api/catalog/root_cause_analysis.py +108 -0
- acceldata/models/api/catalog/rule_execution.py +327 -0
- acceldata/models/api/catalog/rule_execution_result.py +90 -0
- acceldata/models/api/catalog/rule_item_result.py +125 -0
- acceldata/models/api/catalog/rule_meta_data.py +94 -0
- acceldata/models/api/catalog/rule_spark_sql_dynamic_filter_variable_mapping.py +100 -0
- acceldata/models/api/catalog/rule_tag.py +101 -0
- acceldata/models/api/catalog/rule_threshold_configuration.py +236 -0
- acceldata/models/api/catalog/rule_threshold_configuration_fallback.py +101 -0
- acceldata/models/api/catalog/rules_with_latest_execution_response.py +102 -0
- acceldata/models/api/catalog/sample_data_api_response.py +122 -0
- acceldata/models/api/catalog/schema_drift_item_execution.py +131 -0
- acceldata/models/api/catalog/schema_drift_rule_execution.py +102 -0
- acceldata/models/api/catalog/secret_manager_configuration.py +90 -0
- acceldata/models/api/catalog/secret_manager_configuration_with_option.py +98 -0
- acceldata/models/api/catalog/security_config.py +90 -0
- acceldata/models/api/catalog/segment_metric_json.py +142 -0
- acceldata/models/api/catalog/segments_analysis.py +145 -0
- acceldata/models/api/catalog/short_segment.py +97 -0
- acceldata/models/api/catalog/simple_quality_rule_response.py +92 -0
- acceldata/models/api/catalog/snapshot_data.py +117 -0
- acceldata/models/api/catalog/source_model.py +90 -0
- acceldata/models/api/catalog/source_type.py +100 -0
- acceldata/models/api/catalog/source_types_response.py +102 -0
- acceldata/models/api/catalog/spark_job_status.py +113 -0
- acceldata/models/api/catalog/spark_resource_config.py +114 -0
- acceldata/models/api/catalog/standard_response_assembly.py +92 -0
- acceldata/models/api/catalog/standard_response_crawler_action_response.py +92 -0
- acceldata/models/api/catalog/standard_response_crawler_status_response.py +92 -0
- acceldata/models/api/catalog/standard_response_delete_artifact_response.py +92 -0
- acceldata/models/api/catalog/standard_response_list.py +96 -0
- acceldata/models/api/catalog/standard_response_map.py +88 -0
- acceldata/models/api/catalog/standard_response_meta_data.py +92 -0
- acceldata/models/api/catalog/standard_response_mini_profile_request.py +92 -0
- acceldata/models/api/catalog/standard_response_profile_request.py +92 -0
- acceldata/models/api/catalog/start_profiling_request.py +92 -0
- acceldata/models/api/catalog/tag_domain.py +116 -0
- acceldata/models/api/catalog/threshold_breach_details.py +101 -0
- acceldata/models/api/catalog/time_based_config.py +92 -0
- acceldata/models/api/catalog/time_based_threshold_config.py +105 -0
- acceldata/models/api/catalog/timestamp_based_marker_config.py +115 -0
- acceldata/models/api/catalog/udf_variable.py +97 -0
- acceldata/models/api/catalog/yunikorn_compute_config.py +133 -0
- acceldata/models/api/catalog/yunikorn_spark_resource_config.py +154 -0
- acceldata/models/api/pipeline/big_decimal.py +100 -0
- acceldata/models/api/pipeline/big_integer.py +98 -0
- acceldata/models/api/pipeline/child_span_response.py +96 -0
- acceldata/models/api/pipeline/create_span_event.py +109 -0
- acceldata/models/api/pipeline/edge.py +108 -0
- acceldata/models/api/pipeline/event_alert_object.py +95 -0
- acceldata/models/api/pipeline/generic_config_fallback.py +101 -0
- acceldata/models/api/pipeline/identifier.py +146 -0
- acceldata/models/api/pipeline/job_request.py +130 -0
- acceldata/models/api/pipeline/meta.py +107 -0
- acceldata/models/api/pipeline/meta_data.py +92 -0
- acceldata/models/api/pipeline/metric.py +103 -0
- acceldata/models/api/pipeline/node.py +201 -0
- acceldata/models/api/pipeline/node_response.py +92 -0
- acceldata/models/api/pipeline/notification_payload.py +114 -0
- acceldata/models/api/pipeline/pipeline.py +152 -0
- acceldata/models/api/pipeline/pipeline_baseline_metric.py +92 -0
- acceldata/models/api/pipeline/pipeline_details.py +118 -0
- acceldata/models/api/pipeline/pipeline_details_response.py +102 -0
- acceldata/models/api/pipeline/pipeline_input_request.py +92 -0
- acceldata/models/api/pipeline/pipeline_listing_info.py +118 -0
- acceldata/models/api/pipeline/pipeline_response.py +92 -0
- acceldata/models/api/pipeline/pipeline_run.py +136 -0
- acceldata/models/api/pipeline/pipeline_run_request.py +92 -0
- acceldata/models/api/pipeline/pipeline_runs_response.py +102 -0
- acceldata/models/api/pipeline/pipeline_summary.py +98 -0
- acceldata/models/api/pipeline/pipelines_listing_response.py +102 -0
- acceldata/models/api/pipeline/policy_summary.py +102 -0
- acceldata/models/api/pipeline/span.py +115 -0
- acceldata/models/api/pipeline/span_event.py +114 -0
- acceldata/models/api/pipeline/span_event_request.py +92 -0
- acceldata/models/api/pipeline/span_event_response.py +92 -0
- acceldata/models/api/pipeline/span_request.py +94 -0
- acceldata/models/api/pipeline/spans_response.py +96 -0
- acceldata/models/api/pipeline/tag.py +97 -0
- acceldata/models/sdk/__init__.py +0 -0
- acceldata/models/sdk/catalog/__init__.py +105 -0
- acceldata/models/sdk/catalog/asset_resource.py +112 -0
- acceldata/models/sdk/catalog/asset_source_type.py +59 -0
- acceldata/models/sdk/catalog/custom_asset_metadata.py +11 -0
- acceldata/models/sdk/catalog/datasource_resource.py +88 -0
- acceldata/models/sdk/catalog/executor.py +524 -0
- acceldata/models/sdk/catalog/policy_execution_request.py +114 -0
- acceldata/models/sdk/catalog/policy_execution_type.py +16 -0
- acceldata/models/sdk/catalog/policy_filter.py +94 -0
- acceldata/models/sdk/catalog/policy_rule_resources.py +388 -0
- acceldata/models/sdk/catalog/profile_request_resource.py +77 -0
- acceldata/models/sdk/catalog/profiling.py +82 -0
- acceldata/models/sdk/catalog/profiling_configuration_error.py +5 -0
- acceldata/models/sdk/pipeline/__init__.py +62 -0
- acceldata/models/sdk/pipeline/create_job_input.py +108 -0
- acceldata/models/sdk/pipeline/create_pipeline_input_request.py +72 -0
- acceldata/models/sdk/pipeline/events/__init__.py +5 -0
- acceldata/models/sdk/pipeline/events/generic_event.py +31 -0
- acceldata/models/sdk/pipeline/events/log_event.py +34 -0
- acceldata/models/sdk/pipeline/events/span_event.py +8 -0
- acceldata/models/sdk/pipeline/pipeline_resource.py +171 -0
- acceldata/models/sdk/pipeline/pipeline_run_input.py +84 -0
- acceldata/models/sdk/pipeline/pipeline_run_resource.py +208 -0
- acceldata/models/sdk/pipeline/pipeline_source_type.py +20 -0
- acceldata/models/sdk/pipeline/span_resource.py +327 -0
- acceldata/openapi_deserialization_patches.py +161 -0
- acceldata/openapi_repr_patches.py +62 -0
- acceldata/services/__init__.py +0 -0
- acceldata/services/api_timestamp.py +31 -0
- acceldata/services/asset_service.py +651 -0
- acceldata/services/datasource_service.py +120 -0
- acceldata/services/generic_service.py +132 -0
- acceldata/services/marker_config.py +232 -0
- acceldata/services/pipeline_big_decimal_api.py +102 -0
- acceldata/services/pipeline_response_parse.py +209 -0
- acceldata/services/pipeline_service.py +494 -0
- acceldata/services/rule_service.py +620 -0
- acceldata/urls/__init__.py +1 -0
- acceldata/urls/catalog_urls.py +137 -0
- acceldata/urls/pipeline_urls.py +55 -0
- acceldata/utils/__init__.py +6 -0
- acceldata/utils/datetime_utils.py +16 -0
- acceldata/utils/operation_ack.py +22 -0
- acceldata/utils/span_helpers.py +95 -0
- acceldata/utils/time_range_utils.py +90 -0
- acceldata_sdk_python-26.7.0.dist-info/METADATA +26 -0
- acceldata_sdk_python-26.7.0.dist-info/RECORD +303 -0
- acceldata_sdk_python-26.7.0.dist-info/WHEEL +5 -0
- acceldata_sdk_python-26.7.0.dist-info/licenses/LICENSE +22 -0
- acceldata_sdk_python-26.7.0.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
Catalog Control Plane API
|
|
5
|
+
|
|
6
|
+
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
7
|
+
|
|
8
|
+
The version of the OpenAPI document: 1.0
|
|
9
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
10
|
+
|
|
11
|
+
Do not edit the class manually.
|
|
12
|
+
""" # noqa: E501
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
from __future__ import annotations
|
|
16
|
+
import pprint
|
|
17
|
+
import re # noqa: F401
|
|
18
|
+
import json
|
|
19
|
+
|
|
20
|
+
from datetime import datetime
|
|
21
|
+
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr
|
|
22
|
+
from typing import Any, ClassVar, Dict, List, Optional
|
|
23
|
+
from acceldata.models.api.catalog.backing_asset import BackingAsset
|
|
24
|
+
from acceldata.models.api.catalog.job_schedule import JobSchedule
|
|
25
|
+
from acceldata.models.api.catalog.notification_payload import NotificationPayload
|
|
26
|
+
from acceldata.models.api.catalog.policy_group import PolicyGroup
|
|
27
|
+
from acceldata.models.api.catalog.rule_tag import RuleTag
|
|
28
|
+
from acceldata.models.api.catalog.rule_threshold_configuration import RuleThresholdConfiguration
|
|
29
|
+
from acceldata.models.api.catalog.spark_resource_config import SparkResourceConfig
|
|
30
|
+
from typing import Optional, Set
|
|
31
|
+
from typing_extensions import Self
|
|
32
|
+
from pydantic_core import to_jsonable_python
|
|
33
|
+
|
|
34
|
+
class DataCadenceRule(BaseModel):
|
|
35
|
+
"""
|
|
36
|
+
DataCadenceRule
|
|
37
|
+
""" # noqa: E501
|
|
38
|
+
anomaly_strength_threshold: Optional[StrictStr] = Field(default=None, description="Allowed values at generation time: HIGH, MEDIUM, LOW.", alias="anomalyStrengthThreshold")
|
|
39
|
+
archival_reason: Optional[StrictStr] = Field(default=None, alias="archivalReason")
|
|
40
|
+
archived: StrictBool
|
|
41
|
+
auto_created: Optional[StrictBool] = Field(default=None, alias="autoCreated")
|
|
42
|
+
auto_retry_enabled: Optional[StrictBool] = Field(default=None, alias="autoRetryEnabled")
|
|
43
|
+
backing_asset: BackingAsset = Field(alias="backingAsset")
|
|
44
|
+
created_at: datetime = Field(alias="createdAt")
|
|
45
|
+
created_by: Optional[StrictStr] = Field(default=None, alias="createdBy")
|
|
46
|
+
description: Optional[StrictStr] = None
|
|
47
|
+
enabled: StrictBool
|
|
48
|
+
id: Optional[StrictInt] = None
|
|
49
|
+
include_in_quality_score: StrictBool = Field(alias="includeInQualityScore")
|
|
50
|
+
job_schedule: Optional[JobSchedule] = Field(default=None, alias="jobSchedule")
|
|
51
|
+
last_updated_by: Optional[StrictStr] = Field(default=None, alias="lastUpdatedBy")
|
|
52
|
+
name: StrictStr
|
|
53
|
+
notification_channels: Optional[NotificationPayload] = Field(default=None, alias="notificationChannels")
|
|
54
|
+
policy_groups: Optional[List[PolicyGroup]] = Field(default=None, alias="policyGroups")
|
|
55
|
+
resource_strategy_type: Optional[StrictStr] = Field(default=None, description="Allowed values at generation time: INVENTORY, CUSTOM.", alias="resourceStrategyType")
|
|
56
|
+
schedule: Optional[StrictStr] = None
|
|
57
|
+
scheduled: StrictBool
|
|
58
|
+
selected_resource_inventory: Optional[StrictStr] = Field(default=None, alias="selectedResourceInventory")
|
|
59
|
+
spark_resource_config: Optional[SparkResourceConfig] = Field(default=None, alias="sparkResourceConfig")
|
|
60
|
+
tags: Optional[List[RuleTag]] = None
|
|
61
|
+
tenant_id: Optional[StrictStr] = Field(default=None, alias="tenantId")
|
|
62
|
+
threshold_level: RuleThresholdConfiguration = Field(alias="thresholdLevel")
|
|
63
|
+
time_zone: StrictStr = Field(alias="timeZone")
|
|
64
|
+
type: StrictStr = Field(description="Allowed values at generation time: DATA_QUALITY, RECONCILIATION, EQUALITY, DATA_DRIFT, SCHEMA_DRIFT, DATA_CADENCE, PROFILE_ANOMALY, AUTO_ANOMALY.")
|
|
65
|
+
updated_at: datetime = Field(alias="updatedAt")
|
|
66
|
+
version: StrictInt
|
|
67
|
+
__properties: ClassVar[List[str]] = ["anomalyStrengthThreshold", "archivalReason", "archived", "autoCreated", "autoRetryEnabled", "backingAsset", "createdAt", "createdBy", "description", "enabled", "id", "includeInQualityScore", "jobSchedule", "lastUpdatedBy", "name", "notificationChannels", "policyGroups", "resourceStrategyType", "schedule", "scheduled", "selectedResourceInventory", "sparkResourceConfig", "tags", "tenantId", "thresholdLevel", "timeZone", "type", "updatedAt", "version"]
|
|
68
|
+
|
|
69
|
+
model_config = ConfigDict(
|
|
70
|
+
validate_by_name=True,
|
|
71
|
+
validate_by_alias=True,
|
|
72
|
+
validate_assignment=True,
|
|
73
|
+
protected_namespaces=(),
|
|
74
|
+
)
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
def to_str(self) -> str:
|
|
78
|
+
"""Returns the string representation of the model using alias"""
|
|
79
|
+
return pprint.pformat(self.model_dump(by_alias=True))
|
|
80
|
+
|
|
81
|
+
def to_json(self) -> str:
|
|
82
|
+
"""Returns the JSON representation of the model using alias"""
|
|
83
|
+
return json.dumps(to_jsonable_python(self.to_dict()))
|
|
84
|
+
|
|
85
|
+
@classmethod
|
|
86
|
+
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
87
|
+
"""Create an instance of DataCadenceRule from a JSON string"""
|
|
88
|
+
return cls.from_dict(json.loads(json_str))
|
|
89
|
+
|
|
90
|
+
def to_dict(self) -> Dict[str, Any]:
|
|
91
|
+
"""Return the dictionary representation of the model using alias.
|
|
92
|
+
|
|
93
|
+
This has the following differences from calling pydantic's
|
|
94
|
+
`self.model_dump(by_alias=True)`:
|
|
95
|
+
|
|
96
|
+
* `None` is only added to the output dict for nullable fields that
|
|
97
|
+
were set at model initialization. Other fields with value `None`
|
|
98
|
+
are ignored.
|
|
99
|
+
"""
|
|
100
|
+
excluded_fields: Set[str] = set([
|
|
101
|
+
])
|
|
102
|
+
|
|
103
|
+
_dict = self.model_dump(
|
|
104
|
+
by_alias=True,
|
|
105
|
+
exclude=excluded_fields,
|
|
106
|
+
exclude_none=True,
|
|
107
|
+
)
|
|
108
|
+
# override the default output from pydantic by calling `to_dict()` of backing_asset
|
|
109
|
+
if self.backing_asset:
|
|
110
|
+
_dict['backingAsset'] = self.backing_asset.to_dict()
|
|
111
|
+
# override the default output from pydantic by calling `to_dict()` of job_schedule
|
|
112
|
+
if self.job_schedule:
|
|
113
|
+
_dict['jobSchedule'] = self.job_schedule.to_dict()
|
|
114
|
+
# override the default output from pydantic by calling `to_dict()` of notification_channels
|
|
115
|
+
if self.notification_channels:
|
|
116
|
+
_dict['notificationChannels'] = self.notification_channels.to_dict()
|
|
117
|
+
# override the default output from pydantic by calling `to_dict()` of each item in policy_groups (list)
|
|
118
|
+
_items = []
|
|
119
|
+
if self.policy_groups:
|
|
120
|
+
for _item_policy_groups in self.policy_groups:
|
|
121
|
+
if _item_policy_groups:
|
|
122
|
+
_items.append(_item_policy_groups.to_dict())
|
|
123
|
+
_dict['policyGroups'] = _items
|
|
124
|
+
# override the default output from pydantic by calling `to_dict()` of spark_resource_config
|
|
125
|
+
if self.spark_resource_config:
|
|
126
|
+
_dict['sparkResourceConfig'] = self.spark_resource_config.to_dict()
|
|
127
|
+
# override the default output from pydantic by calling `to_dict()` of each item in tags (list)
|
|
128
|
+
_items = []
|
|
129
|
+
if self.tags:
|
|
130
|
+
for _item_tags in self.tags:
|
|
131
|
+
if _item_tags:
|
|
132
|
+
_items.append(_item_tags.to_dict())
|
|
133
|
+
_dict['tags'] = _items
|
|
134
|
+
# override the default output from pydantic by calling `to_dict()` of threshold_level
|
|
135
|
+
if self.threshold_level:
|
|
136
|
+
_dict['thresholdLevel'] = self.threshold_level.to_dict()
|
|
137
|
+
# set to None if anomaly_strength_threshold (nullable) is None
|
|
138
|
+
# and model_fields_set contains the field
|
|
139
|
+
if self.anomaly_strength_threshold is None and "anomaly_strength_threshold" in self.model_fields_set:
|
|
140
|
+
_dict['anomalyStrengthThreshold'] = None
|
|
141
|
+
|
|
142
|
+
# set to None if archival_reason (nullable) is None
|
|
143
|
+
# and model_fields_set contains the field
|
|
144
|
+
if self.archival_reason is None and "archival_reason" in self.model_fields_set:
|
|
145
|
+
_dict['archivalReason'] = None
|
|
146
|
+
|
|
147
|
+
# set to None if created_by (nullable) is None
|
|
148
|
+
# and model_fields_set contains the field
|
|
149
|
+
if self.created_by is None and "created_by" in self.model_fields_set:
|
|
150
|
+
_dict['createdBy'] = None
|
|
151
|
+
|
|
152
|
+
# set to None if description (nullable) is None
|
|
153
|
+
# and model_fields_set contains the field
|
|
154
|
+
if self.description is None and "description" in self.model_fields_set:
|
|
155
|
+
_dict['description'] = None
|
|
156
|
+
|
|
157
|
+
# set to None if last_updated_by (nullable) is None
|
|
158
|
+
# and model_fields_set contains the field
|
|
159
|
+
if self.last_updated_by is None and "last_updated_by" in self.model_fields_set:
|
|
160
|
+
_dict['lastUpdatedBy'] = None
|
|
161
|
+
|
|
162
|
+
# set to None if policy_groups (nullable) is None
|
|
163
|
+
# and model_fields_set contains the field
|
|
164
|
+
if self.policy_groups is None and "policy_groups" in self.model_fields_set:
|
|
165
|
+
_dict['policyGroups'] = None
|
|
166
|
+
|
|
167
|
+
# set to None if resource_strategy_type (nullable) is None
|
|
168
|
+
# and model_fields_set contains the field
|
|
169
|
+
if self.resource_strategy_type is None and "resource_strategy_type" in self.model_fields_set:
|
|
170
|
+
_dict['resourceStrategyType'] = None
|
|
171
|
+
|
|
172
|
+
# set to None if schedule (nullable) is None
|
|
173
|
+
# and model_fields_set contains the field
|
|
174
|
+
if self.schedule is None and "schedule" in self.model_fields_set:
|
|
175
|
+
_dict['schedule'] = None
|
|
176
|
+
|
|
177
|
+
# set to None if selected_resource_inventory (nullable) is None
|
|
178
|
+
# and model_fields_set contains the field
|
|
179
|
+
if self.selected_resource_inventory is None and "selected_resource_inventory" in self.model_fields_set:
|
|
180
|
+
_dict['selectedResourceInventory'] = None
|
|
181
|
+
|
|
182
|
+
# set to None if tags (nullable) is None
|
|
183
|
+
# and model_fields_set contains the field
|
|
184
|
+
if self.tags is None and "tags" in self.model_fields_set:
|
|
185
|
+
_dict['tags'] = None
|
|
186
|
+
|
|
187
|
+
# set to None if tenant_id (nullable) is None
|
|
188
|
+
# and model_fields_set contains the field
|
|
189
|
+
if self.tenant_id is None and "tenant_id" in self.model_fields_set:
|
|
190
|
+
_dict['tenantId'] = None
|
|
191
|
+
|
|
192
|
+
return _dict
|
|
193
|
+
|
|
194
|
+
@classmethod
|
|
195
|
+
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
196
|
+
"""Create an instance of DataCadenceRule from a dict"""
|
|
197
|
+
if obj is None:
|
|
198
|
+
return None
|
|
199
|
+
|
|
200
|
+
if not isinstance(obj, dict):
|
|
201
|
+
return cls.model_validate(obj)
|
|
202
|
+
|
|
203
|
+
_obj = cls.model_validate({
|
|
204
|
+
"anomalyStrengthThreshold": obj.get("anomalyStrengthThreshold"),
|
|
205
|
+
"archivalReason": obj.get("archivalReason"),
|
|
206
|
+
"archived": obj.get("archived"),
|
|
207
|
+
"autoCreated": obj.get("autoCreated"),
|
|
208
|
+
"autoRetryEnabled": obj.get("autoRetryEnabled"),
|
|
209
|
+
"backingAsset": BackingAsset.from_dict(obj["backingAsset"]) if obj.get("backingAsset") is not None else None,
|
|
210
|
+
"createdAt": obj.get("createdAt"),
|
|
211
|
+
"createdBy": obj.get("createdBy"),
|
|
212
|
+
"description": obj.get("description"),
|
|
213
|
+
"enabled": obj.get("enabled"),
|
|
214
|
+
"id": obj.get("id"),
|
|
215
|
+
"includeInQualityScore": obj.get("includeInQualityScore"),
|
|
216
|
+
"jobSchedule": JobSchedule.from_dict(obj["jobSchedule"]) if obj.get("jobSchedule") is not None else None,
|
|
217
|
+
"lastUpdatedBy": obj.get("lastUpdatedBy"),
|
|
218
|
+
"name": obj.get("name"),
|
|
219
|
+
"notificationChannels": NotificationPayload.from_dict(obj["notificationChannels"]) if obj.get("notificationChannels") is not None else None,
|
|
220
|
+
"policyGroups": [PolicyGroup.from_dict(_item) for _item in obj["policyGroups"]] if obj.get("policyGroups") is not None else None,
|
|
221
|
+
"resourceStrategyType": obj.get("resourceStrategyType"),
|
|
222
|
+
"schedule": obj.get("schedule"),
|
|
223
|
+
"scheduled": obj.get("scheduled"),
|
|
224
|
+
"selectedResourceInventory": obj.get("selectedResourceInventory"),
|
|
225
|
+
"sparkResourceConfig": SparkResourceConfig.from_dict(obj["sparkResourceConfig"]) if obj.get("sparkResourceConfig") is not None else None,
|
|
226
|
+
"tags": [RuleTag.from_dict(_item) for _item in obj["tags"]] if obj.get("tags") is not None else None,
|
|
227
|
+
"tenantId": obj.get("tenantId"),
|
|
228
|
+
"thresholdLevel": RuleThresholdConfiguration.from_dict(obj["thresholdLevel"]) if obj.get("thresholdLevel") is not None else None,
|
|
229
|
+
"timeZone": obj.get("timeZone"),
|
|
230
|
+
"type": obj.get("type"),
|
|
231
|
+
"updatedAt": obj.get("updatedAt"),
|
|
232
|
+
"version": obj.get("version")
|
|
233
|
+
})
|
|
234
|
+
return _obj
|
|
235
|
+
|
|
236
|
+
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
Catalog Control Plane API
|
|
5
|
+
|
|
6
|
+
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
7
|
+
|
|
8
|
+
The version of the OpenAPI document: 1.0
|
|
9
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
10
|
+
|
|
11
|
+
Do not edit the class manually.
|
|
12
|
+
""" # noqa: E501
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
from __future__ import annotations
|
|
16
|
+
import pprint
|
|
17
|
+
import re # noqa: F401
|
|
18
|
+
import json
|
|
19
|
+
|
|
20
|
+
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt
|
|
21
|
+
from typing import Any, ClassVar, Dict, List, Optional
|
|
22
|
+
from acceldata.models.api.catalog.data_cadence_rule_item import DataCadenceRuleItem
|
|
23
|
+
from acceldata.models.api.catalog.short_segment import ShortSegment
|
|
24
|
+
from typing import Optional, Set
|
|
25
|
+
from typing_extensions import Self
|
|
26
|
+
from pydantic_core import to_jsonable_python
|
|
27
|
+
|
|
28
|
+
class DataCadenceRuleDetails(BaseModel):
|
|
29
|
+
"""
|
|
30
|
+
DataCadenceRuleDetails
|
|
31
|
+
""" # noqa: E501
|
|
32
|
+
backing_asset_id: StrictInt = Field(alias="backingAssetId")
|
|
33
|
+
continue_execution_on_failure: StrictBool = Field(alias="continueExecutionOnFailure")
|
|
34
|
+
id: Optional[StrictInt] = None
|
|
35
|
+
is_composite_rule: StrictBool = Field(alias="isCompositeRule")
|
|
36
|
+
is_segmented: StrictBool = Field(alias="isSegmented")
|
|
37
|
+
items: List[DataCadenceRuleItem]
|
|
38
|
+
rule_id: StrictInt = Field(alias="ruleId")
|
|
39
|
+
segments: Optional[List[ShortSegment]] = None
|
|
40
|
+
version: StrictInt
|
|
41
|
+
__properties: ClassVar[List[str]] = ["backingAssetId", "continueExecutionOnFailure", "id", "isCompositeRule", "isSegmented", "items", "ruleId", "segments", "version"]
|
|
42
|
+
|
|
43
|
+
model_config = ConfigDict(
|
|
44
|
+
validate_by_name=True,
|
|
45
|
+
validate_by_alias=True,
|
|
46
|
+
validate_assignment=True,
|
|
47
|
+
protected_namespaces=(),
|
|
48
|
+
)
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
def to_str(self) -> str:
|
|
52
|
+
"""Returns the string representation of the model using alias"""
|
|
53
|
+
return pprint.pformat(self.model_dump(by_alias=True))
|
|
54
|
+
|
|
55
|
+
def to_json(self) -> str:
|
|
56
|
+
"""Returns the JSON representation of the model using alias"""
|
|
57
|
+
return json.dumps(to_jsonable_python(self.to_dict()))
|
|
58
|
+
|
|
59
|
+
@classmethod
|
|
60
|
+
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
61
|
+
"""Create an instance of DataCadenceRuleDetails from a JSON string"""
|
|
62
|
+
return cls.from_dict(json.loads(json_str))
|
|
63
|
+
|
|
64
|
+
def to_dict(self) -> Dict[str, Any]:
|
|
65
|
+
"""Return the dictionary representation of the model using alias.
|
|
66
|
+
|
|
67
|
+
This has the following differences from calling pydantic's
|
|
68
|
+
`self.model_dump(by_alias=True)`:
|
|
69
|
+
|
|
70
|
+
* `None` is only added to the output dict for nullable fields that
|
|
71
|
+
were set at model initialization. Other fields with value `None`
|
|
72
|
+
are ignored.
|
|
73
|
+
"""
|
|
74
|
+
excluded_fields: Set[str] = set([
|
|
75
|
+
])
|
|
76
|
+
|
|
77
|
+
_dict = self.model_dump(
|
|
78
|
+
by_alias=True,
|
|
79
|
+
exclude=excluded_fields,
|
|
80
|
+
exclude_none=True,
|
|
81
|
+
)
|
|
82
|
+
# override the default output from pydantic by calling `to_dict()` of each item in items (list)
|
|
83
|
+
_items = []
|
|
84
|
+
if self.items:
|
|
85
|
+
for _item_items in self.items:
|
|
86
|
+
if _item_items:
|
|
87
|
+
_items.append(_item_items.to_dict())
|
|
88
|
+
_dict['items'] = _items
|
|
89
|
+
# override the default output from pydantic by calling `to_dict()` of each item in segments (list)
|
|
90
|
+
_items = []
|
|
91
|
+
if self.segments:
|
|
92
|
+
for _item_segments in self.segments:
|
|
93
|
+
if _item_segments:
|
|
94
|
+
_items.append(_item_segments.to_dict())
|
|
95
|
+
_dict['segments'] = _items
|
|
96
|
+
# set to None if segments (nullable) is None
|
|
97
|
+
# and model_fields_set contains the field
|
|
98
|
+
if self.segments is None and "segments" in self.model_fields_set:
|
|
99
|
+
_dict['segments'] = None
|
|
100
|
+
|
|
101
|
+
return _dict
|
|
102
|
+
|
|
103
|
+
@classmethod
|
|
104
|
+
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
105
|
+
"""Create an instance of DataCadenceRuleDetails from a dict"""
|
|
106
|
+
if obj is None:
|
|
107
|
+
return None
|
|
108
|
+
|
|
109
|
+
if not isinstance(obj, dict):
|
|
110
|
+
return cls.model_validate(obj)
|
|
111
|
+
|
|
112
|
+
_obj = cls.model_validate({
|
|
113
|
+
"backingAssetId": obj.get("backingAssetId"),
|
|
114
|
+
"continueExecutionOnFailure": obj.get("continueExecutionOnFailure"),
|
|
115
|
+
"id": obj.get("id"),
|
|
116
|
+
"isCompositeRule": obj.get("isCompositeRule"),
|
|
117
|
+
"isSegmented": obj.get("isSegmented"),
|
|
118
|
+
"items": [DataCadenceRuleItem.from_dict(_item) for _item in obj["items"]] if obj.get("items") is not None else None,
|
|
119
|
+
"ruleId": obj.get("ruleId"),
|
|
120
|
+
"segments": [ShortSegment.from_dict(_item) for _item in obj["segments"]] if obj.get("segments") is not None else None,
|
|
121
|
+
"version": obj.get("version")
|
|
122
|
+
})
|
|
123
|
+
return _obj
|
|
124
|
+
|
|
125
|
+
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
Catalog Control Plane API
|
|
5
|
+
|
|
6
|
+
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
7
|
+
|
|
8
|
+
The version of the OpenAPI document: 1.0
|
|
9
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
10
|
+
|
|
11
|
+
Do not edit the class manually.
|
|
12
|
+
""" # noqa: E501
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
from __future__ import annotations
|
|
16
|
+
import pprint
|
|
17
|
+
import re # noqa: F401
|
|
18
|
+
import json
|
|
19
|
+
|
|
20
|
+
from pydantic import BaseModel, ConfigDict
|
|
21
|
+
from typing import Any, ClassVar, Dict, List
|
|
22
|
+
from acceldata.models.api.catalog.data_cadence_rule_item_execution import DataCadenceRuleItemExecution
|
|
23
|
+
from acceldata.models.api.catalog.rule_execution import RuleExecution
|
|
24
|
+
from typing import Optional, Set
|
|
25
|
+
from typing_extensions import Self
|
|
26
|
+
from pydantic_core import to_jsonable_python
|
|
27
|
+
|
|
28
|
+
class DataCadenceRuleExecution(BaseModel):
|
|
29
|
+
"""
|
|
30
|
+
DataCadenceRuleExecution
|
|
31
|
+
""" # noqa: E501
|
|
32
|
+
execution: RuleExecution
|
|
33
|
+
items: List[DataCadenceRuleItemExecution]
|
|
34
|
+
__properties: ClassVar[List[str]] = ["execution", "items"]
|
|
35
|
+
|
|
36
|
+
model_config = ConfigDict(
|
|
37
|
+
validate_by_name=True,
|
|
38
|
+
validate_by_alias=True,
|
|
39
|
+
validate_assignment=True,
|
|
40
|
+
protected_namespaces=(),
|
|
41
|
+
)
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
def to_str(self) -> str:
|
|
45
|
+
"""Returns the string representation of the model using alias"""
|
|
46
|
+
return pprint.pformat(self.model_dump(by_alias=True))
|
|
47
|
+
|
|
48
|
+
def to_json(self) -> str:
|
|
49
|
+
"""Returns the JSON representation of the model using alias"""
|
|
50
|
+
return json.dumps(to_jsonable_python(self.to_dict()))
|
|
51
|
+
|
|
52
|
+
@classmethod
|
|
53
|
+
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
54
|
+
"""Create an instance of DataCadenceRuleExecution from a JSON string"""
|
|
55
|
+
return cls.from_dict(json.loads(json_str))
|
|
56
|
+
|
|
57
|
+
def to_dict(self) -> Dict[str, Any]:
|
|
58
|
+
"""Return the dictionary representation of the model using alias.
|
|
59
|
+
|
|
60
|
+
This has the following differences from calling pydantic's
|
|
61
|
+
`self.model_dump(by_alias=True)`:
|
|
62
|
+
|
|
63
|
+
* `None` is only added to the output dict for nullable fields that
|
|
64
|
+
were set at model initialization. Other fields with value `None`
|
|
65
|
+
are ignored.
|
|
66
|
+
"""
|
|
67
|
+
excluded_fields: Set[str] = set([
|
|
68
|
+
])
|
|
69
|
+
|
|
70
|
+
_dict = self.model_dump(
|
|
71
|
+
by_alias=True,
|
|
72
|
+
exclude=excluded_fields,
|
|
73
|
+
exclude_none=True,
|
|
74
|
+
)
|
|
75
|
+
# override the default output from pydantic by calling `to_dict()` of execution
|
|
76
|
+
if self.execution:
|
|
77
|
+
_dict['execution'] = self.execution.to_dict()
|
|
78
|
+
# override the default output from pydantic by calling `to_dict()` of each item in items (list)
|
|
79
|
+
_items = []
|
|
80
|
+
if self.items:
|
|
81
|
+
for _item_items in self.items:
|
|
82
|
+
if _item_items:
|
|
83
|
+
_items.append(_item_items.to_dict())
|
|
84
|
+
_dict['items'] = _items
|
|
85
|
+
return _dict
|
|
86
|
+
|
|
87
|
+
@classmethod
|
|
88
|
+
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
89
|
+
"""Create an instance of DataCadenceRuleExecution from a dict"""
|
|
90
|
+
if obj is None:
|
|
91
|
+
return None
|
|
92
|
+
|
|
93
|
+
if not isinstance(obj, dict):
|
|
94
|
+
return cls.model_validate(obj)
|
|
95
|
+
|
|
96
|
+
_obj = cls.model_validate({
|
|
97
|
+
"execution": RuleExecution.from_dict(obj["execution"]) if obj.get("execution") is not None else None,
|
|
98
|
+
"items": [DataCadenceRuleItemExecution.from_dict(_item) for _item in obj["items"]] if obj.get("items") is not None else None
|
|
99
|
+
})
|
|
100
|
+
return _obj
|
|
101
|
+
|
|
102
|
+
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
Catalog Control Plane API
|
|
5
|
+
|
|
6
|
+
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
7
|
+
|
|
8
|
+
The version of the OpenAPI document: 1.0
|
|
9
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
10
|
+
|
|
11
|
+
Do not edit the class manually.
|
|
12
|
+
""" # noqa: E501
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
from __future__ import annotations
|
|
16
|
+
import pprint
|
|
17
|
+
import re # noqa: F401
|
|
18
|
+
import json
|
|
19
|
+
|
|
20
|
+
from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr
|
|
21
|
+
from typing import Any, ClassVar, Dict, List, Optional
|
|
22
|
+
from acceldata.models.api.catalog.rule_threshold_configuration import RuleThresholdConfiguration
|
|
23
|
+
from typing import Optional, Set
|
|
24
|
+
from typing_extensions import Self
|
|
25
|
+
from pydantic_core import to_jsonable_python
|
|
26
|
+
|
|
27
|
+
class DataCadenceRuleItem(BaseModel):
|
|
28
|
+
"""
|
|
29
|
+
DataCadenceRuleItem
|
|
30
|
+
""" # noqa: E501
|
|
31
|
+
display_name: StrictStr = Field(alias="displayName")
|
|
32
|
+
execution_order: StrictInt = Field(alias="executionOrder")
|
|
33
|
+
id: Optional[StrictInt] = None
|
|
34
|
+
measurement_type: StrictStr = Field(description="Allowed values at generation time: DATA_FRESHNESS, RECORD_COUNT_TOTAL, RECORD_COUNT_DRIFT, DATA_VOLUME_TOTAL, DATA_VOLUME_DRIFT, FILE_COUNT_TOTAL, FILE_COUNT_DRIFT, CHANGE_IN_FILE_SIZE, ABSOLUTE_FILE_SIZE, RAW_ABSOLUTE_SIZE, RAW_DATA_FRESHNESS, MESSAGES_COUNT_TOTAL, MESSAGES_COUNT_DRIFT, CHANGE_IN_TOPIC_SIZE, ABSOLUTE_TOPIC_SIZE.", alias="measurementType")
|
|
35
|
+
rule_id: Optional[StrictInt] = Field(default=None, alias="ruleId")
|
|
36
|
+
rule_version: StrictInt = Field(alias="ruleVersion")
|
|
37
|
+
threshold_config: Optional[RuleThresholdConfiguration] = Field(default=None, alias="thresholdConfig")
|
|
38
|
+
__properties: ClassVar[List[str]] = ["displayName", "executionOrder", "id", "measurementType", "ruleId", "ruleVersion", "thresholdConfig"]
|
|
39
|
+
|
|
40
|
+
model_config = ConfigDict(
|
|
41
|
+
validate_by_name=True,
|
|
42
|
+
validate_by_alias=True,
|
|
43
|
+
validate_assignment=True,
|
|
44
|
+
protected_namespaces=(),
|
|
45
|
+
)
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
def to_str(self) -> str:
|
|
49
|
+
"""Returns the string representation of the model using alias"""
|
|
50
|
+
return pprint.pformat(self.model_dump(by_alias=True))
|
|
51
|
+
|
|
52
|
+
def to_json(self) -> str:
|
|
53
|
+
"""Returns the JSON representation of the model using alias"""
|
|
54
|
+
return json.dumps(to_jsonable_python(self.to_dict()))
|
|
55
|
+
|
|
56
|
+
@classmethod
|
|
57
|
+
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
58
|
+
"""Create an instance of DataCadenceRuleItem from a JSON string"""
|
|
59
|
+
return cls.from_dict(json.loads(json_str))
|
|
60
|
+
|
|
61
|
+
def to_dict(self) -> Dict[str, Any]:
|
|
62
|
+
"""Return the dictionary representation of the model using alias.
|
|
63
|
+
|
|
64
|
+
This has the following differences from calling pydantic's
|
|
65
|
+
`self.model_dump(by_alias=True)`:
|
|
66
|
+
|
|
67
|
+
* `None` is only added to the output dict for nullable fields that
|
|
68
|
+
were set at model initialization. Other fields with value `None`
|
|
69
|
+
are ignored.
|
|
70
|
+
"""
|
|
71
|
+
excluded_fields: Set[str] = set([
|
|
72
|
+
])
|
|
73
|
+
|
|
74
|
+
_dict = self.model_dump(
|
|
75
|
+
by_alias=True,
|
|
76
|
+
exclude=excluded_fields,
|
|
77
|
+
exclude_none=True,
|
|
78
|
+
)
|
|
79
|
+
# override the default output from pydantic by calling `to_dict()` of threshold_config
|
|
80
|
+
if self.threshold_config:
|
|
81
|
+
_dict['thresholdConfig'] = self.threshold_config.to_dict()
|
|
82
|
+
return _dict
|
|
83
|
+
|
|
84
|
+
@classmethod
|
|
85
|
+
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
86
|
+
"""Create an instance of DataCadenceRuleItem from a dict"""
|
|
87
|
+
if obj is None:
|
|
88
|
+
return None
|
|
89
|
+
|
|
90
|
+
if not isinstance(obj, dict):
|
|
91
|
+
return cls.model_validate(obj)
|
|
92
|
+
|
|
93
|
+
_obj = cls.model_validate({
|
|
94
|
+
"displayName": obj.get("displayName"),
|
|
95
|
+
"executionOrder": obj.get("executionOrder"),
|
|
96
|
+
"id": obj.get("id"),
|
|
97
|
+
"measurementType": obj.get("measurementType"),
|
|
98
|
+
"ruleId": obj.get("ruleId"),
|
|
99
|
+
"ruleVersion": obj.get("ruleVersion"),
|
|
100
|
+
"thresholdConfig": RuleThresholdConfiguration.from_dict(obj["thresholdConfig"]) if obj.get("thresholdConfig") is not None else None
|
|
101
|
+
})
|
|
102
|
+
return _obj
|
|
103
|
+
|
|
104
|
+
|