graphiant-sdk 25.8.1__py3-none-any.whl → 25.9.2__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.
- graphiant_sdk/__init__.py +3537 -1164
- graphiant_sdk/api/__init__.py +16 -1
- graphiant_sdk/api/default_api.py +8500 -6220
- graphiant_sdk/api_client.py +9 -2
- graphiant_sdk/configuration.py +1 -1
- graphiant_sdk/models/__init__.py +1196 -13
- graphiant_sdk/models/{v1_edges_hardware_assigned_get200_response_edges_summary_inner_upgrade_summary_running_version.py → v1_diagnostic_reboot_device_id_put_request.py} +7 -11
- graphiant_sdk/models/v1_enterprise_allocation_get200_response_consumption_summary_global_summary.py +5 -1
- graphiant_sdk/models/{v1_extranet_sites_usage_post200_response.py → v1_extranet_b2b_monitoring_peering_service_bandwidth_usage_post200_response.py} +9 -9
- graphiant_sdk/models/{v2_extranet_service_overtime_consumption_post200_response_dl_agg_stats_inner.py → v1_extranet_b2b_monitoring_peering_service_bandwidth_usage_post200_response_dl_stats_inner.py} +4 -4
- graphiant_sdk/models/{v1_extranet_sites_usage_post_request.py → v1_extranet_b2b_monitoring_peering_service_bandwidth_usage_post_request.py} +4 -4
- graphiant_sdk/models/{v1_bwtracker_region_site_summary_post200_response_bwusage_summary.py → v1_extranet_b2b_monitoring_peering_service_consumers_usage_top_post200_response.py} +18 -21
- graphiant_sdk/models/{v2_extranet_consumers_usage_top_post200_response_top_consumers_inner.py → v1_extranet_b2b_monitoring_peering_service_consumers_usage_top_post200_response_top_consumers_inner.py} +4 -4
- graphiant_sdk/models/{v2_extranet_lan_segments_usage_top_post_request.py → v1_extranet_b2b_monitoring_peering_service_consumers_usage_top_post_request.py} +4 -4
- graphiant_sdk/models/v1_extranet_b2b_monitoring_peering_service_consumption_overview_post200_response.py +115 -0
- graphiant_sdk/models/{v2_extranet_sites_consumption_overview_post200_response_lan_segments_inner.py → v1_extranet_b2b_monitoring_peering_service_consumption_overview_post200_response_first_level_inner.py} +4 -4
- graphiant_sdk/models/{v2_extranet_consumers_usage_top_post_request.py → v1_extranet_b2b_monitoring_peering_service_consumption_overview_post_request.py} +17 -7
- graphiant_sdk/models/{v1_bwtracker_region_site_summary_post200_response.py → v1_extranet_b2b_monitoring_peering_service_service_health_post200_response.py} +15 -11
- graphiant_sdk/models/v1_extranet_b2b_monitoring_peering_service_service_health_post200_response_service_health_inner.py +100 -0
- graphiant_sdk/models/{v1_global_site_lists_id_sites_get200_response_entries_inner_tag_inner.py → v1_extranet_b2b_monitoring_peering_service_service_health_post200_response_service_health_inner_customer_prefix_health.py} +10 -12
- graphiant_sdk/models/{v2_extranet_service_overtime_consumption_post200_response.py → v1_extranet_b2b_monitoring_peering_service_service_overtime_consumption_post200_response.py} +9 -9
- graphiant_sdk/models/{v2_extranet_sites_consumption_overview_post_request.py → v1_extranet_b2b_monitoring_peering_service_service_overtime_consumption_post_request.py} +4 -4
- graphiant_sdk/models/{v2_assistant_conversation_context_history_post_request.py → v2_aggregated_notification_enable_disable_post_request.py} +4 -4
- graphiant_sdk/models/v2_aggregated_notification_get_state_get200_response.py +87 -0
- graphiant_sdk/models/v2_assurance_applicationdetailsbyname_post200_response_app_id_record.py +13 -1
- graphiant_sdk/models/{v1_software_auto_upgrade_default_get200_response_details.py → v2_assurance_applicationdetailsbyname_post200_response_app_id_record_exchange_service_inner.py} +9 -15
- graphiant_sdk/models/v2_assurance_applicationdetailsbyname_post200_response_app_name_record.py +11 -1
- graphiant_sdk/models/v2_assurance_bucket_app_servers_post_request.py +3 -1
- graphiant_sdk/models/v2_assurance_bucket_apps_post200_response_apps_inner.py +7 -1
- graphiant_sdk/models/v2_assurance_bucket_apps_post_request.py +3 -1
- graphiant_sdk/models/{v2_extranet_consumers_usage_top_post200_response.py → v2_assurance_bucket_services_post200_response.py} +15 -15
- graphiant_sdk/models/{v2_assurance_bucket_topologies_post_request.py → v2_assurance_bucket_services_post_request.py} +4 -4
- graphiant_sdk/models/v2_extranet_lan_segments_usage_top_post200_response.py +3 -3
- graphiant_sdk/models/v2_extranet_sites_consumption_overview_post200_response.py +7 -7
- {graphiant_sdk-25.8.1.dist-info → graphiant_sdk-25.9.2.dist-info}/METADATA +9 -20
- {graphiant_sdk-25.8.1.dist-info → graphiant_sdk-25.9.2.dist-info}/RECORD +59 -41
- test/test_v1_diagnostic_reboot_device_id_put_request.py +51 -0
- test/test_v1_extranet_b2b_monitoring_peering_service_bandwidth_usage_post200_response.py +67 -0
- test/test_v1_extranet_b2b_monitoring_peering_service_bandwidth_usage_post200_response_dl_stats_inner.py +55 -0
- test/test_v1_extranet_b2b_monitoring_peering_service_bandwidth_usage_post_request.py +64 -0
- test/test_v1_extranet_b2b_monitoring_peering_service_consumers_usage_top_post200_response.py +58 -0
- test/test_v1_extranet_b2b_monitoring_peering_service_consumers_usage_top_post200_response_top_consumers_inner.py +53 -0
- test/test_v1_extranet_b2b_monitoring_peering_service_consumers_usage_top_post_request.py +61 -0
- test/test_v1_extranet_b2b_monitoring_peering_service_consumption_overview_post200_response.py +81 -0
- test/test_v1_extranet_b2b_monitoring_peering_service_consumption_overview_post200_response_first_level_inner.py +57 -0
- test/test_v1_extranet_b2b_monitoring_peering_service_consumption_overview_post_request.py +65 -0
- test/test_v1_extranet_b2b_monitoring_peering_service_service_health_post200_response.py +62 -0
- test/test_v1_extranet_b2b_monitoring_peering_service_service_health_post200_response_service_health_inner.py +62 -0
- test/test_v1_extranet_b2b_monitoring_peering_service_service_health_post200_response_service_health_inner_customer_prefix_health.py +54 -0
- test/test_v1_extranet_b2b_monitoring_peering_service_service_overtime_consumption_post200_response.py +66 -0
- test/test_v1_extranet_b2b_monitoring_peering_service_service_overtime_consumption_post_request.py +63 -0
- test/test_v2_aggregated_notification_enable_disable_post_request.py +51 -0
- test/test_v2_aggregated_notification_get_state_get200_response.py +51 -0
- test/test_v2_assurance_applicationdetailsbyname_post200_response_app_id_record_exchange_service_inner.py +52 -0
- test/test_v2_assurance_bucket_services_post200_response.py +55 -0
- test/test_v2_assurance_bucket_services_post_request.py +51 -0
- graphiant_sdk/models/v1_devices_device_id_staged_config_compare_get200_response.py +0 -87
- graphiant_sdk/models/v1_healthcheck_devices_get200_response.py +0 -95
- graphiant_sdk/models/v1_healthcheck_devices_get200_response_details_inner.py +0 -124
- graphiant_sdk/models/v1_healthcheck_devices_get200_response_details_inner_odp_status.py +0 -89
- graphiant_sdk/models/v1_healthcheck_devices_get200_response_details_inner_onboarding_status.py +0 -89
- {graphiant_sdk-25.8.1.dist-info → graphiant_sdk-25.9.2.dist-info}/WHEEL +0 -0
- {graphiant_sdk-25.8.1.dist-info → graphiant_sdk-25.9.2.dist-info}/licenses/LICENSE +0 -0
- {graphiant_sdk-25.8.1.dist-info → graphiant_sdk-25.9.2.dist-info}/top_level.txt +0 -0
|
@@ -22,14 +22,12 @@ from typing import Any, ClassVar, Dict, List, Optional
|
|
|
22
22
|
from typing import Optional, Set
|
|
23
23
|
from typing_extensions import Self
|
|
24
24
|
|
|
25
|
-
class
|
|
25
|
+
class V1DiagnosticRebootDeviceIdPutRequest(BaseModel):
|
|
26
26
|
"""
|
|
27
|
-
|
|
27
|
+
V1DiagnosticRebootDeviceIdPutRequest
|
|
28
28
|
""" # noqa: E501
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
version: Optional[StrictStr] = None
|
|
32
|
-
__properties: ClassVar[List[str]] = ["name", "release", "version"]
|
|
29
|
+
reason: Optional[StrictStr] = None
|
|
30
|
+
__properties: ClassVar[List[str]] = ["reason"]
|
|
33
31
|
|
|
34
32
|
model_config = ConfigDict(
|
|
35
33
|
populate_by_name=True,
|
|
@@ -49,7 +47,7 @@ class V1EdgesHardwareAssignedGet200ResponseEdgesSummaryInnerUpgradeSummaryRunnin
|
|
|
49
47
|
|
|
50
48
|
@classmethod
|
|
51
49
|
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
52
|
-
"""Create an instance of
|
|
50
|
+
"""Create an instance of V1DiagnosticRebootDeviceIdPutRequest from a JSON string"""
|
|
53
51
|
return cls.from_dict(json.loads(json_str))
|
|
54
52
|
|
|
55
53
|
def to_dict(self) -> Dict[str, Any]:
|
|
@@ -74,7 +72,7 @@ class V1EdgesHardwareAssignedGet200ResponseEdgesSummaryInnerUpgradeSummaryRunnin
|
|
|
74
72
|
|
|
75
73
|
@classmethod
|
|
76
74
|
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
77
|
-
"""Create an instance of
|
|
75
|
+
"""Create an instance of V1DiagnosticRebootDeviceIdPutRequest from a dict"""
|
|
78
76
|
if obj is None:
|
|
79
77
|
return None
|
|
80
78
|
|
|
@@ -82,9 +80,7 @@ class V1EdgesHardwareAssignedGet200ResponseEdgesSummaryInnerUpgradeSummaryRunnin
|
|
|
82
80
|
return cls.model_validate(obj)
|
|
83
81
|
|
|
84
82
|
_obj = cls.model_validate({
|
|
85
|
-
"
|
|
86
|
-
"release": obj.get("release"),
|
|
87
|
-
"version": obj.get("version")
|
|
83
|
+
"reason": obj.get("reason")
|
|
88
84
|
})
|
|
89
85
|
return _obj
|
|
90
86
|
|
graphiant_sdk/models/v1_enterprise_allocation_get200_response_consumption_summary_global_summary.py
CHANGED
|
@@ -28,8 +28,10 @@ class V1EnterpriseAllocationGet200ResponseConsumptionSummaryGlobalSummary(BaseMo
|
|
|
28
28
|
""" # noqa: E501
|
|
29
29
|
allocated_monthly_credits: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, alias="allocatedMonthlyCredits")
|
|
30
30
|
consumed_monthly_credits: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, alias="consumedMonthlyCredits")
|
|
31
|
+
prior_allocated_monthly_credits: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, alias="priorAllocatedMonthlyCredits")
|
|
32
|
+
prior_consumed_monthly_credits: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, alias="priorConsumedMonthlyCredits")
|
|
31
33
|
recommended_monthly_credits: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, alias="recommendedMonthlyCredits")
|
|
32
|
-
__properties: ClassVar[List[str]] = ["allocatedMonthlyCredits", "consumedMonthlyCredits", "recommendedMonthlyCredits"]
|
|
34
|
+
__properties: ClassVar[List[str]] = ["allocatedMonthlyCredits", "consumedMonthlyCredits", "priorAllocatedMonthlyCredits", "priorConsumedMonthlyCredits", "recommendedMonthlyCredits"]
|
|
33
35
|
|
|
34
36
|
model_config = ConfigDict(
|
|
35
37
|
populate_by_name=True,
|
|
@@ -84,6 +86,8 @@ class V1EnterpriseAllocationGet200ResponseConsumptionSummaryGlobalSummary(BaseMo
|
|
|
84
86
|
_obj = cls.model_validate({
|
|
85
87
|
"allocatedMonthlyCredits": obj.get("allocatedMonthlyCredits"),
|
|
86
88
|
"consumedMonthlyCredits": obj.get("consumedMonthlyCredits"),
|
|
89
|
+
"priorAllocatedMonthlyCredits": obj.get("priorAllocatedMonthlyCredits"),
|
|
90
|
+
"priorConsumedMonthlyCredits": obj.get("priorConsumedMonthlyCredits"),
|
|
87
91
|
"recommendedMonthlyCredits": obj.get("recommendedMonthlyCredits")
|
|
88
92
|
})
|
|
89
93
|
return _obj
|
|
@@ -19,17 +19,17 @@ import json
|
|
|
19
19
|
|
|
20
20
|
from pydantic import BaseModel, ConfigDict, Field, StrictInt
|
|
21
21
|
from typing import Any, ClassVar, Dict, List, Optional
|
|
22
|
-
from graphiant_sdk.models.
|
|
22
|
+
from graphiant_sdk.models.v1_extranet_b2b_monitoring_peering_service_bandwidth_usage_post200_response_dl_stats_inner import V1ExtranetB2bMonitoringPeeringServiceBandwidthUsagePost200ResponseDlStatsInner
|
|
23
23
|
from typing import Optional, Set
|
|
24
24
|
from typing_extensions import Self
|
|
25
25
|
|
|
26
|
-
class
|
|
26
|
+
class V1ExtranetB2bMonitoringPeeringServiceBandwidthUsagePost200Response(BaseModel):
|
|
27
27
|
"""
|
|
28
|
-
|
|
28
|
+
V1ExtranetB2bMonitoringPeeringServiceBandwidthUsagePost200Response
|
|
29
29
|
""" # noqa: E501
|
|
30
30
|
bw_allocation: Optional[StrictInt] = Field(default=None, alias="bwAllocation")
|
|
31
|
-
dl_stats: Optional[List[
|
|
32
|
-
ul_stats: Optional[List[
|
|
31
|
+
dl_stats: Optional[List[V1ExtranetB2bMonitoringPeeringServiceBandwidthUsagePost200ResponseDlStatsInner]] = Field(default=None, alias="dlStats")
|
|
32
|
+
ul_stats: Optional[List[V1ExtranetB2bMonitoringPeeringServiceBandwidthUsagePost200ResponseDlStatsInner]] = Field(default=None, alias="ulStats")
|
|
33
33
|
__properties: ClassVar[List[str]] = ["bwAllocation", "dlStats", "ulStats"]
|
|
34
34
|
|
|
35
35
|
model_config = ConfigDict(
|
|
@@ -50,7 +50,7 @@ class V1ExtranetSitesUsagePost200Response(BaseModel):
|
|
|
50
50
|
|
|
51
51
|
@classmethod
|
|
52
52
|
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
53
|
-
"""Create an instance of
|
|
53
|
+
"""Create an instance of V1ExtranetB2bMonitoringPeeringServiceBandwidthUsagePost200Response from a JSON string"""
|
|
54
54
|
return cls.from_dict(json.loads(json_str))
|
|
55
55
|
|
|
56
56
|
def to_dict(self) -> Dict[str, Any]:
|
|
@@ -89,7 +89,7 @@ class V1ExtranetSitesUsagePost200Response(BaseModel):
|
|
|
89
89
|
|
|
90
90
|
@classmethod
|
|
91
91
|
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
92
|
-
"""Create an instance of
|
|
92
|
+
"""Create an instance of V1ExtranetB2bMonitoringPeeringServiceBandwidthUsagePost200Response from a dict"""
|
|
93
93
|
if obj is None:
|
|
94
94
|
return None
|
|
95
95
|
|
|
@@ -98,8 +98,8 @@ class V1ExtranetSitesUsagePost200Response(BaseModel):
|
|
|
98
98
|
|
|
99
99
|
_obj = cls.model_validate({
|
|
100
100
|
"bwAllocation": obj.get("bwAllocation"),
|
|
101
|
-
"dlStats": [
|
|
102
|
-
"ulStats": [
|
|
101
|
+
"dlStats": [V1ExtranetB2bMonitoringPeeringServiceBandwidthUsagePost200ResponseDlStatsInner.from_dict(_item) for _item in obj["dlStats"]] if obj.get("dlStats") is not None else None,
|
|
102
|
+
"ulStats": [V1ExtranetB2bMonitoringPeeringServiceBandwidthUsagePost200ResponseDlStatsInner.from_dict(_item) for _item in obj["ulStats"]] if obj.get("ulStats") is not None else None
|
|
103
103
|
})
|
|
104
104
|
return _obj
|
|
105
105
|
|
|
@@ -23,9 +23,9 @@ from graphiant_sdk.models.v1_alarm_history_get200_response_history_inner_time im
|
|
|
23
23
|
from typing import Optional, Set
|
|
24
24
|
from typing_extensions import Self
|
|
25
25
|
|
|
26
|
-
class
|
|
26
|
+
class V1ExtranetB2bMonitoringPeeringServiceBandwidthUsagePost200ResponseDlStatsInner(BaseModel):
|
|
27
27
|
"""
|
|
28
|
-
|
|
28
|
+
V1ExtranetB2bMonitoringPeeringServiceBandwidthUsagePost200ResponseDlStatsInner
|
|
29
29
|
""" # noqa: E501
|
|
30
30
|
avg_usage: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, alias="avgUsage")
|
|
31
31
|
peak_usage: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, alias="peakUsage")
|
|
@@ -50,7 +50,7 @@ class V2ExtranetServiceOvertimeConsumptionPost200ResponseDlAggStatsInner(BaseMod
|
|
|
50
50
|
|
|
51
51
|
@classmethod
|
|
52
52
|
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
53
|
-
"""Create an instance of
|
|
53
|
+
"""Create an instance of V1ExtranetB2bMonitoringPeeringServiceBandwidthUsagePost200ResponseDlStatsInner from a JSON string"""
|
|
54
54
|
return cls.from_dict(json.loads(json_str))
|
|
55
55
|
|
|
56
56
|
def to_dict(self) -> Dict[str, Any]:
|
|
@@ -78,7 +78,7 @@ class V2ExtranetServiceOvertimeConsumptionPost200ResponseDlAggStatsInner(BaseMod
|
|
|
78
78
|
|
|
79
79
|
@classmethod
|
|
80
80
|
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
81
|
-
"""Create an instance of
|
|
81
|
+
"""Create an instance of V1ExtranetB2bMonitoringPeeringServiceBandwidthUsagePost200ResponseDlStatsInner from a dict"""
|
|
82
82
|
if obj is None:
|
|
83
83
|
return None
|
|
84
84
|
|
|
@@ -23,9 +23,9 @@ from graphiant_sdk.models.v2_notificationlist_post_request_time_window import V2
|
|
|
23
23
|
from typing import Optional, Set
|
|
24
24
|
from typing_extensions import Self
|
|
25
25
|
|
|
26
|
-
class
|
|
26
|
+
class V1ExtranetB2bMonitoringPeeringServiceBandwidthUsagePostRequest(BaseModel):
|
|
27
27
|
"""
|
|
28
|
-
|
|
28
|
+
V1ExtranetB2bMonitoringPeeringServiceBandwidthUsagePostRequest
|
|
29
29
|
""" # noqa: E501
|
|
30
30
|
id: Optional[StrictInt] = None
|
|
31
31
|
is_b2_b: Optional[StrictBool] = Field(default=None, alias="isB2B")
|
|
@@ -54,7 +54,7 @@ class V1ExtranetSitesUsagePostRequest(BaseModel):
|
|
|
54
54
|
|
|
55
55
|
@classmethod
|
|
56
56
|
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
57
|
-
"""Create an instance of
|
|
57
|
+
"""Create an instance of V1ExtranetB2bMonitoringPeeringServiceBandwidthUsagePostRequest from a JSON string"""
|
|
58
58
|
return cls.from_dict(json.loads(json_str))
|
|
59
59
|
|
|
60
60
|
def to_dict(self) -> Dict[str, Any]:
|
|
@@ -82,7 +82,7 @@ class V1ExtranetSitesUsagePostRequest(BaseModel):
|
|
|
82
82
|
|
|
83
83
|
@classmethod
|
|
84
84
|
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
85
|
-
"""Create an instance of
|
|
85
|
+
"""Create an instance of V1ExtranetB2bMonitoringPeeringServiceBandwidthUsagePostRequest from a dict"""
|
|
86
86
|
if obj is None:
|
|
87
87
|
return None
|
|
88
88
|
|
|
@@ -19,20 +19,18 @@ import json
|
|
|
19
19
|
|
|
20
20
|
from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt
|
|
21
21
|
from typing import Any, ClassVar, Dict, List, Optional, Union
|
|
22
|
-
from
|
|
23
|
-
from graphiant_sdk.models.v1_bwtracker_enterprise_details_post200_response_bwusage_details_bwusage_region_inner import V1BwtrackerEnterpriseDetailsPost200ResponseBwusageDetailsBwusageRegionInner
|
|
22
|
+
from graphiant_sdk.models.v1_extranet_b2b_monitoring_peering_service_consumers_usage_top_post200_response_top_consumers_inner import V1ExtranetB2bMonitoringPeeringServiceConsumersUsageTopPost200ResponseTopConsumersInner
|
|
24
23
|
from typing import Optional, Set
|
|
25
24
|
from typing_extensions import Self
|
|
26
25
|
|
|
27
|
-
class
|
|
26
|
+
class V1ExtranetB2bMonitoringPeeringServiceConsumersUsageTopPost200Response(BaseModel):
|
|
28
27
|
"""
|
|
29
|
-
|
|
28
|
+
V1ExtranetB2bMonitoringPeeringServiceConsumersUsageTopPost200Response
|
|
30
29
|
""" # noqa: E501
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
__properties: ClassVar[List[str]] = ["bwuageRegion", "edgeCount", "providerCount", "usageKbps"]
|
|
30
|
+
top_consumers: Optional[List[V1ExtranetB2bMonitoringPeeringServiceConsumersUsageTopPost200ResponseTopConsumersInner]] = Field(default=None, alias="topConsumers")
|
|
31
|
+
total_customers: Optional[StrictInt] = Field(default=None, alias="totalCustomers")
|
|
32
|
+
total_usage: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, alias="totalUsage")
|
|
33
|
+
__properties: ClassVar[List[str]] = ["topConsumers", "totalCustomers", "totalUsage"]
|
|
36
34
|
|
|
37
35
|
model_config = ConfigDict(
|
|
38
36
|
populate_by_name=True,
|
|
@@ -52,7 +50,7 @@ class V1BwtrackerRegionSiteSummaryPost200ResponseBwusageSummary(BaseModel):
|
|
|
52
50
|
|
|
53
51
|
@classmethod
|
|
54
52
|
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
55
|
-
"""Create an instance of
|
|
53
|
+
"""Create an instance of V1ExtranetB2bMonitoringPeeringServiceConsumersUsageTopPost200Response from a JSON string"""
|
|
56
54
|
return cls.from_dict(json.loads(json_str))
|
|
57
55
|
|
|
58
56
|
def to_dict(self) -> Dict[str, Any]:
|
|
@@ -73,18 +71,18 @@ class V1BwtrackerRegionSiteSummaryPost200ResponseBwusageSummary(BaseModel):
|
|
|
73
71
|
exclude=excluded_fields,
|
|
74
72
|
exclude_none=True,
|
|
75
73
|
)
|
|
76
|
-
# override the default output from pydantic by calling `to_dict()` of each item in
|
|
74
|
+
# override the default output from pydantic by calling `to_dict()` of each item in top_consumers (list)
|
|
77
75
|
_items = []
|
|
78
|
-
if self.
|
|
79
|
-
for
|
|
80
|
-
if
|
|
81
|
-
_items.append(
|
|
82
|
-
_dict['
|
|
76
|
+
if self.top_consumers:
|
|
77
|
+
for _item_top_consumers in self.top_consumers:
|
|
78
|
+
if _item_top_consumers:
|
|
79
|
+
_items.append(_item_top_consumers.to_dict())
|
|
80
|
+
_dict['topConsumers'] = _items
|
|
83
81
|
return _dict
|
|
84
82
|
|
|
85
83
|
@classmethod
|
|
86
84
|
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
87
|
-
"""Create an instance of
|
|
85
|
+
"""Create an instance of V1ExtranetB2bMonitoringPeeringServiceConsumersUsageTopPost200Response from a dict"""
|
|
88
86
|
if obj is None:
|
|
89
87
|
return None
|
|
90
88
|
|
|
@@ -92,10 +90,9 @@ class V1BwtrackerRegionSiteSummaryPost200ResponseBwusageSummary(BaseModel):
|
|
|
92
90
|
return cls.model_validate(obj)
|
|
93
91
|
|
|
94
92
|
_obj = cls.model_validate({
|
|
95
|
-
"
|
|
96
|
-
"
|
|
97
|
-
"
|
|
98
|
-
"usageKbps": obj.get("usageKbps")
|
|
93
|
+
"topConsumers": [V1ExtranetB2bMonitoringPeeringServiceConsumersUsageTopPost200ResponseTopConsumersInner.from_dict(_item) for _item in obj["topConsumers"]] if obj.get("topConsumers") is not None else None,
|
|
94
|
+
"totalCustomers": obj.get("totalCustomers"),
|
|
95
|
+
"totalUsage": obj.get("totalUsage")
|
|
99
96
|
})
|
|
100
97
|
return _obj
|
|
101
98
|
|
|
@@ -22,9 +22,9 @@ from typing import Any, ClassVar, Dict, List, Optional, Union
|
|
|
22
22
|
from typing import Optional, Set
|
|
23
23
|
from typing_extensions import Self
|
|
24
24
|
|
|
25
|
-
class
|
|
25
|
+
class V1ExtranetB2bMonitoringPeeringServiceConsumersUsageTopPost200ResponseTopConsumersInner(BaseModel):
|
|
26
26
|
"""
|
|
27
|
-
|
|
27
|
+
V1ExtranetB2bMonitoringPeeringServiceConsumersUsageTopPost200ResponseTopConsumersInner
|
|
28
28
|
""" # noqa: E501
|
|
29
29
|
id: Optional[StrictInt] = None
|
|
30
30
|
name: Optional[StrictStr] = None
|
|
@@ -49,7 +49,7 @@ class V2ExtranetConsumersUsageTopPost200ResponseTopConsumersInner(BaseModel):
|
|
|
49
49
|
|
|
50
50
|
@classmethod
|
|
51
51
|
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
52
|
-
"""Create an instance of
|
|
52
|
+
"""Create an instance of V1ExtranetB2bMonitoringPeeringServiceConsumersUsageTopPost200ResponseTopConsumersInner from a JSON string"""
|
|
53
53
|
return cls.from_dict(json.loads(json_str))
|
|
54
54
|
|
|
55
55
|
def to_dict(self) -> Dict[str, Any]:
|
|
@@ -74,7 +74,7 @@ class V2ExtranetConsumersUsageTopPost200ResponseTopConsumersInner(BaseModel):
|
|
|
74
74
|
|
|
75
75
|
@classmethod
|
|
76
76
|
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
77
|
-
"""Create an instance of
|
|
77
|
+
"""Create an instance of V1ExtranetB2bMonitoringPeeringServiceConsumersUsageTopPost200ResponseTopConsumersInner from a dict"""
|
|
78
78
|
if obj is None:
|
|
79
79
|
return None
|
|
80
80
|
|
|
@@ -23,9 +23,9 @@ from graphiant_sdk.models.v2_notificationlist_post_request_time_window import V2
|
|
|
23
23
|
from typing import Optional, Set
|
|
24
24
|
from typing_extensions import Self
|
|
25
25
|
|
|
26
|
-
class
|
|
26
|
+
class V1ExtranetB2bMonitoringPeeringServiceConsumersUsageTopPostRequest(BaseModel):
|
|
27
27
|
"""
|
|
28
|
-
|
|
28
|
+
V1ExtranetB2bMonitoringPeeringServiceConsumersUsageTopPostRequest
|
|
29
29
|
""" # noqa: E501
|
|
30
30
|
id: Optional[StrictInt] = None
|
|
31
31
|
is_b2_b: Optional[StrictBool] = Field(default=None, alias="isB2B")
|
|
@@ -51,7 +51,7 @@ class V2ExtranetLanSegmentsUsageTopPostRequest(BaseModel):
|
|
|
51
51
|
|
|
52
52
|
@classmethod
|
|
53
53
|
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
54
|
-
"""Create an instance of
|
|
54
|
+
"""Create an instance of V1ExtranetB2bMonitoringPeeringServiceConsumersUsageTopPostRequest from a JSON string"""
|
|
55
55
|
return cls.from_dict(json.loads(json_str))
|
|
56
56
|
|
|
57
57
|
def to_dict(self) -> Dict[str, Any]:
|
|
@@ -79,7 +79,7 @@ class V2ExtranetLanSegmentsUsageTopPostRequest(BaseModel):
|
|
|
79
79
|
|
|
80
80
|
@classmethod
|
|
81
81
|
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
82
|
-
"""Create an instance of
|
|
82
|
+
"""Create an instance of V1ExtranetB2bMonitoringPeeringServiceConsumersUsageTopPostRequest from a dict"""
|
|
83
83
|
if obj is None:
|
|
84
84
|
return None
|
|
85
85
|
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
Graphiant APIs
|
|
5
|
+
|
|
6
|
+
Graphiant API documentation.
|
|
7
|
+
|
|
8
|
+
The version of the OpenAPI document: 1.0.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, StrictFloat, StrictInt
|
|
21
|
+
from typing import Any, ClassVar, Dict, List, Optional, Union
|
|
22
|
+
from graphiant_sdk.models.v1_extranet_b2b_monitoring_peering_service_consumption_overview_post200_response_first_level_inner import V1ExtranetB2bMonitoringPeeringServiceConsumptionOverviewPost200ResponseFirstLevelInner
|
|
23
|
+
from typing import Optional, Set
|
|
24
|
+
from typing_extensions import Self
|
|
25
|
+
|
|
26
|
+
class V1ExtranetB2bMonitoringPeeringServiceConsumptionOverviewPost200Response(BaseModel):
|
|
27
|
+
"""
|
|
28
|
+
V1ExtranetB2bMonitoringPeeringServiceConsumptionOverviewPost200Response
|
|
29
|
+
""" # noqa: E501
|
|
30
|
+
first_level: Optional[List[V1ExtranetB2bMonitoringPeeringServiceConsumptionOverviewPost200ResponseFirstLevelInner]] = Field(default=None, alias="firstLevel")
|
|
31
|
+
second_level: Optional[List[V1ExtranetB2bMonitoringPeeringServiceConsumptionOverviewPost200ResponseFirstLevelInner]] = Field(default=None, alias="secondLevel")
|
|
32
|
+
third_level: Optional[List[V1ExtranetB2bMonitoringPeeringServiceConsumptionOverviewPost200ResponseFirstLevelInner]] = Field(default=None, alias="thirdLevel")
|
|
33
|
+
total_usage: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, alias="totalUsage")
|
|
34
|
+
__properties: ClassVar[List[str]] = ["firstLevel", "secondLevel", "thirdLevel", "totalUsage"]
|
|
35
|
+
|
|
36
|
+
model_config = ConfigDict(
|
|
37
|
+
populate_by_name=True,
|
|
38
|
+
validate_assignment=True,
|
|
39
|
+
protected_namespaces=(),
|
|
40
|
+
)
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
def to_str(self) -> str:
|
|
44
|
+
"""Returns the string representation of the model using alias"""
|
|
45
|
+
return pprint.pformat(self.model_dump(by_alias=True))
|
|
46
|
+
|
|
47
|
+
def to_json(self) -> str:
|
|
48
|
+
"""Returns the JSON representation of the model using alias"""
|
|
49
|
+
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
50
|
+
return json.dumps(self.to_dict())
|
|
51
|
+
|
|
52
|
+
@classmethod
|
|
53
|
+
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
54
|
+
"""Create an instance of V1ExtranetB2bMonitoringPeeringServiceConsumptionOverviewPost200Response 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 each item in first_level (list)
|
|
76
|
+
_items = []
|
|
77
|
+
if self.first_level:
|
|
78
|
+
for _item_first_level in self.first_level:
|
|
79
|
+
if _item_first_level:
|
|
80
|
+
_items.append(_item_first_level.to_dict())
|
|
81
|
+
_dict['firstLevel'] = _items
|
|
82
|
+
# override the default output from pydantic by calling `to_dict()` of each item in second_level (list)
|
|
83
|
+
_items = []
|
|
84
|
+
if self.second_level:
|
|
85
|
+
for _item_second_level in self.second_level:
|
|
86
|
+
if _item_second_level:
|
|
87
|
+
_items.append(_item_second_level.to_dict())
|
|
88
|
+
_dict['secondLevel'] = _items
|
|
89
|
+
# override the default output from pydantic by calling `to_dict()` of each item in third_level (list)
|
|
90
|
+
_items = []
|
|
91
|
+
if self.third_level:
|
|
92
|
+
for _item_third_level in self.third_level:
|
|
93
|
+
if _item_third_level:
|
|
94
|
+
_items.append(_item_third_level.to_dict())
|
|
95
|
+
_dict['thirdLevel'] = _items
|
|
96
|
+
return _dict
|
|
97
|
+
|
|
98
|
+
@classmethod
|
|
99
|
+
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
100
|
+
"""Create an instance of V1ExtranetB2bMonitoringPeeringServiceConsumptionOverviewPost200Response from a dict"""
|
|
101
|
+
if obj is None:
|
|
102
|
+
return None
|
|
103
|
+
|
|
104
|
+
if not isinstance(obj, dict):
|
|
105
|
+
return cls.model_validate(obj)
|
|
106
|
+
|
|
107
|
+
_obj = cls.model_validate({
|
|
108
|
+
"firstLevel": [V1ExtranetB2bMonitoringPeeringServiceConsumptionOverviewPost200ResponseFirstLevelInner.from_dict(_item) for _item in obj["firstLevel"]] if obj.get("firstLevel") is not None else None,
|
|
109
|
+
"secondLevel": [V1ExtranetB2bMonitoringPeeringServiceConsumptionOverviewPost200ResponseFirstLevelInner.from_dict(_item) for _item in obj["secondLevel"]] if obj.get("secondLevel") is not None else None,
|
|
110
|
+
"thirdLevel": [V1ExtranetB2bMonitoringPeeringServiceConsumptionOverviewPost200ResponseFirstLevelInner.from_dict(_item) for _item in obj["thirdLevel"]] if obj.get("thirdLevel") is not None else None,
|
|
111
|
+
"totalUsage": obj.get("totalUsage")
|
|
112
|
+
})
|
|
113
|
+
return _obj
|
|
114
|
+
|
|
115
|
+
|
|
@@ -23,9 +23,9 @@ from typing_extensions import Annotated
|
|
|
23
23
|
from typing import Optional, Set
|
|
24
24
|
from typing_extensions import Self
|
|
25
25
|
|
|
26
|
-
class
|
|
26
|
+
class V1ExtranetB2bMonitoringPeeringServiceConsumptionOverviewPost200ResponseFirstLevelInner(BaseModel):
|
|
27
27
|
"""
|
|
28
|
-
|
|
28
|
+
V1ExtranetB2bMonitoringPeeringServiceConsumptionOverviewPost200ResponseFirstLevelInner
|
|
29
29
|
""" # noqa: E501
|
|
30
30
|
connections: Optional[Dict[str, Annotated[int, Field(strict=True, ge=0)]]] = None
|
|
31
31
|
connections_v2: Optional[Dict[str, Union[StrictFloat, StrictInt]]] = Field(default=None, alias="connectionsV2")
|
|
@@ -50,7 +50,7 @@ class V2ExtranetSitesConsumptionOverviewPost200ResponseLanSegmentsInner(BaseMode
|
|
|
50
50
|
|
|
51
51
|
@classmethod
|
|
52
52
|
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
53
|
-
"""Create an instance of
|
|
53
|
+
"""Create an instance of V1ExtranetB2bMonitoringPeeringServiceConsumptionOverviewPost200ResponseFirstLevelInner from a JSON string"""
|
|
54
54
|
return cls.from_dict(json.loads(json_str))
|
|
55
55
|
|
|
56
56
|
def to_dict(self) -> Dict[str, Any]:
|
|
@@ -75,7 +75,7 @@ class V2ExtranetSitesConsumptionOverviewPost200ResponseLanSegmentsInner(BaseMode
|
|
|
75
75
|
|
|
76
76
|
@classmethod
|
|
77
77
|
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
78
|
-
"""Create an instance of
|
|
78
|
+
"""Create an instance of V1ExtranetB2bMonitoringPeeringServiceConsumptionOverviewPost200ResponseFirstLevelInner from a dict"""
|
|
79
79
|
if obj is None:
|
|
80
80
|
return None
|
|
81
81
|
|
|
@@ -17,20 +17,25 @@ import pprint
|
|
|
17
17
|
import re # noqa: F401
|
|
18
18
|
import json
|
|
19
19
|
|
|
20
|
-
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt
|
|
20
|
+
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr
|
|
21
21
|
from typing import Any, ClassVar, Dict, List, Optional
|
|
22
22
|
from graphiant_sdk.models.v2_notificationlist_post_request_time_window import V2NotificationlistPostRequestTimeWindow
|
|
23
23
|
from typing import Optional, Set
|
|
24
24
|
from typing_extensions import Self
|
|
25
25
|
|
|
26
|
-
class
|
|
26
|
+
class V1ExtranetB2bMonitoringPeeringServiceConsumptionOverviewPostRequest(BaseModel):
|
|
27
27
|
"""
|
|
28
|
-
|
|
28
|
+
V1ExtranetB2bMonitoringPeeringServiceConsumptionOverviewPostRequest
|
|
29
29
|
""" # noqa: E501
|
|
30
|
+
customer_name: Optional[StrictStr] = Field(default=None, alias="customerName")
|
|
31
|
+
flipped_view: Optional[StrictBool] = Field(default=None, alias="flippedView")
|
|
30
32
|
id: Optional[StrictInt] = None
|
|
31
33
|
is_b2_b: Optional[StrictBool] = Field(default=None, alias="isB2B")
|
|
34
|
+
is_provider: Optional[StrictBool] = Field(default=None, alias="isProvider")
|
|
35
|
+
site_id: Optional[StrictInt] = Field(default=None, alias="siteId")
|
|
32
36
|
time_window: Optional[V2NotificationlistPostRequestTimeWindow] = Field(default=None, alias="timeWindow")
|
|
33
|
-
|
|
37
|
+
vrf_id: Optional[StrictInt] = Field(default=None, alias="vrfId")
|
|
38
|
+
__properties: ClassVar[List[str]] = ["customerName", "flippedView", "id", "isB2B", "isProvider", "siteId", "timeWindow", "vrfId"]
|
|
34
39
|
|
|
35
40
|
model_config = ConfigDict(
|
|
36
41
|
populate_by_name=True,
|
|
@@ -50,7 +55,7 @@ class V2ExtranetConsumersUsageTopPostRequest(BaseModel):
|
|
|
50
55
|
|
|
51
56
|
@classmethod
|
|
52
57
|
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
53
|
-
"""Create an instance of
|
|
58
|
+
"""Create an instance of V1ExtranetB2bMonitoringPeeringServiceConsumptionOverviewPostRequest from a JSON string"""
|
|
54
59
|
return cls.from_dict(json.loads(json_str))
|
|
55
60
|
|
|
56
61
|
def to_dict(self) -> Dict[str, Any]:
|
|
@@ -78,7 +83,7 @@ class V2ExtranetConsumersUsageTopPostRequest(BaseModel):
|
|
|
78
83
|
|
|
79
84
|
@classmethod
|
|
80
85
|
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
81
|
-
"""Create an instance of
|
|
86
|
+
"""Create an instance of V1ExtranetB2bMonitoringPeeringServiceConsumptionOverviewPostRequest from a dict"""
|
|
82
87
|
if obj is None:
|
|
83
88
|
return None
|
|
84
89
|
|
|
@@ -86,9 +91,14 @@ class V2ExtranetConsumersUsageTopPostRequest(BaseModel):
|
|
|
86
91
|
return cls.model_validate(obj)
|
|
87
92
|
|
|
88
93
|
_obj = cls.model_validate({
|
|
94
|
+
"customerName": obj.get("customerName"),
|
|
95
|
+
"flippedView": obj.get("flippedView"),
|
|
89
96
|
"id": obj.get("id"),
|
|
90
97
|
"isB2B": obj.get("isB2B"),
|
|
91
|
-
"
|
|
98
|
+
"isProvider": obj.get("isProvider"),
|
|
99
|
+
"siteId": obj.get("siteId"),
|
|
100
|
+
"timeWindow": V2NotificationlistPostRequestTimeWindow.from_dict(obj["timeWindow"]) if obj.get("timeWindow") is not None else None,
|
|
101
|
+
"vrfId": obj.get("vrfId")
|
|
92
102
|
})
|
|
93
103
|
return _obj
|
|
94
104
|
|
|
@@ -19,16 +19,16 @@ import json
|
|
|
19
19
|
|
|
20
20
|
from pydantic import BaseModel, ConfigDict, Field
|
|
21
21
|
from typing import Any, ClassVar, Dict, List, Optional
|
|
22
|
-
from graphiant_sdk.models.
|
|
22
|
+
from graphiant_sdk.models.v1_extranet_b2b_monitoring_peering_service_service_health_post200_response_service_health_inner import V1ExtranetB2bMonitoringPeeringServiceServiceHealthPost200ResponseServiceHealthInner
|
|
23
23
|
from typing import Optional, Set
|
|
24
24
|
from typing_extensions import Self
|
|
25
25
|
|
|
26
|
-
class
|
|
26
|
+
class V1ExtranetB2bMonitoringPeeringServiceServiceHealthPost200Response(BaseModel):
|
|
27
27
|
"""
|
|
28
|
-
|
|
28
|
+
V1ExtranetB2bMonitoringPeeringServiceServiceHealthPost200Response
|
|
29
29
|
""" # noqa: E501
|
|
30
|
-
|
|
31
|
-
__properties: ClassVar[List[str]] = ["
|
|
30
|
+
service_health: Optional[List[V1ExtranetB2bMonitoringPeeringServiceServiceHealthPost200ResponseServiceHealthInner]] = Field(default=None, alias="serviceHealth")
|
|
31
|
+
__properties: ClassVar[List[str]] = ["serviceHealth"]
|
|
32
32
|
|
|
33
33
|
model_config = ConfigDict(
|
|
34
34
|
populate_by_name=True,
|
|
@@ -48,7 +48,7 @@ class V1BwtrackerRegionSiteSummaryPost200Response(BaseModel):
|
|
|
48
48
|
|
|
49
49
|
@classmethod
|
|
50
50
|
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
51
|
-
"""Create an instance of
|
|
51
|
+
"""Create an instance of V1ExtranetB2bMonitoringPeeringServiceServiceHealthPost200Response from a JSON string"""
|
|
52
52
|
return cls.from_dict(json.loads(json_str))
|
|
53
53
|
|
|
54
54
|
def to_dict(self) -> Dict[str, Any]:
|
|
@@ -69,14 +69,18 @@ class V1BwtrackerRegionSiteSummaryPost200Response(BaseModel):
|
|
|
69
69
|
exclude=excluded_fields,
|
|
70
70
|
exclude_none=True,
|
|
71
71
|
)
|
|
72
|
-
# override the default output from pydantic by calling `to_dict()` of
|
|
73
|
-
|
|
74
|
-
|
|
72
|
+
# override the default output from pydantic by calling `to_dict()` of each item in service_health (list)
|
|
73
|
+
_items = []
|
|
74
|
+
if self.service_health:
|
|
75
|
+
for _item_service_health in self.service_health:
|
|
76
|
+
if _item_service_health:
|
|
77
|
+
_items.append(_item_service_health.to_dict())
|
|
78
|
+
_dict['serviceHealth'] = _items
|
|
75
79
|
return _dict
|
|
76
80
|
|
|
77
81
|
@classmethod
|
|
78
82
|
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
79
|
-
"""Create an instance of
|
|
83
|
+
"""Create an instance of V1ExtranetB2bMonitoringPeeringServiceServiceHealthPost200Response from a dict"""
|
|
80
84
|
if obj is None:
|
|
81
85
|
return None
|
|
82
86
|
|
|
@@ -84,7 +88,7 @@ class V1BwtrackerRegionSiteSummaryPost200Response(BaseModel):
|
|
|
84
88
|
return cls.model_validate(obj)
|
|
85
89
|
|
|
86
90
|
_obj = cls.model_validate({
|
|
87
|
-
"
|
|
91
|
+
"serviceHealth": [V1ExtranetB2bMonitoringPeeringServiceServiceHealthPost200ResponseServiceHealthInner.from_dict(_item) for _item in obj["serviceHealth"]] if obj.get("serviceHealth") is not None else None
|
|
88
92
|
})
|
|
89
93
|
return _obj
|
|
90
94
|
|