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.
Files changed (64) hide show
  1. graphiant_sdk/__init__.py +3537 -1164
  2. graphiant_sdk/api/__init__.py +16 -1
  3. graphiant_sdk/api/default_api.py +8500 -6220
  4. graphiant_sdk/api_client.py +9 -2
  5. graphiant_sdk/configuration.py +1 -1
  6. graphiant_sdk/models/__init__.py +1196 -13
  7. 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
  8. graphiant_sdk/models/v1_enterprise_allocation_get200_response_consumption_summary_global_summary.py +5 -1
  9. graphiant_sdk/models/{v1_extranet_sites_usage_post200_response.py → v1_extranet_b2b_monitoring_peering_service_bandwidth_usage_post200_response.py} +9 -9
  10. 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
  11. graphiant_sdk/models/{v1_extranet_sites_usage_post_request.py → v1_extranet_b2b_monitoring_peering_service_bandwidth_usage_post_request.py} +4 -4
  12. 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
  13. 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
  14. 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
  15. graphiant_sdk/models/v1_extranet_b2b_monitoring_peering_service_consumption_overview_post200_response.py +115 -0
  16. 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
  17. graphiant_sdk/models/{v2_extranet_consumers_usage_top_post_request.py → v1_extranet_b2b_monitoring_peering_service_consumption_overview_post_request.py} +17 -7
  18. graphiant_sdk/models/{v1_bwtracker_region_site_summary_post200_response.py → v1_extranet_b2b_monitoring_peering_service_service_health_post200_response.py} +15 -11
  19. graphiant_sdk/models/v1_extranet_b2b_monitoring_peering_service_service_health_post200_response_service_health_inner.py +100 -0
  20. 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
  21. 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
  22. 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
  23. graphiant_sdk/models/{v2_assistant_conversation_context_history_post_request.py → v2_aggregated_notification_enable_disable_post_request.py} +4 -4
  24. graphiant_sdk/models/v2_aggregated_notification_get_state_get200_response.py +87 -0
  25. graphiant_sdk/models/v2_assurance_applicationdetailsbyname_post200_response_app_id_record.py +13 -1
  26. 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
  27. graphiant_sdk/models/v2_assurance_applicationdetailsbyname_post200_response_app_name_record.py +11 -1
  28. graphiant_sdk/models/v2_assurance_bucket_app_servers_post_request.py +3 -1
  29. graphiant_sdk/models/v2_assurance_bucket_apps_post200_response_apps_inner.py +7 -1
  30. graphiant_sdk/models/v2_assurance_bucket_apps_post_request.py +3 -1
  31. graphiant_sdk/models/{v2_extranet_consumers_usage_top_post200_response.py → v2_assurance_bucket_services_post200_response.py} +15 -15
  32. graphiant_sdk/models/{v2_assurance_bucket_topologies_post_request.py → v2_assurance_bucket_services_post_request.py} +4 -4
  33. graphiant_sdk/models/v2_extranet_lan_segments_usage_top_post200_response.py +3 -3
  34. graphiant_sdk/models/v2_extranet_sites_consumption_overview_post200_response.py +7 -7
  35. {graphiant_sdk-25.8.1.dist-info → graphiant_sdk-25.9.2.dist-info}/METADATA +9 -20
  36. {graphiant_sdk-25.8.1.dist-info → graphiant_sdk-25.9.2.dist-info}/RECORD +59 -41
  37. test/test_v1_diagnostic_reboot_device_id_put_request.py +51 -0
  38. test/test_v1_extranet_b2b_monitoring_peering_service_bandwidth_usage_post200_response.py +67 -0
  39. test/test_v1_extranet_b2b_monitoring_peering_service_bandwidth_usage_post200_response_dl_stats_inner.py +55 -0
  40. test/test_v1_extranet_b2b_monitoring_peering_service_bandwidth_usage_post_request.py +64 -0
  41. test/test_v1_extranet_b2b_monitoring_peering_service_consumers_usage_top_post200_response.py +58 -0
  42. test/test_v1_extranet_b2b_monitoring_peering_service_consumers_usage_top_post200_response_top_consumers_inner.py +53 -0
  43. test/test_v1_extranet_b2b_monitoring_peering_service_consumers_usage_top_post_request.py +61 -0
  44. test/test_v1_extranet_b2b_monitoring_peering_service_consumption_overview_post200_response.py +81 -0
  45. test/test_v1_extranet_b2b_monitoring_peering_service_consumption_overview_post200_response_first_level_inner.py +57 -0
  46. test/test_v1_extranet_b2b_monitoring_peering_service_consumption_overview_post_request.py +65 -0
  47. test/test_v1_extranet_b2b_monitoring_peering_service_service_health_post200_response.py +62 -0
  48. test/test_v1_extranet_b2b_monitoring_peering_service_service_health_post200_response_service_health_inner.py +62 -0
  49. test/test_v1_extranet_b2b_monitoring_peering_service_service_health_post200_response_service_health_inner_customer_prefix_health.py +54 -0
  50. test/test_v1_extranet_b2b_monitoring_peering_service_service_overtime_consumption_post200_response.py +66 -0
  51. test/test_v1_extranet_b2b_monitoring_peering_service_service_overtime_consumption_post_request.py +63 -0
  52. test/test_v2_aggregated_notification_enable_disable_post_request.py +51 -0
  53. test/test_v2_aggregated_notification_get_state_get200_response.py +51 -0
  54. test/test_v2_assurance_applicationdetailsbyname_post200_response_app_id_record_exchange_service_inner.py +52 -0
  55. test/test_v2_assurance_bucket_services_post200_response.py +55 -0
  56. test/test_v2_assurance_bucket_services_post_request.py +51 -0
  57. graphiant_sdk/models/v1_devices_device_id_staged_config_compare_get200_response.py +0 -87
  58. graphiant_sdk/models/v1_healthcheck_devices_get200_response.py +0 -95
  59. graphiant_sdk/models/v1_healthcheck_devices_get200_response_details_inner.py +0 -124
  60. graphiant_sdk/models/v1_healthcheck_devices_get200_response_details_inner_odp_status.py +0 -89
  61. graphiant_sdk/models/v1_healthcheck_devices_get200_response_details_inner_onboarding_status.py +0 -89
  62. {graphiant_sdk-25.8.1.dist-info → graphiant_sdk-25.9.2.dist-info}/WHEEL +0 -0
  63. {graphiant_sdk-25.8.1.dist-info → graphiant_sdk-25.9.2.dist-info}/licenses/LICENSE +0 -0
  64. {graphiant_sdk-25.8.1.dist-info → graphiant_sdk-25.9.2.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,100 @@
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, StrictStr
21
+ from typing import Any, ClassVar, Dict, List, Optional
22
+ from graphiant_sdk.models.v1_extranet_b2b_monitoring_peering_service_service_health_post200_response_service_health_inner_customer_prefix_health import V1ExtranetB2bMonitoringPeeringServiceServiceHealthPost200ResponseServiceHealthInnerCustomerPrefixHealth
23
+ from typing import Optional, Set
24
+ from typing_extensions import Self
25
+
26
+ class V1ExtranetB2bMonitoringPeeringServiceServiceHealthPost200ResponseServiceHealthInner(BaseModel):
27
+ """
28
+ V1ExtranetB2bMonitoringPeeringServiceServiceHealthPost200ResponseServiceHealthInner
29
+ """ # noqa: E501
30
+ customer_name: Optional[StrictStr] = Field(default=None, alias="customerName")
31
+ customer_prefix_health: Optional[V1ExtranetB2bMonitoringPeeringServiceServiceHealthPost200ResponseServiceHealthInnerCustomerPrefixHealth] = Field(default=None, alias="customerPrefixHealth")
32
+ overall_health: Optional[StrictStr] = Field(default=None, alias="overallHealth")
33
+ producer_prefix_health: Optional[V1ExtranetB2bMonitoringPeeringServiceServiceHealthPost200ResponseServiceHealthInnerCustomerPrefixHealth] = Field(default=None, alias="producerPrefixHealth")
34
+ __properties: ClassVar[List[str]] = ["customerName", "customerPrefixHealth", "overallHealth", "producerPrefixHealth"]
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 V1ExtranetB2bMonitoringPeeringServiceServiceHealthPost200ResponseServiceHealthInner 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 customer_prefix_health
76
+ if self.customer_prefix_health:
77
+ _dict['customerPrefixHealth'] = self.customer_prefix_health.to_dict()
78
+ # override the default output from pydantic by calling `to_dict()` of producer_prefix_health
79
+ if self.producer_prefix_health:
80
+ _dict['producerPrefixHealth'] = self.producer_prefix_health.to_dict()
81
+ return _dict
82
+
83
+ @classmethod
84
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
85
+ """Create an instance of V1ExtranetB2bMonitoringPeeringServiceServiceHealthPost200ResponseServiceHealthInner from a dict"""
86
+ if obj is None:
87
+ return None
88
+
89
+ if not isinstance(obj, dict):
90
+ return cls.model_validate(obj)
91
+
92
+ _obj = cls.model_validate({
93
+ "customerName": obj.get("customerName"),
94
+ "customerPrefixHealth": V1ExtranetB2bMonitoringPeeringServiceServiceHealthPost200ResponseServiceHealthInnerCustomerPrefixHealth.from_dict(obj["customerPrefixHealth"]) if obj.get("customerPrefixHealth") is not None else None,
95
+ "overallHealth": obj.get("overallHealth"),
96
+ "producerPrefixHealth": V1ExtranetB2bMonitoringPeeringServiceServiceHealthPost200ResponseServiceHealthInnerCustomerPrefixHealth.from_dict(obj["producerPrefixHealth"]) if obj.get("producerPrefixHealth") is not None else None
97
+ })
98
+ return _obj
99
+
100
+
@@ -17,19 +17,18 @@ import pprint
17
17
  import re # noqa: F401
18
18
  import json
19
19
 
20
- from pydantic import BaseModel, ConfigDict, Field, StrictInt
20
+ from pydantic import BaseModel, ConfigDict, Field, StrictStr
21
21
  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 V1GlobalSiteListsIdSitesGet200ResponseEntriesInnerTagInner(BaseModel):
25
+ class V1ExtranetB2bMonitoringPeeringServiceServiceHealthPost200ResponseServiceHealthInnerCustomerPrefixHealth(BaseModel):
26
26
  """
27
- V1GlobalSiteListsIdSitesGet200ResponseEntriesInnerTagInner
27
+ V1ExtranetB2bMonitoringPeeringServiceServiceHealthPost200ResponseServiceHealthInnerCustomerPrefixHealth
28
28
  """ # noqa: E501
29
- level_one: Optional[StrictInt] = Field(default=None, alias="levelOne")
30
- level_two: Optional[StrictInt] = Field(default=None, alias="levelTwo")
31
- level_zero: Optional[StrictInt] = Field(default=None, alias="levelZero")
32
- __properties: ClassVar[List[str]] = ["levelOne", "levelTwo", "levelZero"]
29
+ health: Optional[StrictStr] = None
30
+ missing_prefixes: Optional[List[StrictStr]] = Field(default=None, alias="missingPrefixes")
31
+ __properties: ClassVar[List[str]] = ["health", "missingPrefixes"]
33
32
 
34
33
  model_config = ConfigDict(
35
34
  populate_by_name=True,
@@ -49,7 +48,7 @@ class V1GlobalSiteListsIdSitesGet200ResponseEntriesInnerTagInner(BaseModel):
49
48
 
50
49
  @classmethod
51
50
  def from_json(cls, json_str: str) -> Optional[Self]:
52
- """Create an instance of V1GlobalSiteListsIdSitesGet200ResponseEntriesInnerTagInner from a JSON string"""
51
+ """Create an instance of V1ExtranetB2bMonitoringPeeringServiceServiceHealthPost200ResponseServiceHealthInnerCustomerPrefixHealth from a JSON string"""
53
52
  return cls.from_dict(json.loads(json_str))
54
53
 
55
54
  def to_dict(self) -> Dict[str, Any]:
@@ -74,7 +73,7 @@ class V1GlobalSiteListsIdSitesGet200ResponseEntriesInnerTagInner(BaseModel):
74
73
 
75
74
  @classmethod
76
75
  def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
77
- """Create an instance of V1GlobalSiteListsIdSitesGet200ResponseEntriesInnerTagInner from a dict"""
76
+ """Create an instance of V1ExtranetB2bMonitoringPeeringServiceServiceHealthPost200ResponseServiceHealthInnerCustomerPrefixHealth from a dict"""
78
77
  if obj is None:
79
78
  return None
80
79
 
@@ -82,9 +81,8 @@ class V1GlobalSiteListsIdSitesGet200ResponseEntriesInnerTagInner(BaseModel):
82
81
  return cls.model_validate(obj)
83
82
 
84
83
  _obj = cls.model_validate({
85
- "levelOne": obj.get("levelOne"),
86
- "levelTwo": obj.get("levelTwo"),
87
- "levelZero": obj.get("levelZero")
84
+ "health": obj.get("health"),
85
+ "missingPrefixes": obj.get("missingPrefixes")
88
86
  })
89
87
  return _obj
90
88
 
@@ -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.v2_extranet_service_overtime_consumption_post200_response_dl_agg_stats_inner import V2ExtranetServiceOvertimeConsumptionPost200ResponseDlAggStatsInner
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 V2ExtranetServiceOvertimeConsumptionPost200Response(BaseModel):
26
+ class V1ExtranetB2bMonitoringPeeringServiceServiceOvertimeConsumptionPost200Response(BaseModel):
27
27
  """
28
- V2ExtranetServiceOvertimeConsumptionPost200Response
28
+ V1ExtranetB2bMonitoringPeeringServiceServiceOvertimeConsumptionPost200Response
29
29
  """ # noqa: E501
30
- dl_agg_stats: Optional[List[V2ExtranetServiceOvertimeConsumptionPost200ResponseDlAggStatsInner]] = Field(default=None, alias="dlAggStats")
31
- ul_agg_stats: Optional[List[V2ExtranetServiceOvertimeConsumptionPost200ResponseDlAggStatsInner]] = Field(default=None, alias="ulAggStats")
30
+ dl_agg_stats: Optional[List[V1ExtranetB2bMonitoringPeeringServiceBandwidthUsagePost200ResponseDlStatsInner]] = Field(default=None, alias="dlAggStats")
31
+ ul_agg_stats: Optional[List[V1ExtranetB2bMonitoringPeeringServiceBandwidthUsagePost200ResponseDlStatsInner]] = Field(default=None, alias="ulAggStats")
32
32
  __properties: ClassVar[List[str]] = ["dlAggStats", "ulAggStats"]
33
33
 
34
34
  model_config = ConfigDict(
@@ -49,7 +49,7 @@ class V2ExtranetServiceOvertimeConsumptionPost200Response(BaseModel):
49
49
 
50
50
  @classmethod
51
51
  def from_json(cls, json_str: str) -> Optional[Self]:
52
- """Create an instance of V2ExtranetServiceOvertimeConsumptionPost200Response from a JSON string"""
52
+ """Create an instance of V1ExtranetB2bMonitoringPeeringServiceServiceOvertimeConsumptionPost200Response 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]:
@@ -88,7 +88,7 @@ class V2ExtranetServiceOvertimeConsumptionPost200Response(BaseModel):
88
88
 
89
89
  @classmethod
90
90
  def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
91
- """Create an instance of V2ExtranetServiceOvertimeConsumptionPost200Response from a dict"""
91
+ """Create an instance of V1ExtranetB2bMonitoringPeeringServiceServiceOvertimeConsumptionPost200Response from a dict"""
92
92
  if obj is None:
93
93
  return None
94
94
 
@@ -96,8 +96,8 @@ class V2ExtranetServiceOvertimeConsumptionPost200Response(BaseModel):
96
96
  return cls.model_validate(obj)
97
97
 
98
98
  _obj = cls.model_validate({
99
- "dlAggStats": [V2ExtranetServiceOvertimeConsumptionPost200ResponseDlAggStatsInner.from_dict(_item) for _item in obj["dlAggStats"]] if obj.get("dlAggStats") is not None else None,
100
- "ulAggStats": [V2ExtranetServiceOvertimeConsumptionPost200ResponseDlAggStatsInner.from_dict(_item) for _item in obj["ulAggStats"]] if obj.get("ulAggStats") is not None else None
99
+ "dlAggStats": [V1ExtranetB2bMonitoringPeeringServiceBandwidthUsagePost200ResponseDlStatsInner.from_dict(_item) for _item in obj["dlAggStats"]] if obj.get("dlAggStats") is not None else None,
100
+ "ulAggStats": [V1ExtranetB2bMonitoringPeeringServiceBandwidthUsagePost200ResponseDlStatsInner.from_dict(_item) for _item in obj["ulAggStats"]] if obj.get("ulAggStats") is not None else None
101
101
  })
102
102
  return _obj
103
103
 
@@ -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 V2ExtranetSitesConsumptionOverviewPostRequest(BaseModel):
26
+ class V1ExtranetB2bMonitoringPeeringServiceServiceOvertimeConsumptionPostRequest(BaseModel):
27
27
  """
28
- V2ExtranetSitesConsumptionOverviewPostRequest
28
+ V1ExtranetB2bMonitoringPeeringServiceServiceOvertimeConsumptionPostRequest
29
29
  """ # noqa: E501
30
30
  id: Optional[StrictInt] = None
31
31
  is_b2_b: Optional[StrictBool] = Field(default=None, alias="isB2B")
@@ -53,7 +53,7 @@ class V2ExtranetSitesConsumptionOverviewPostRequest(BaseModel):
53
53
 
54
54
  @classmethod
55
55
  def from_json(cls, json_str: str) -> Optional[Self]:
56
- """Create an instance of V2ExtranetSitesConsumptionOverviewPostRequest from a JSON string"""
56
+ """Create an instance of V1ExtranetB2bMonitoringPeeringServiceServiceOvertimeConsumptionPostRequest from a JSON string"""
57
57
  return cls.from_dict(json.loads(json_str))
58
58
 
59
59
  def to_dict(self) -> Dict[str, Any]:
@@ -81,7 +81,7 @@ class V2ExtranetSitesConsumptionOverviewPostRequest(BaseModel):
81
81
 
82
82
  @classmethod
83
83
  def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
84
- """Create an instance of V2ExtranetSitesConsumptionOverviewPostRequest from a dict"""
84
+ """Create an instance of V1ExtranetB2bMonitoringPeeringServiceServiceOvertimeConsumptionPostRequest from a dict"""
85
85
  if obj is None:
86
86
  return None
87
87
 
@@ -22,9 +22,9 @@ 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 V2AssistantConversationContextHistoryPostRequest(BaseModel):
25
+ class V2AggregatedNotificationEnableDisablePostRequest(BaseModel):
26
26
  """
27
- V2AssistantConversationContextHistoryPostRequest
27
+ V2AggregatedNotificationEnableDisablePostRequest
28
28
  """ # noqa: E501
29
29
  enable: Optional[StrictBool] = None
30
30
  __properties: ClassVar[List[str]] = ["enable"]
@@ -47,7 +47,7 @@ class V2AssistantConversationContextHistoryPostRequest(BaseModel):
47
47
 
48
48
  @classmethod
49
49
  def from_json(cls, json_str: str) -> Optional[Self]:
50
- """Create an instance of V2AssistantConversationContextHistoryPostRequest from a JSON string"""
50
+ """Create an instance of V2AggregatedNotificationEnableDisablePostRequest from a JSON string"""
51
51
  return cls.from_dict(json.loads(json_str))
52
52
 
53
53
  def to_dict(self) -> Dict[str, Any]:
@@ -72,7 +72,7 @@ class V2AssistantConversationContextHistoryPostRequest(BaseModel):
72
72
 
73
73
  @classmethod
74
74
  def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
75
- """Create an instance of V2AssistantConversationContextHistoryPostRequest from a dict"""
75
+ """Create an instance of V2AggregatedNotificationEnableDisablePostRequest from a dict"""
76
76
  if obj is None:
77
77
  return None
78
78
 
@@ -0,0 +1,87 @@
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, StrictBool
21
+ from typing import Any, ClassVar, Dict, List, Optional
22
+ from typing import Optional, Set
23
+ from typing_extensions import Self
24
+
25
+ class V2AggregatedNotificationGetStateGet200Response(BaseModel):
26
+ """
27
+ V2AggregatedNotificationGetStateGet200Response
28
+ """ # noqa: E501
29
+ state: Optional[StrictBool] = None
30
+ __properties: ClassVar[List[str]] = ["state"]
31
+
32
+ model_config = ConfigDict(
33
+ populate_by_name=True,
34
+ validate_assignment=True,
35
+ protected_namespaces=(),
36
+ )
37
+
38
+
39
+ def to_str(self) -> str:
40
+ """Returns the string representation of the model using alias"""
41
+ return pprint.pformat(self.model_dump(by_alias=True))
42
+
43
+ def to_json(self) -> str:
44
+ """Returns the JSON representation of the model using alias"""
45
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
46
+ return json.dumps(self.to_dict())
47
+
48
+ @classmethod
49
+ def from_json(cls, json_str: str) -> Optional[Self]:
50
+ """Create an instance of V2AggregatedNotificationGetStateGet200Response from a JSON string"""
51
+ return cls.from_dict(json.loads(json_str))
52
+
53
+ def to_dict(self) -> Dict[str, Any]:
54
+ """Return the dictionary representation of the model using alias.
55
+
56
+ This has the following differences from calling pydantic's
57
+ `self.model_dump(by_alias=True)`:
58
+
59
+ * `None` is only added to the output dict for nullable fields that
60
+ were set at model initialization. Other fields with value `None`
61
+ are ignored.
62
+ """
63
+ excluded_fields: Set[str] = set([
64
+ ])
65
+
66
+ _dict = self.model_dump(
67
+ by_alias=True,
68
+ exclude=excluded_fields,
69
+ exclude_none=True,
70
+ )
71
+ return _dict
72
+
73
+ @classmethod
74
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
75
+ """Create an instance of V2AggregatedNotificationGetStateGet200Response from a dict"""
76
+ if obj is None:
77
+ return None
78
+
79
+ if not isinstance(obj, dict):
80
+ return cls.model_validate(obj)
81
+
82
+ _obj = cls.model_validate({
83
+ "state": obj.get("state")
84
+ })
85
+ return _obj
86
+
87
+
@@ -19,6 +19,7 @@ import json
19
19
 
20
20
  from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr
21
21
  from typing import Any, ClassVar, Dict, List, Optional
22
+ from graphiant_sdk.models.v2_assurance_applicationdetailsbyname_post200_response_app_id_record_exchange_service_inner import V2AssuranceApplicationdetailsbynamePost200ResponseAppIdRecordExchangeServiceInner
22
23
  from graphiant_sdk.models.v2_assurance_applicationdetailsbyname_post200_response_app_id_record_flex_algo_inner import V2AssuranceApplicationdetailsbynamePost200ResponseAppIdRecordFlexAlgoInner
23
24
  from typing import Optional, Set
24
25
  from typing_extensions import Self
@@ -38,6 +39,8 @@ class V2AssuranceApplicationdetailsbynamePost200ResponseAppIdRecord(BaseModel):
38
39
  category: Optional[StrictStr] = None
39
40
  classfication_field: Optional[StrictStr] = Field(default=None, alias="classficationField")
40
41
  classification_field: Optional[StrictStr] = Field(default=None, alias="classificationField")
42
+ clients: Optional[List[StrictStr]] = None
43
+ exchange_service: Optional[List[V2AssuranceApplicationdetailsbynamePost200ResponseAppIdRecordExchangeServiceInner]] = Field(default=None, alias="exchangeService")
41
44
  first_seen: Optional[StrictInt] = Field(default=None, alias="firstSeen")
42
45
  flex_algo: Optional[List[V2AssuranceApplicationdetailsbynamePost200ResponseAppIdRecordFlexAlgoInner]] = Field(default=None, alias="flexAlgo")
43
46
  flows_analyzed: Optional[StrictInt] = Field(default=None, alias="flowsAnalyzed")
@@ -51,7 +54,7 @@ class V2AssuranceApplicationdetailsbynamePost200ResponseAppIdRecord(BaseModel):
51
54
  site_list: Optional[List[StrictStr]] = Field(default=None, alias="siteList")
52
55
  threat_score: Optional[StrictInt] = Field(default=None, alias="threatScore")
53
56
  vrf_list: Optional[List[StrictStr]] = Field(default=None, alias="vrfList")
54
- __properties: ClassVar[List[str]] = ["affectedHosts", "affectedRegions", "affectedSites", "affectedVrfs", "appIdKey", "appName", "appType", "blockedReasonList", "category", "classficationField", "classificationField", "firstSeen", "flexAlgo", "flowsAnalyzed", "lastSeen", "newIpHint", "recommendation", "regionList", "riskStatus", "serverIp", "serverPort", "siteList", "threatScore", "vrfList"]
57
+ __properties: ClassVar[List[str]] = ["affectedHosts", "affectedRegions", "affectedSites", "affectedVrfs", "appIdKey", "appName", "appType", "blockedReasonList", "category", "classficationField", "classificationField", "clients", "exchangeService", "firstSeen", "flexAlgo", "flowsAnalyzed", "lastSeen", "newIpHint", "recommendation", "regionList", "riskStatus", "serverIp", "serverPort", "siteList", "threatScore", "vrfList"]
55
58
 
56
59
  model_config = ConfigDict(
57
60
  populate_by_name=True,
@@ -92,6 +95,13 @@ class V2AssuranceApplicationdetailsbynamePost200ResponseAppIdRecord(BaseModel):
92
95
  exclude=excluded_fields,
93
96
  exclude_none=True,
94
97
  )
98
+ # override the default output from pydantic by calling `to_dict()` of each item in exchange_service (list)
99
+ _items = []
100
+ if self.exchange_service:
101
+ for _item_exchange_service in self.exchange_service:
102
+ if _item_exchange_service:
103
+ _items.append(_item_exchange_service.to_dict())
104
+ _dict['exchangeService'] = _items
95
105
  # override the default output from pydantic by calling `to_dict()` of each item in flex_algo (list)
96
106
  _items = []
97
107
  if self.flex_algo:
@@ -122,6 +132,8 @@ class V2AssuranceApplicationdetailsbynamePost200ResponseAppIdRecord(BaseModel):
122
132
  "category": obj.get("category"),
123
133
  "classficationField": obj.get("classficationField"),
124
134
  "classificationField": obj.get("classificationField"),
135
+ "clients": obj.get("clients"),
136
+ "exchangeService": [V2AssuranceApplicationdetailsbynamePost200ResponseAppIdRecordExchangeServiceInner.from_dict(_item) for _item in obj["exchangeService"]] if obj.get("exchangeService") is not None else None,
125
137
  "firstSeen": obj.get("firstSeen"),
126
138
  "flexAlgo": [V2AssuranceApplicationdetailsbynamePost200ResponseAppIdRecordFlexAlgoInner.from_dict(_item) for _item in obj["flexAlgo"]] if obj.get("flexAlgo") is not None else None,
127
139
  "flowsAnalyzed": obj.get("flowsAnalyzed"),
@@ -22,16 +22,13 @@ 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 V1SoftwareAutoUpgradeDefaultGet200ResponseDetails(BaseModel):
25
+ class V2AssuranceApplicationdetailsbynamePost200ResponseAppIdRecordExchangeServiceInner(BaseModel):
26
26
  """
27
- V1SoftwareAutoUpgradeDefaultGet200ResponseDetails
27
+ V2AssuranceApplicationdetailsbynamePost200ResponseAppIdRecordExchangeServiceInner
28
28
  """ # noqa: E501
29
- action: Optional[StrictStr] = None
30
- day_of_week: Optional[StrictStr] = Field(default=None, alias="dayOfWeek")
31
- hour: Optional[StrictInt] = None
32
- minute: Optional[StrictInt] = None
33
- occurrence_in_month: Optional[StrictInt] = Field(default=None, alias="occurrenceInMonth")
34
- __properties: ClassVar[List[str]] = ["action", "dayOfWeek", "hour", "minute", "occurrenceInMonth"]
29
+ exchange_service_id: Optional[StrictInt] = Field(default=None, alias="exchangeServiceId")
30
+ exchange_service_name: Optional[StrictStr] = Field(default=None, alias="exchangeServiceName")
31
+ __properties: ClassVar[List[str]] = ["exchangeServiceId", "exchangeServiceName"]
35
32
 
36
33
  model_config = ConfigDict(
37
34
  populate_by_name=True,
@@ -51,7 +48,7 @@ class V1SoftwareAutoUpgradeDefaultGet200ResponseDetails(BaseModel):
51
48
 
52
49
  @classmethod
53
50
  def from_json(cls, json_str: str) -> Optional[Self]:
54
- """Create an instance of V1SoftwareAutoUpgradeDefaultGet200ResponseDetails from a JSON string"""
51
+ """Create an instance of V2AssuranceApplicationdetailsbynamePost200ResponseAppIdRecordExchangeServiceInner from a JSON string"""
55
52
  return cls.from_dict(json.loads(json_str))
56
53
 
57
54
  def to_dict(self) -> Dict[str, Any]:
@@ -76,7 +73,7 @@ class V1SoftwareAutoUpgradeDefaultGet200ResponseDetails(BaseModel):
76
73
 
77
74
  @classmethod
78
75
  def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
79
- """Create an instance of V1SoftwareAutoUpgradeDefaultGet200ResponseDetails from a dict"""
76
+ """Create an instance of V2AssuranceApplicationdetailsbynamePost200ResponseAppIdRecordExchangeServiceInner from a dict"""
80
77
  if obj is None:
81
78
  return None
82
79
 
@@ -84,11 +81,8 @@ class V1SoftwareAutoUpgradeDefaultGet200ResponseDetails(BaseModel):
84
81
  return cls.model_validate(obj)
85
82
 
86
83
  _obj = cls.model_validate({
87
- "action": obj.get("action"),
88
- "dayOfWeek": obj.get("dayOfWeek"),
89
- "hour": obj.get("hour"),
90
- "minute": obj.get("minute"),
91
- "occurrenceInMonth": obj.get("occurrenceInMonth")
84
+ "exchangeServiceId": obj.get("exchangeServiceId"),
85
+ "exchangeServiceName": obj.get("exchangeServiceName")
92
86
  })
93
87
  return _obj
94
88
 
@@ -20,6 +20,7 @@ import json
20
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_assurance_applicationdetailsbyname_post200_response_app_id_record import V2AssuranceApplicationdetailsbynamePost200ResponseAppIdRecord
23
+ from graphiant_sdk.models.v2_assurance_applicationdetailsbyname_post200_response_app_id_record_exchange_service_inner import V2AssuranceApplicationdetailsbynamePost200ResponseAppIdRecordExchangeServiceInner
23
24
  from graphiant_sdk.models.v2_assurance_applicationdetailsbyname_post200_response_app_id_record_flex_algo_inner import V2AssuranceApplicationdetailsbynamePost200ResponseAppIdRecordFlexAlgoInner
24
25
  from typing import Optional, Set
25
26
  from typing_extensions import Self
@@ -38,12 +39,13 @@ class V2AssuranceApplicationdetailsbynamePost200ResponseAppNameRecord(BaseModel)
38
39
  app_type: Optional[StrictStr] = Field(default=None, alias="appType")
39
40
  category: Optional[StrictStr] = None
40
41
  da_classified: Optional[StrictBool] = Field(default=None, alias="daClassified")
42
+ exchange_service: Optional[List[V2AssuranceApplicationdetailsbynamePost200ResponseAppIdRecordExchangeServiceInner]] = Field(default=None, alias="exchangeService")
41
43
  flex_algo: Optional[List[V2AssuranceApplicationdetailsbynamePost200ResponseAppIdRecordFlexAlgoInner]] = Field(default=None, alias="flexAlgo")
42
44
  flows_analyzed: Optional[StrictInt] = Field(default=None, alias="flowsAnalyzed")
43
45
  recommendation: Optional[StrictStr] = None
44
46
  risk_status: Optional[StrictStr] = Field(default=None, alias="riskStatus")
45
47
  threat_score: Optional[StrictInt] = Field(default=None, alias="threatScore")
46
- __properties: ClassVar[List[str]] = ["affectedHosts", "affectedRegions", "affectedSites", "affectedVrfs", "appId", "appIdRecords", "appName", "appType", "category", "daClassified", "flexAlgo", "flowsAnalyzed", "recommendation", "riskStatus", "threatScore"]
48
+ __properties: ClassVar[List[str]] = ["affectedHosts", "affectedRegions", "affectedSites", "affectedVrfs", "appId", "appIdRecords", "appName", "appType", "category", "daClassified", "exchangeService", "flexAlgo", "flowsAnalyzed", "recommendation", "riskStatus", "threatScore"]
47
49
 
48
50
  model_config = ConfigDict(
49
51
  populate_by_name=True,
@@ -91,6 +93,13 @@ class V2AssuranceApplicationdetailsbynamePost200ResponseAppNameRecord(BaseModel)
91
93
  if _item_app_id_records:
92
94
  _items.append(_item_app_id_records.to_dict())
93
95
  _dict['appIdRecords'] = _items
96
+ # override the default output from pydantic by calling `to_dict()` of each item in exchange_service (list)
97
+ _items = []
98
+ if self.exchange_service:
99
+ for _item_exchange_service in self.exchange_service:
100
+ if _item_exchange_service:
101
+ _items.append(_item_exchange_service.to_dict())
102
+ _dict['exchangeService'] = _items
94
103
  # override the default output from pydantic by calling `to_dict()` of each item in flex_algo (list)
95
104
  _items = []
96
105
  if self.flex_algo:
@@ -120,6 +129,7 @@ class V2AssuranceApplicationdetailsbynamePost200ResponseAppNameRecord(BaseModel)
120
129
  "appType": obj.get("appType"),
121
130
  "category": obj.get("category"),
122
131
  "daClassified": obj.get("daClassified"),
132
+ "exchangeService": [V2AssuranceApplicationdetailsbynamePost200ResponseAppIdRecordExchangeServiceInner.from_dict(_item) for _item in obj["exchangeService"]] if obj.get("exchangeService") is not None else None,
123
133
  "flexAlgo": [V2AssuranceApplicationdetailsbynamePost200ResponseAppIdRecordFlexAlgoInner.from_dict(_item) for _item in obj["flexAlgo"]] if obj.get("flexAlgo") is not None else None,
124
134
  "flowsAnalyzed": obj.get("flowsAnalyzed"),
125
135
  "recommendation": obj.get("recommendation"),
@@ -29,9 +29,10 @@ class V2AssuranceBucketAppServersPostRequest(BaseModel):
29
29
  """ # noqa: E501
30
30
  app_name: Optional[StrictStr] = Field(default=None, alias="appName")
31
31
  bucket_id: Optional[StrictStr] = Field(default=None, alias="bucketId")
32
+ exchange_service_id: Optional[StrictInt] = Field(default=None, alias="exchangeServiceId")
32
33
  flex_algo_id: Optional[StrictInt] = Field(default=None, alias="flexAlgoId")
33
34
  time_window: Optional[V2NotificationlistPostRequestTimeWindow] = Field(default=None, alias="timeWindow")
34
- __properties: ClassVar[List[str]] = ["appName", "bucketId", "flexAlgoId", "timeWindow"]
35
+ __properties: ClassVar[List[str]] = ["appName", "bucketId", "exchangeServiceId", "flexAlgoId", "timeWindow"]
35
36
 
36
37
  model_config = ConfigDict(
37
38
  populate_by_name=True,
@@ -89,6 +90,7 @@ class V2AssuranceBucketAppServersPostRequest(BaseModel):
89
90
  _obj = cls.model_validate({
90
91
  "appName": obj.get("appName"),
91
92
  "bucketId": obj.get("bucketId"),
93
+ "exchangeServiceId": obj.get("exchangeServiceId"),
92
94
  "flexAlgoId": obj.get("flexAlgoId"),
93
95
  "timeWindow": V2NotificationlistPostRequestTimeWindow.from_dict(obj["timeWindow"]) if obj.get("timeWindow") is not None else None
94
96
  })
@@ -19,6 +19,7 @@ import json
19
19
 
20
20
  from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr
21
21
  from typing import Any, ClassVar, Dict, List, Optional
22
+ from graphiant_sdk.models.v2_assurance_applicationdetailsbyname_post200_response_app_id_record_exchange_service_inner import V2AssuranceApplicationdetailsbynamePost200ResponseAppIdRecordExchangeServiceInner
22
23
  from graphiant_sdk.models.v2_assurance_applicationdetailsbyname_post200_response_app_id_record_flex_algo_inner import V2AssuranceApplicationdetailsbynamePost200ResponseAppIdRecordFlexAlgoInner
23
24
  from typing import Optional, Set
24
25
  from typing_extensions import Self
@@ -30,9 +31,10 @@ class V2AssuranceBucketAppsPost200ResponseAppsInner(BaseModel):
30
31
  app_name: Optional[StrictStr] = Field(default=None, alias="appName")
31
32
  builtin_app_id: Optional[StrictInt] = Field(default=None, alias="builtinAppId")
32
33
  custom_app_id: Optional[StrictInt] = Field(default=None, alias="customAppId")
34
+ exchange_service: Optional[V2AssuranceApplicationdetailsbynamePost200ResponseAppIdRecordExchangeServiceInner] = Field(default=None, alias="exchangeService")
33
35
  flex_algo: Optional[V2AssuranceApplicationdetailsbynamePost200ResponseAppIdRecordFlexAlgoInner] = Field(default=None, alias="flexAlgo")
34
36
  is_domain: Optional[StrictBool] = Field(default=None, alias="isDomain")
35
- __properties: ClassVar[List[str]] = ["appName", "builtinAppId", "customAppId", "flexAlgo", "isDomain"]
37
+ __properties: ClassVar[List[str]] = ["appName", "builtinAppId", "customAppId", "exchangeService", "flexAlgo", "isDomain"]
36
38
 
37
39
  model_config = ConfigDict(
38
40
  populate_by_name=True,
@@ -73,6 +75,9 @@ class V2AssuranceBucketAppsPost200ResponseAppsInner(BaseModel):
73
75
  exclude=excluded_fields,
74
76
  exclude_none=True,
75
77
  )
78
+ # override the default output from pydantic by calling `to_dict()` of exchange_service
79
+ if self.exchange_service:
80
+ _dict['exchangeService'] = self.exchange_service.to_dict()
76
81
  # override the default output from pydantic by calling `to_dict()` of flex_algo
77
82
  if self.flex_algo:
78
83
  _dict['flexAlgo'] = self.flex_algo.to_dict()
@@ -91,6 +96,7 @@ class V2AssuranceBucketAppsPost200ResponseAppsInner(BaseModel):
91
96
  "appName": obj.get("appName"),
92
97
  "builtinAppId": obj.get("builtinAppId"),
93
98
  "customAppId": obj.get("customAppId"),
99
+ "exchangeService": V2AssuranceApplicationdetailsbynamePost200ResponseAppIdRecordExchangeServiceInner.from_dict(obj["exchangeService"]) if obj.get("exchangeService") is not None else None,
94
100
  "flexAlgo": V2AssuranceApplicationdetailsbynamePost200ResponseAppIdRecordFlexAlgoInner.from_dict(obj["flexAlgo"]) if obj.get("flexAlgo") is not None else None,
95
101
  "isDomain": obj.get("isDomain")
96
102
  })
@@ -28,10 +28,11 @@ class V2AssuranceBucketAppsPostRequest(BaseModel):
28
28
  V2AssuranceBucketAppsPostRequest
29
29
  """ # noqa: E501
30
30
  bucket_id: Optional[StrictStr] = Field(default=None, alias="bucketId")
31
+ exchange_service_id: Optional[StrictInt] = Field(default=None, alias="exchangeServiceId")
31
32
  flex_algo_id: Optional[StrictInt] = Field(default=None, alias="flexAlgoId")
32
33
  time_window: Optional[V2NotificationlistPostRequestTimeWindow] = Field(default=None, alias="timeWindow")
33
34
  unclassified_only: Optional[StrictBool] = Field(default=None, alias="unclassifiedOnly")
34
- __properties: ClassVar[List[str]] = ["bucketId", "flexAlgoId", "timeWindow", "unclassifiedOnly"]
35
+ __properties: ClassVar[List[str]] = ["bucketId", "exchangeServiceId", "flexAlgoId", "timeWindow", "unclassifiedOnly"]
35
36
 
36
37
  model_config = ConfigDict(
37
38
  populate_by_name=True,
@@ -88,6 +89,7 @@ class V2AssuranceBucketAppsPostRequest(BaseModel):
88
89
 
89
90
  _obj = cls.model_validate({
90
91
  "bucketId": obj.get("bucketId"),
92
+ "exchangeServiceId": obj.get("exchangeServiceId"),
91
93
  "flexAlgoId": obj.get("flexAlgoId"),
92
94
  "timeWindow": V2NotificationlistPostRequestTimeWindow.from_dict(obj["timeWindow"]) if obj.get("timeWindow") is not None else None,
93
95
  "unclassifiedOnly": obj.get("unclassifiedOnly")