graphiant-sdk 25.7.1__py3-none-any.whl → 25.8.1__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 (67) hide show
  1. graphiant_sdk/__init__.py +21 -6
  2. graphiant_sdk/api/default_api.py +15423 -9804
  3. graphiant_sdk/api_client.py +1 -1
  4. graphiant_sdk/configuration.py +1 -1
  5. graphiant_sdk/models/__init__.py +20 -5
  6. graphiant_sdk/models/v1_auth_mfa_patch_request.py +87 -0
  7. graphiant_sdk/models/v1_backbone_health_device_device_id_post200_response.py +3 -3
  8. graphiant_sdk/models/v1_bwtracker_enterprise_details_post200_response_bwusage_details.py +11 -2
  9. graphiant_sdk/models/v1_bwtracker_region_site_gateway_summary_post200_response.py +91 -0
  10. graphiant_sdk/models/v1_bwtracker_region_site_gateway_summary_post200_response_bwusage_summary.py +102 -0
  11. graphiant_sdk/models/v1_devices_device_id_config_put_request_edge_interfaces_value_interface.py +6 -2
  12. graphiant_sdk/models/v1_devices_running_version_post200_response_versions_inner.py +3 -3
  13. graphiant_sdk/models/v1_devices_upgrade_schedule_put_request.py +14 -4
  14. graphiant_sdk/models/v1_edges_hardware_assigned_get200_response_edges_summary_inner_upgrade_summary.py +17 -5
  15. graphiant_sdk/models/v1_edges_hardware_assigned_get200_response_edges_summary_inner_upgrade_summary_last_running_version.py +91 -0
  16. graphiant_sdk/models/v1_edges_hardware_assigned_get200_response_edges_summary_inner_upgrade_summary_schedule.py +3 -3
  17. graphiant_sdk/models/v1_global_site_lists_get200_response.py +97 -0
  18. graphiant_sdk/models/v1_global_site_lists_get200_response_entries_inner.py +103 -0
  19. graphiant_sdk/models/v1_global_site_lists_id_get200_response.py +97 -0
  20. graphiant_sdk/models/v1_global_site_lists_id_sites_get200_response_entries_inner.py +3 -3
  21. graphiant_sdk/models/v1_global_site_lists_post_request.py +99 -0
  22. graphiant_sdk/models/v1_global_site_lists_post_request_entries_inner.py +93 -0
  23. graphiant_sdk/models/v1_global_site_lists_post_request_entries_inner_tag.py +91 -0
  24. graphiant_sdk/models/v1_groups_id_members_delete_post_request.py +87 -0
  25. graphiant_sdk/models/v1_groups_id_members_get200_response_users_inner.py +7 -1
  26. graphiant_sdk/models/v1_groups_id_members_post_request.py +5 -3
  27. graphiant_sdk/models/v1_onboarding_cloudinit_get200_response.py +95 -0
  28. graphiant_sdk/models/v1_onboarding_cloudinit_get200_response_cloudinit_tokens_inner.py +105 -0
  29. graphiant_sdk/models/v1_onboarding_cloudinit_get200_response_cloudinit_tokens_inner_cloudinit_config.py +103 -0
  30. graphiant_sdk/models/v1_onboarding_cloudinit_get200_response_cloudinit_tokens_inner_cloudinit_config_interfaces_inner.py +100 -0
  31. graphiant_sdk/models/v1_onboarding_cloudinit_get200_response_cloudinit_tokens_inner_cloudinit_config_interfaces_inner_ipv4.py +91 -0
  32. graphiant_sdk/models/v1_onboarding_cloudinit_get200_response_cloudinit_tokens_inner_token.py +98 -0
  33. graphiant_sdk/models/v1_software_auto_upgrade_default_get200_response.py +7 -7
  34. graphiant_sdk/models/v1_software_auto_upgrade_default_get200_response_profile.py +97 -0
  35. graphiant_sdk/models/v1_software_auto_upgrade_default_get200_response_profile_occurrence.py +93 -0
  36. graphiant_sdk/models/v1_software_releases_summary_get200_response_summaries_inner.py +6 -1
  37. graphiant_sdk/models/v1_troubleshooting_device_device_id_post200_response.py +3 -3
  38. graphiant_sdk/models/v2_assistant_add_to_conversation_post200_response.py +4 -2
  39. graphiant_sdk/models/v2_assistant_conversation_context_history_post_request.py +87 -0
  40. graphiant_sdk/models/v2_assistant_get_conversations_post200_response.py +5 -3
  41. graphiant_sdk/models/v2_assistant_get_conversations_post200_response_conversation_list_inner.py +5 -3
  42. graphiant_sdk-25.8.1.dist-info/METADATA +384 -0
  43. {graphiant_sdk-25.7.1.dist-info → graphiant_sdk-25.8.1.dist-info}/RECORD +66 -26
  44. test/test_v1_auth_mfa_patch_request.py +53 -0
  45. test/test_v1_bwtracker_region_site_gateway_summary_post200_response.py +61 -0
  46. test/test_v1_bwtracker_region_site_gateway_summary_post200_response_bwusage_summary.py +60 -0
  47. test/test_v1_edges_hardware_assigned_get200_response_edges_summary_inner_upgrade_summary_last_running_version.py +53 -0
  48. test/test_v1_global_site_lists_get200_response.py +63 -0
  49. test/test_v1_global_site_lists_get200_response_entries_inner.py +59 -0
  50. test/test_v1_global_site_lists_id_get200_response.py +59 -0
  51. test/test_v1_global_site_lists_post_request.py +60 -0
  52. test/test_v1_global_site_lists_post_request_entries_inner.py +55 -0
  53. test/test_v1_global_site_lists_post_request_entries_inner_tag.py +53 -0
  54. test/test_v1_groups_id_members_delete_post_request.py +53 -0
  55. test/test_v1_onboarding_cloudinit_get200_response.py +82 -0
  56. test/test_v1_onboarding_cloudinit_get200_response_cloudinit_tokens_inner.py +79 -0
  57. test/test_v1_onboarding_cloudinit_get200_response_cloudinit_tokens_inner_cloudinit_config.py +67 -0
  58. test/test_v1_onboarding_cloudinit_get200_response_cloudinit_tokens_inner_cloudinit_config_interfaces_inner.py +60 -0
  59. test/test_v1_onboarding_cloudinit_get200_response_cloudinit_tokens_inner_cloudinit_config_interfaces_inner_ipv4.py +53 -0
  60. test/test_v1_onboarding_cloudinit_get200_response_cloudinit_tokens_inner_token.py +57 -0
  61. test/test_v1_software_auto_upgrade_default_get200_response_profile.py +58 -0
  62. test/test_v1_software_auto_upgrade_default_get200_response_profile_occurrence.py +54 -0
  63. test/test_v2_assistant_conversation_context_history_post_request.py +51 -0
  64. graphiant_sdk-25.7.1.dist-info/METADATA +0 -119
  65. {graphiant_sdk-25.7.1.dist-info → graphiant_sdk-25.8.1.dist-info}/WHEEL +0 -0
  66. {graphiant_sdk-25.7.1.dist-info → graphiant_sdk-25.8.1.dist-info}/licenses/LICENSE +0 -0
  67. {graphiant_sdk-25.7.1.dist-info → graphiant_sdk-25.8.1.dist-info}/top_level.txt +0 -0
@@ -90,7 +90,7 @@ class ApiClient:
90
90
  self.default_headers[header_name] = header_value
91
91
  self.cookie = cookie
92
92
  # Set default User-Agent.
93
- self.user_agent = 'OpenAPI-Generator/25.7.1/python'
93
+ self.user_agent = 'OpenAPI-Generator/25.8.1/python'
94
94
  self.client_side_validation = configuration.client_side_validation
95
95
 
96
96
  def __enter__(self):
@@ -531,7 +531,7 @@ conf = graphiant_sdk.Configuration(
531
531
  "OS: {env}\n"\
532
532
  "Python Version: {pyversion}\n"\
533
533
  "Version of the API: 1.0.0\n"\
534
- "SDK Package Version: 25.7.1".\
534
+ "SDK Package Version: 25.8.1".\
535
535
  format(env=sys.platform, pyversion=sys.version)
536
536
 
537
537
  def get_host_settings(self) -> List[HostSetting]:
@@ -70,6 +70,7 @@ from graphiant_sdk.models.v1_auth_get200_response import V1AuthGet200Response
70
70
  from graphiant_sdk.models.v1_auth_login_post200_response import V1AuthLoginPost200Response
71
71
  from graphiant_sdk.models.v1_auth_login_post_request import V1AuthLoginPostRequest
72
72
  from graphiant_sdk.models.v1_auth_login_pre_get200_response import V1AuthLoginPreGet200Response
73
+ from graphiant_sdk.models.v1_auth_mfa_patch_request import V1AuthMfaPatchRequest
73
74
  from graphiant_sdk.models.v1_auth_put204_response import V1AuthPut204Response
74
75
  from graphiant_sdk.models.v1_auth_user_get200_response import V1AuthUserGet200Response
75
76
  from graphiant_sdk.models.v1_backbone_health_device_device_id_post200_response import V1BackboneHealthDeviceDeviceIdPost200Response
@@ -135,8 +136,8 @@ from graphiant_sdk.models.v1_bwtracker_region_site_details_post200_response impo
135
136
  from graphiant_sdk.models.v1_bwtracker_region_site_details_post200_response_bwusage_details import V1BwtrackerRegionSiteDetailsPost200ResponseBwusageDetails
136
137
  from graphiant_sdk.models.v1_bwtracker_region_site_details_post200_response_bwusage_details_bwuage_edge_provider_inner import V1BwtrackerRegionSiteDetailsPost200ResponseBwusageDetailsBwuageEdgeProviderInner
137
138
  from graphiant_sdk.models.v1_bwtracker_region_site_details_post200_response_bwusage_details_bwuage_provider_inner import V1BwtrackerRegionSiteDetailsPost200ResponseBwusageDetailsBwuageProviderInner
138
- from graphiant_sdk.models.v1_bwtracker_region_site_summary_post200_response import V1BwtrackerRegionSiteSummaryPost200Response
139
- from graphiant_sdk.models.v1_bwtracker_region_site_summary_post200_response_bwusage_summary import V1BwtrackerRegionSiteSummaryPost200ResponseBwusageSummary
139
+ from graphiant_sdk.models.v1_bwtracker_region_site_gateway_summary_post200_response import V1BwtrackerRegionSiteGatewaySummaryPost200Response
140
+ from graphiant_sdk.models.v1_bwtracker_region_site_gateway_summary_post200_response_bwusage_summary import V1BwtrackerRegionSiteGatewaySummaryPost200ResponseBwusageSummary
140
141
  from graphiant_sdk.models.v1_data_assurance_assurances_applications_bucket_app_name_get200_response import V1DataAssuranceAssurancesApplicationsBucketAppNameGet200Response
141
142
  from graphiant_sdk.models.v1_data_assurance_assurances_applications_bucket_app_name_get200_response_assurances_inner import V1DataAssuranceAssurancesApplicationsBucketAppNameGet200ResponseAssurancesInner
142
143
  from graphiant_sdk.models.v1_data_assurance_assurances_global_get200_response import V1DataAssuranceAssurancesGlobalGet200Response
@@ -412,7 +413,7 @@ from graphiant_sdk.models.v1_diagnostic_speedtest_servers_get200_response_server
412
413
  from graphiant_sdk.models.v1_edges_hardware_assigned_get200_response import V1EdgesHardwareAssignedGet200Response
413
414
  from graphiant_sdk.models.v1_edges_hardware_assigned_get200_response_edges_summary_inner import V1EdgesHardwareAssignedGet200ResponseEdgesSummaryInner
414
415
  from graphiant_sdk.models.v1_edges_hardware_assigned_get200_response_edges_summary_inner_upgrade_summary import V1EdgesHardwareAssignedGet200ResponseEdgesSummaryInnerUpgradeSummary
415
- from graphiant_sdk.models.v1_edges_hardware_assigned_get200_response_edges_summary_inner_upgrade_summary_running_version import V1EdgesHardwareAssignedGet200ResponseEdgesSummaryInnerUpgradeSummaryRunningVersion
416
+ from graphiant_sdk.models.v1_edges_hardware_assigned_get200_response_edges_summary_inner_upgrade_summary_last_running_version import V1EdgesHardwareAssignedGet200ResponseEdgesSummaryInnerUpgradeSummaryLastRunningVersion
416
417
  from graphiant_sdk.models.v1_edges_hardware_assigned_get200_response_edges_summary_inner_upgrade_summary_schedule import V1EdgesHardwareAssignedGet200ResponseEdgesSummaryInnerUpgradeSummarySchedule
417
418
  from graphiant_sdk.models.v1_edges_hardware_unassigned_get200_response import V1EdgesHardwareUnassignedGet200Response
418
419
  from graphiant_sdk.models.v1_edges_summary_get200_response import V1EdgesSummaryGet200Response
@@ -785,9 +786,14 @@ from graphiant_sdk.models.v1_global_lan_segments_vrf_id_devices_get200_response
785
786
  from graphiant_sdk.models.v1_global_lan_segments_vrf_id_devices_get200_response_entries_inner import V1GlobalLanSegmentsVrfIdDevicesGet200ResponseEntriesInner
786
787
  from graphiant_sdk.models.v1_global_prefix_sets_device_get200_response import V1GlobalPrefixSetsDeviceGet200Response
787
788
  from graphiant_sdk.models.v1_global_routing_policies_device_get200_response import V1GlobalRoutingPoliciesDeviceGet200Response
789
+ from graphiant_sdk.models.v1_global_site_lists_get200_response import V1GlobalSiteListsGet200Response
790
+ from graphiant_sdk.models.v1_global_site_lists_get200_response_entries_inner import V1GlobalSiteListsGet200ResponseEntriesInner
791
+ from graphiant_sdk.models.v1_global_site_lists_id_get200_response import V1GlobalSiteListsIdGet200Response
788
792
  from graphiant_sdk.models.v1_global_site_lists_id_sites_get200_response import V1GlobalSiteListsIdSitesGet200Response
789
793
  from graphiant_sdk.models.v1_global_site_lists_id_sites_get200_response_entries_inner import V1GlobalSiteListsIdSitesGet200ResponseEntriesInner
790
- from graphiant_sdk.models.v1_global_site_lists_id_sites_get200_response_entries_inner_tag_inner import V1GlobalSiteListsIdSitesGet200ResponseEntriesInnerTagInner
794
+ from graphiant_sdk.models.v1_global_site_lists_post_request import V1GlobalSiteListsPostRequest
795
+ from graphiant_sdk.models.v1_global_site_lists_post_request_entries_inner import V1GlobalSiteListsPostRequestEntriesInner
796
+ from graphiant_sdk.models.v1_global_site_lists_post_request_entries_inner_tag import V1GlobalSiteListsPostRequestEntriesInnerTag
791
797
  from graphiant_sdk.models.v1_global_snmps_device_get200_response import V1GlobalSnmpsDeviceGet200Response
792
798
  from graphiant_sdk.models.v1_global_summary_post200_response import V1GlobalSummaryPost200Response
793
799
  from graphiant_sdk.models.v1_global_summary_post200_response_summaries_inner import V1GlobalSummaryPost200ResponseSummariesInner
@@ -800,6 +806,7 @@ from graphiant_sdk.models.v1_groups_get200_response_groups_inner import V1Groups
800
806
  from graphiant_sdk.models.v1_groups_get200_response_groups_inner_permissions import V1GroupsGet200ResponseGroupsInnerPermissions
801
807
  from graphiant_sdk.models.v1_groups_id_enterprises_post_request import V1GroupsIdEnterprisesPostRequest
802
808
  from graphiant_sdk.models.v1_groups_id_get200_response import V1GroupsIdGet200Response
809
+ from graphiant_sdk.models.v1_groups_id_members_delete_post_request import V1GroupsIdMembersDeletePostRequest
803
810
  from graphiant_sdk.models.v1_groups_id_members_get200_response import V1GroupsIdMembersGet200Response
804
811
  from graphiant_sdk.models.v1_groups_id_members_get200_response_users_inner import V1GroupsIdMembersGet200ResponseUsersInner
805
812
  from graphiant_sdk.models.v1_groups_id_members_post204_response import V1GroupsIdMembersPost204Response
@@ -835,6 +842,12 @@ from graphiant_sdk.models.v1_nat_entries_device_id_get200_response_nat_entries_i
835
842
  from graphiant_sdk.models.v1_nat_entries_device_id_get200_response_page_info import V1NatEntriesDeviceIdGet200ResponsePageInfo
836
843
  from graphiant_sdk.models.v1_nat_utilization_device_id_get200_response import V1NatUtilizationDeviceIdGet200Response
837
844
  from graphiant_sdk.models.v1_nat_utilization_device_id_get200_response_nat_usage import V1NatUtilizationDeviceIdGet200ResponseNatUsage
845
+ from graphiant_sdk.models.v1_onboarding_cloudinit_get200_response import V1OnboardingCloudinitGet200Response
846
+ from graphiant_sdk.models.v1_onboarding_cloudinit_get200_response_cloudinit_tokens_inner import V1OnboardingCloudinitGet200ResponseCloudinitTokensInner
847
+ from graphiant_sdk.models.v1_onboarding_cloudinit_get200_response_cloudinit_tokens_inner_cloudinit_config import V1OnboardingCloudinitGet200ResponseCloudinitTokensInnerCloudinitConfig
848
+ from graphiant_sdk.models.v1_onboarding_cloudinit_get200_response_cloudinit_tokens_inner_cloudinit_config_interfaces_inner import V1OnboardingCloudinitGet200ResponseCloudinitTokensInnerCloudinitConfigInterfacesInner
849
+ from graphiant_sdk.models.v1_onboarding_cloudinit_get200_response_cloudinit_tokens_inner_cloudinit_config_interfaces_inner_ipv4 import V1OnboardingCloudinitGet200ResponseCloudinitTokensInnerCloudinitConfigInterfacesInnerIpv4
850
+ from graphiant_sdk.models.v1_onboarding_cloudinit_get200_response_cloudinit_tokens_inner_token import V1OnboardingCloudinitGet200ResponseCloudinitTokensInnerToken
838
851
  from graphiant_sdk.models.v1_policy_applications_get200_response import V1PolicyApplicationsGet200Response
839
852
  from graphiant_sdk.models.v1_policy_applications_get200_response_applications_inner import V1PolicyApplicationsGet200ResponseApplicationsInner
840
853
  from graphiant_sdk.models.v1_policy_prefix_sets_id_put_request import V1PolicyPrefixSetsIdPutRequest
@@ -887,7 +900,8 @@ from graphiant_sdk.models.v1_sites_site_id_devices_get200_response import V1Site
887
900
  from graphiant_sdk.models.v1_sites_site_id_devices_get200_response_device_inner import V1SitesSiteIdDevicesGet200ResponseDeviceInner
888
901
  from graphiant_sdk.models.v1_sites_site_id_post_request import V1SitesSiteIdPostRequest
889
902
  from graphiant_sdk.models.v1_software_auto_upgrade_default_get200_response import V1SoftwareAutoUpgradeDefaultGet200Response
890
- from graphiant_sdk.models.v1_software_auto_upgrade_default_get200_response_details import V1SoftwareAutoUpgradeDefaultGet200ResponseDetails
903
+ from graphiant_sdk.models.v1_software_auto_upgrade_default_get200_response_profile import V1SoftwareAutoUpgradeDefaultGet200ResponseProfile
904
+ from graphiant_sdk.models.v1_software_auto_upgrade_default_get200_response_profile_occurrence import V1SoftwareAutoUpgradeDefaultGet200ResponseProfileOccurrence
891
905
  from graphiant_sdk.models.v1_software_gcsrelease_upload_notes_post_request import V1SoftwareGcsreleaseUploadNotesPostRequest
892
906
  from graphiant_sdk.models.v1_software_gcsrelease_upload_notes_post_request_details import V1SoftwareGcsreleaseUploadNotesPostRequestDetails
893
907
  from graphiant_sdk.models.v1_software_gcsrelease_upload_notes_post_request_details_category_inner import V1SoftwareGcsreleaseUploadNotesPostRequestDetailsCategoryInner
@@ -931,6 +945,7 @@ from graphiant_sdk.models.v2_assistant_add_to_conversation_post200_response impo
931
945
  from graphiant_sdk.models.v2_assistant_add_to_conversation_post200_response_dataframe_dictionary_inner import V2AssistantAddToConversationPost200ResponseDataframeDictionaryInner
932
946
  from graphiant_sdk.models.v2_assistant_add_to_conversation_post_request import V2AssistantAddToConversationPostRequest
933
947
  from graphiant_sdk.models.v2_assistant_add_to_conversation_post_request_question import V2AssistantAddToConversationPostRequestQuestion
948
+ from graphiant_sdk.models.v2_assistant_conversation_context_history_post_request import V2AssistantConversationContextHistoryPostRequest
934
949
  from graphiant_sdk.models.v2_assistant_get_conversation_details_post200_response import V2AssistantGetConversationDetailsPost200Response
935
950
  from graphiant_sdk.models.v2_assistant_get_conversation_details_post_request import V2AssistantGetConversationDetailsPostRequest
936
951
  from graphiant_sdk.models.v2_assistant_get_conversations_post200_response import V2AssistantGetConversationsPost200Response
@@ -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, Field, StrictStr
21
+ from typing import Any, ClassVar, Dict, List, Optional
22
+ from typing import Optional, Set
23
+ from typing_extensions import Self
24
+
25
+ class V1AuthMfaPatchRequest(BaseModel):
26
+ """
27
+ V1AuthMfaPatchRequest
28
+ """ # noqa: E501
29
+ allowed_mfa_types: Optional[List[StrictStr]] = Field(default=None, alias="allowedMfaTypes")
30
+ __properties: ClassVar[List[str]] = ["allowedMfaTypes"]
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 V1AuthMfaPatchRequest 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 V1AuthMfaPatchRequest 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
+ "allowedMfaTypes": obj.get("allowedMfaTypes")
84
+ })
85
+ return _obj
86
+
87
+
@@ -25,7 +25,7 @@ from graphiant_sdk.models.v1_backbone_health_device_device_id_post200_response_d
25
25
  from graphiant_sdk.models.v1_backbone_health_device_device_id_post200_response_issues_inner import V1BackboneHealthDeviceDeviceIdPost200ResponseIssuesInner
26
26
  from graphiant_sdk.models.v1_backbone_health_device_device_id_post200_response_qoe_matrix import V1BackboneHealthDeviceDeviceIdPost200ResponseQoeMatrix
27
27
  from graphiant_sdk.models.v1_backbone_health_device_device_id_post200_response_system_plane import V1BackboneHealthDeviceDeviceIdPost200ResponseSystemPlane
28
- from graphiant_sdk.models.v1_edges_hardware_assigned_get200_response_edges_summary_inner_upgrade_summary_running_version import V1EdgesHardwareAssignedGet200ResponseEdgesSummaryInnerUpgradeSummaryRunningVersion
28
+ from graphiant_sdk.models.v1_edges_hardware_assigned_get200_response_edges_summary_inner_upgrade_summary_last_running_version import V1EdgesHardwareAssignedGet200ResponseEdgesSummaryInnerUpgradeSummaryLastRunningVersion
29
29
  from typing import Optional, Set
30
30
  from typing_extensions import Self
31
31
 
@@ -40,7 +40,7 @@ class V1BackboneHealthDeviceDeviceIdPost200Response(BaseModel):
40
40
  role: Optional[StrictStr] = None
41
41
  status: Optional[StrictStr] = None
42
42
  sw_version: Optional[StrictStr] = Field(default=None, alias="swVersion")
43
- sw_version_v2: Optional[V1EdgesHardwareAssignedGet200ResponseEdgesSummaryInnerUpgradeSummaryRunningVersion] = Field(default=None, alias="swVersionV2")
43
+ sw_version_v2: Optional[V1EdgesHardwareAssignedGet200ResponseEdgesSummaryInnerUpgradeSummaryLastRunningVersion] = Field(default=None, alias="swVersionV2")
44
44
  system_plane: Optional[V1BackboneHealthDeviceDeviceIdPost200ResponseSystemPlane] = Field(default=None, alias="systemPlane")
45
45
  up_since_ts: Optional[V1AlarmHistoryGet200ResponseHistoryInnerTime] = Field(default=None, alias="upSinceTs")
46
46
  __properties: ClassVar[List[str]] = ["controlPlane", "dataPlane", "issues", "qoeMatrix", "role", "status", "swVersion", "swVersionV2", "systemPlane", "upSinceTs"]
@@ -128,7 +128,7 @@ class V1BackboneHealthDeviceDeviceIdPost200Response(BaseModel):
128
128
  "role": obj.get("role"),
129
129
  "status": obj.get("status"),
130
130
  "swVersion": obj.get("swVersion"),
131
- "swVersionV2": V1EdgesHardwareAssignedGet200ResponseEdgesSummaryInnerUpgradeSummaryRunningVersion.from_dict(obj["swVersionV2"]) if obj.get("swVersionV2") is not None else None,
131
+ "swVersionV2": V1EdgesHardwareAssignedGet200ResponseEdgesSummaryInnerUpgradeSummaryLastRunningVersion.from_dict(obj["swVersionV2"]) if obj.get("swVersionV2") is not None else None,
132
132
  "systemPlane": V1BackboneHealthDeviceDeviceIdPost200ResponseSystemPlane.from_dict(obj["systemPlane"]) if obj.get("systemPlane") is not None else None,
133
133
  "upSinceTs": V1AlarmHistoryGet200ResponseHistoryInnerTime.from_dict(obj["upSinceTs"]) if obj.get("upSinceTs") is not None else None
134
134
  })
@@ -30,7 +30,8 @@ class V1BwtrackerEnterpriseDetailsPost200ResponseBwusageDetails(BaseModel):
30
30
  """ # noqa: E501
31
31
  bwusage_region: Optional[List[V1BwtrackerEnterpriseDetailsPost200ResponseBwusageDetailsBwusageRegionInner]] = Field(default=None, alias="bwusageRegion")
32
32
  bwusage_site: Optional[List[V1BwtrackerEnterpriseDetailsPost200ResponseBwusageDetailsBwusageSiteInner]] = Field(default=None, alias="bwusageSite")
33
- __properties: ClassVar[List[str]] = ["bwusageRegion", "bwusageSite"]
33
+ bwusage_site_gateway: Optional[List[V1BwtrackerEnterpriseDetailsPost200ResponseBwusageDetailsBwusageSiteInner]] = Field(default=None, alias="bwusageSiteGateway")
34
+ __properties: ClassVar[List[str]] = ["bwusageRegion", "bwusageSite", "bwusageSiteGateway"]
34
35
 
35
36
  model_config = ConfigDict(
36
37
  populate_by_name=True,
@@ -85,6 +86,13 @@ class V1BwtrackerEnterpriseDetailsPost200ResponseBwusageDetails(BaseModel):
85
86
  if _item_bwusage_site:
86
87
  _items.append(_item_bwusage_site.to_dict())
87
88
  _dict['bwusageSite'] = _items
89
+ # override the default output from pydantic by calling `to_dict()` of each item in bwusage_site_gateway (list)
90
+ _items = []
91
+ if self.bwusage_site_gateway:
92
+ for _item_bwusage_site_gateway in self.bwusage_site_gateway:
93
+ if _item_bwusage_site_gateway:
94
+ _items.append(_item_bwusage_site_gateway.to_dict())
95
+ _dict['bwusageSiteGateway'] = _items
88
96
  return _dict
89
97
 
90
98
  @classmethod
@@ -98,7 +106,8 @@ class V1BwtrackerEnterpriseDetailsPost200ResponseBwusageDetails(BaseModel):
98
106
 
99
107
  _obj = cls.model_validate({
100
108
  "bwusageRegion": [V1BwtrackerEnterpriseDetailsPost200ResponseBwusageDetailsBwusageRegionInner.from_dict(_item) for _item in obj["bwusageRegion"]] if obj.get("bwusageRegion") is not None else None,
101
- "bwusageSite": [V1BwtrackerEnterpriseDetailsPost200ResponseBwusageDetailsBwusageSiteInner.from_dict(_item) for _item in obj["bwusageSite"]] if obj.get("bwusageSite") is not None else None
109
+ "bwusageSite": [V1BwtrackerEnterpriseDetailsPost200ResponseBwusageDetailsBwusageSiteInner.from_dict(_item) for _item in obj["bwusageSite"]] if obj.get("bwusageSite") is not None else None,
110
+ "bwusageSiteGateway": [V1BwtrackerEnterpriseDetailsPost200ResponseBwusageDetailsBwusageSiteInner.from_dict(_item) for _item in obj["bwusageSiteGateway"]] if obj.get("bwusageSiteGateway") is not None else None
102
111
  })
103
112
  return _obj
104
113
 
@@ -0,0 +1,91 @@
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
21
+ from typing import Any, ClassVar, Dict, List, Optional
22
+ from graphiant_sdk.models.v1_bwtracker_region_site_gateway_summary_post200_response_bwusage_summary import V1BwtrackerRegionSiteGatewaySummaryPost200ResponseBwusageSummary
23
+ from typing import Optional, Set
24
+ from typing_extensions import Self
25
+
26
+ class V1BwtrackerRegionSiteGatewaySummaryPost200Response(BaseModel):
27
+ """
28
+ V1BwtrackerRegionSiteGatewaySummaryPost200Response
29
+ """ # noqa: E501
30
+ bwusage_summary: Optional[V1BwtrackerRegionSiteGatewaySummaryPost200ResponseBwusageSummary] = Field(default=None, alias="bwusageSummary")
31
+ __properties: ClassVar[List[str]] = ["bwusageSummary"]
32
+
33
+ model_config = ConfigDict(
34
+ populate_by_name=True,
35
+ validate_assignment=True,
36
+ protected_namespaces=(),
37
+ )
38
+
39
+
40
+ def to_str(self) -> str:
41
+ """Returns the string representation of the model using alias"""
42
+ return pprint.pformat(self.model_dump(by_alias=True))
43
+
44
+ def to_json(self) -> str:
45
+ """Returns the JSON representation of the model using alias"""
46
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
47
+ return json.dumps(self.to_dict())
48
+
49
+ @classmethod
50
+ def from_json(cls, json_str: str) -> Optional[Self]:
51
+ """Create an instance of V1BwtrackerRegionSiteGatewaySummaryPost200Response from a JSON string"""
52
+ return cls.from_dict(json.loads(json_str))
53
+
54
+ def to_dict(self) -> Dict[str, Any]:
55
+ """Return the dictionary representation of the model using alias.
56
+
57
+ This has the following differences from calling pydantic's
58
+ `self.model_dump(by_alias=True)`:
59
+
60
+ * `None` is only added to the output dict for nullable fields that
61
+ were set at model initialization. Other fields with value `None`
62
+ are ignored.
63
+ """
64
+ excluded_fields: Set[str] = set([
65
+ ])
66
+
67
+ _dict = self.model_dump(
68
+ by_alias=True,
69
+ exclude=excluded_fields,
70
+ exclude_none=True,
71
+ )
72
+ # override the default output from pydantic by calling `to_dict()` of bwusage_summary
73
+ if self.bwusage_summary:
74
+ _dict['bwusageSummary'] = self.bwusage_summary.to_dict()
75
+ return _dict
76
+
77
+ @classmethod
78
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
79
+ """Create an instance of V1BwtrackerRegionSiteGatewaySummaryPost200Response from a dict"""
80
+ if obj is None:
81
+ return None
82
+
83
+ if not isinstance(obj, dict):
84
+ return cls.model_validate(obj)
85
+
86
+ _obj = cls.model_validate({
87
+ "bwusageSummary": V1BwtrackerRegionSiteGatewaySummaryPost200ResponseBwusageSummary.from_dict(obj["bwusageSummary"]) if obj.get("bwusageSummary") is not None else None
88
+ })
89
+ return _obj
90
+
91
+
@@ -0,0 +1,102 @@
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 typing_extensions import Annotated
23
+ from graphiant_sdk.models.v1_bwtracker_enterprise_details_post200_response_bwusage_details_bwusage_region_inner import V1BwtrackerEnterpriseDetailsPost200ResponseBwusageDetailsBwusageRegionInner
24
+ from typing import Optional, Set
25
+ from typing_extensions import Self
26
+
27
+ class V1BwtrackerRegionSiteGatewaySummaryPost200ResponseBwusageSummary(BaseModel):
28
+ """
29
+ V1BwtrackerRegionSiteGatewaySummaryPost200ResponseBwusageSummary
30
+ """ # noqa: E501
31
+ bwuage_region: Optional[List[V1BwtrackerEnterpriseDetailsPost200ResponseBwusageDetailsBwusageRegionInner]] = Field(default=None, alias="bwuageRegion")
32
+ edge_count: Optional[Annotated[int, Field(strict=True, ge=0)]] = Field(default=None, alias="edgeCount")
33
+ provider_count: Optional[Annotated[int, Field(strict=True, ge=0)]] = Field(default=None, alias="providerCount")
34
+ usage_kbps: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, alias="usageKbps")
35
+ __properties: ClassVar[List[str]] = ["bwuageRegion", "edgeCount", "providerCount", "usageKbps"]
36
+
37
+ model_config = ConfigDict(
38
+ populate_by_name=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
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
51
+ return json.dumps(self.to_dict())
52
+
53
+ @classmethod
54
+ def from_json(cls, json_str: str) -> Optional[Self]:
55
+ """Create an instance of V1BwtrackerRegionSiteGatewaySummaryPost200ResponseBwusageSummary from a JSON string"""
56
+ return cls.from_dict(json.loads(json_str))
57
+
58
+ def to_dict(self) -> Dict[str, Any]:
59
+ """Return the dictionary representation of the model using alias.
60
+
61
+ This has the following differences from calling pydantic's
62
+ `self.model_dump(by_alias=True)`:
63
+
64
+ * `None` is only added to the output dict for nullable fields that
65
+ were set at model initialization. Other fields with value `None`
66
+ are ignored.
67
+ """
68
+ excluded_fields: Set[str] = set([
69
+ ])
70
+
71
+ _dict = self.model_dump(
72
+ by_alias=True,
73
+ exclude=excluded_fields,
74
+ exclude_none=True,
75
+ )
76
+ # override the default output from pydantic by calling `to_dict()` of each item in bwuage_region (list)
77
+ _items = []
78
+ if self.bwuage_region:
79
+ for _item_bwuage_region in self.bwuage_region:
80
+ if _item_bwuage_region:
81
+ _items.append(_item_bwuage_region.to_dict())
82
+ _dict['bwuageRegion'] = _items
83
+ return _dict
84
+
85
+ @classmethod
86
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
87
+ """Create an instance of V1BwtrackerRegionSiteGatewaySummaryPost200ResponseBwusageSummary from a dict"""
88
+ if obj is None:
89
+ return None
90
+
91
+ if not isinstance(obj, dict):
92
+ return cls.model_validate(obj)
93
+
94
+ _obj = cls.model_validate({
95
+ "bwuageRegion": [V1BwtrackerEnterpriseDetailsPost200ResponseBwusageDetailsBwusageRegionInner.from_dict(_item) for _item in obj["bwuageRegion"]] if obj.get("bwuageRegion") is not None else None,
96
+ "edgeCount": obj.get("edgeCount"),
97
+ "providerCount": obj.get("providerCount"),
98
+ "usageKbps": obj.get("usageKbps")
99
+ })
100
+ return _obj
101
+
102
+
@@ -17,7 +17,7 @@ import pprint
17
17
  import re # noqa: F401
18
18
  import json
19
19
 
20
- from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr
20
+ from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr
21
21
  from typing import Any, ClassVar, Dict, List, Optional
22
22
  from typing_extensions import Annotated
23
23
  from graphiant_sdk.models.v1_devices_device_id_config_put_request_core_interfaces_value_interface_gw_gw import V1DevicesDeviceIdConfigPutRequestCoreInterfacesValueInterfaceGwGw
@@ -36,6 +36,7 @@ class V1DevicesDeviceIdConfigPutRequestEdgeInterfacesValueInterface(BaseModel):
36
36
  alias: Optional[StrictStr] = None
37
37
  circuit: Optional[StrictStr] = None
38
38
  description: Optional[StrictStr] = None
39
+ duplex: Optional[StrictStr] = None
39
40
  ipsec: Optional[V1DevicesDeviceIdConfigPutRequestCoreInterfacesValueInterfaceIpsec] = None
40
41
  ipv4: Optional[V1DevicesDeviceIdConfigPutRequestCoreInterfacesValueInterfaceGwGw] = None
41
42
  ipv6: Optional[V1DevicesDeviceIdConfigPutRequestCoreInterfacesValueInterfaceGwGw] = None
@@ -44,13 +45,14 @@ class V1DevicesDeviceIdConfigPutRequestEdgeInterfacesValueInterface(BaseModel):
44
45
  loopback: Optional[StrictBool] = None
45
46
  max_transmission_unit: Optional[Annotated[int, Field(strict=True, ge=0)]] = Field(default=None, alias="maxTransmissionUnit")
46
47
  security_zone: Optional[StrictStr] = Field(default=None, alias="securityZone")
48
+ speed: Optional[StrictInt] = None
47
49
  subinterfaces: Optional[Dict[str, V1DevicesDeviceIdConfigPutRequestEdgeInterfacesValueInterfaceSubinterfacesValue]] = None
48
50
  tcp_mss: Optional[Annotated[int, Field(strict=True, ge=0)]] = Field(default=None, alias="tcpMss")
49
51
  tcp_mss_v4: Optional[Annotated[int, Field(strict=True, ge=0)]] = Field(default=None, alias="tcpMssV4")
50
52
  tcp_mss_v6: Optional[Annotated[int, Field(strict=True, ge=0)]] = Field(default=None, alias="tcpMssV6")
51
53
  v4_tcp_mss: Optional[V1DevicesDeviceIdConfigPutRequestEdgeInterfacesValueInterfaceSubinterfacesValueInterfaceV4TcpMss] = Field(default=None, alias="v4TcpMss")
52
54
  v6_tcp_mss: Optional[V1DevicesDeviceIdConfigPutRequestEdgeInterfacesValueInterfaceSubinterfacesValueInterfaceV6TcpMss] = Field(default=None, alias="v6TcpMss")
53
- __properties: ClassVar[List[str]] = ["adminStatus", "alias", "circuit", "description", "ipsec", "ipv4", "ipv6", "lan", "lldpEnabled", "loopback", "maxTransmissionUnit", "securityZone", "subinterfaces", "tcpMss", "tcpMssV4", "tcpMssV6", "v4TcpMss", "v6TcpMss"]
55
+ __properties: ClassVar[List[str]] = ["adminStatus", "alias", "circuit", "description", "duplex", "ipsec", "ipv4", "ipv6", "lan", "lldpEnabled", "loopback", "maxTransmissionUnit", "securityZone", "speed", "subinterfaces", "tcpMss", "tcpMssV4", "tcpMssV6", "v4TcpMss", "v6TcpMss"]
54
56
 
55
57
  model_config = ConfigDict(
56
58
  populate_by_name=True,
@@ -129,6 +131,7 @@ class V1DevicesDeviceIdConfigPutRequestEdgeInterfacesValueInterface(BaseModel):
129
131
  "alias": obj.get("alias"),
130
132
  "circuit": obj.get("circuit"),
131
133
  "description": obj.get("description"),
134
+ "duplex": obj.get("duplex"),
132
135
  "ipsec": V1DevicesDeviceIdConfigPutRequestCoreInterfacesValueInterfaceIpsec.from_dict(obj["ipsec"]) if obj.get("ipsec") is not None else None,
133
136
  "ipv4": V1DevicesDeviceIdConfigPutRequestCoreInterfacesValueInterfaceGwGw.from_dict(obj["ipv4"]) if obj.get("ipv4") is not None else None,
134
137
  "ipv6": V1DevicesDeviceIdConfigPutRequestCoreInterfacesValueInterfaceGwGw.from_dict(obj["ipv6"]) if obj.get("ipv6") is not None else None,
@@ -137,6 +140,7 @@ class V1DevicesDeviceIdConfigPutRequestEdgeInterfacesValueInterface(BaseModel):
137
140
  "loopback": obj.get("loopback"),
138
141
  "maxTransmissionUnit": obj.get("maxTransmissionUnit"),
139
142
  "securityZone": obj.get("securityZone"),
143
+ "speed": obj.get("speed"),
140
144
  "subinterfaces": dict(
141
145
  (_k, V1DevicesDeviceIdConfigPutRequestEdgeInterfacesValueInterfaceSubinterfacesValue.from_dict(_v))
142
146
  for _k, _v in obj["subinterfaces"].items()
@@ -19,7 +19,7 @@ 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.v1_edges_hardware_assigned_get200_response_edges_summary_inner_upgrade_summary_running_version import V1EdgesHardwareAssignedGet200ResponseEdgesSummaryInnerUpgradeSummaryRunningVersion
22
+ from graphiant_sdk.models.v1_edges_hardware_assigned_get200_response_edges_summary_inner_upgrade_summary_last_running_version import V1EdgesHardwareAssignedGet200ResponseEdgesSummaryInnerUpgradeSummaryLastRunningVersion
23
23
  from typing import Optional, Set
24
24
  from typing_extensions import Self
25
25
 
@@ -28,7 +28,7 @@ class V1DevicesRunningVersionPost200ResponseVersionsInner(BaseModel):
28
28
  V1DevicesRunningVersionPost200ResponseVersionsInner
29
29
  """ # noqa: E501
30
30
  device_id: Optional[StrictInt] = Field(default=None, alias="deviceId")
31
- version: Optional[V1EdgesHardwareAssignedGet200ResponseEdgesSummaryInnerUpgradeSummaryRunningVersion] = None
31
+ version: Optional[V1EdgesHardwareAssignedGet200ResponseEdgesSummaryInnerUpgradeSummaryLastRunningVersion] = None
32
32
  __properties: ClassVar[List[str]] = ["deviceId", "version"]
33
33
 
34
34
  model_config = ConfigDict(
@@ -86,7 +86,7 @@ class V1DevicesRunningVersionPost200ResponseVersionsInner(BaseModel):
86
86
 
87
87
  _obj = cls.model_validate({
88
88
  "deviceId": obj.get("deviceId"),
89
- "version": V1EdgesHardwareAssignedGet200ResponseEdgesSummaryInnerUpgradeSummaryRunningVersion.from_dict(obj["version"]) if obj.get("version") is not None else None
89
+ "version": V1EdgesHardwareAssignedGet200ResponseEdgesSummaryInnerUpgradeSummaryLastRunningVersion.from_dict(obj["version"]) if obj.get("version") is not None else None
90
90
  })
91
91
  return _obj
92
92
 
@@ -20,7 +20,8 @@ import json
20
20
  from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr
21
21
  from typing import Any, ClassVar, Dict, List, Optional
22
22
  from graphiant_sdk.models.v1_alarm_history_get200_response_history_inner_time import V1AlarmHistoryGet200ResponseHistoryInnerTime
23
- from graphiant_sdk.models.v1_edges_hardware_assigned_get200_response_edges_summary_inner_upgrade_summary_running_version import V1EdgesHardwareAssignedGet200ResponseEdgesSummaryInnerUpgradeSummaryRunningVersion
23
+ from graphiant_sdk.models.v1_devices_running_version_post200_response_versions_inner import V1DevicesRunningVersionPost200ResponseVersionsInner
24
+ from graphiant_sdk.models.v1_edges_hardware_assigned_get200_response_edges_summary_inner_upgrade_summary_last_running_version import V1EdgesHardwareAssignedGet200ResponseEdgesSummaryInnerUpgradeSummaryLastRunningVersion
24
25
  from typing import Optional, Set
25
26
  from typing_extensions import Self
26
27
 
@@ -30,9 +31,10 @@ class V1DevicesUpgradeSchedulePutRequest(BaseModel):
30
31
  """ # noqa: E501
31
32
  action: Optional[StrictStr] = None
32
33
  device_ids: Optional[List[StrictInt]] = Field(default=None, alias="deviceIds")
34
+ device_versions: Optional[List[V1DevicesRunningVersionPost200ResponseVersionsInner]] = Field(default=None, alias="deviceVersions")
33
35
  ts: Optional[V1AlarmHistoryGet200ResponseHistoryInnerTime] = None
34
- version: Optional[V1EdgesHardwareAssignedGet200ResponseEdgesSummaryInnerUpgradeSummaryRunningVersion] = None
35
- __properties: ClassVar[List[str]] = ["action", "deviceIds", "ts", "version"]
36
+ version: Optional[V1EdgesHardwareAssignedGet200ResponseEdgesSummaryInnerUpgradeSummaryLastRunningVersion] = None
37
+ __properties: ClassVar[List[str]] = ["action", "deviceIds", "deviceVersions", "ts", "version"]
36
38
 
37
39
  model_config = ConfigDict(
38
40
  populate_by_name=True,
@@ -73,6 +75,13 @@ class V1DevicesUpgradeSchedulePutRequest(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 each item in device_versions (list)
79
+ _items = []
80
+ if self.device_versions:
81
+ for _item_device_versions in self.device_versions:
82
+ if _item_device_versions:
83
+ _items.append(_item_device_versions.to_dict())
84
+ _dict['deviceVersions'] = _items
76
85
  # override the default output from pydantic by calling `to_dict()` of ts
77
86
  if self.ts:
78
87
  _dict['ts'] = self.ts.to_dict()
@@ -93,8 +102,9 @@ class V1DevicesUpgradeSchedulePutRequest(BaseModel):
93
102
  _obj = cls.model_validate({
94
103
  "action": obj.get("action"),
95
104
  "deviceIds": obj.get("deviceIds"),
105
+ "deviceVersions": [V1DevicesRunningVersionPost200ResponseVersionsInner.from_dict(_item) for _item in obj["deviceVersions"]] if obj.get("deviceVersions") is not None else None,
96
106
  "ts": V1AlarmHistoryGet200ResponseHistoryInnerTime.from_dict(obj["ts"]) if obj.get("ts") is not None else None,
97
- "version": V1EdgesHardwareAssignedGet200ResponseEdgesSummaryInnerUpgradeSummaryRunningVersion.from_dict(obj["version"]) if obj.get("version") is not None else None
107
+ "version": V1EdgesHardwareAssignedGet200ResponseEdgesSummaryInnerUpgradeSummaryLastRunningVersion.from_dict(obj["version"]) if obj.get("version") is not None else None
98
108
  })
99
109
  return _obj
100
110
 
@@ -17,10 +17,10 @@ import pprint
17
17
  import re # noqa: F401
18
18
  import json
19
19
 
20
- from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr
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.v1_alarm_history_get200_response_history_inner_time import V1AlarmHistoryGet200ResponseHistoryInnerTime
23
- from graphiant_sdk.models.v1_edges_hardware_assigned_get200_response_edges_summary_inner_upgrade_summary_running_version import V1EdgesHardwareAssignedGet200ResponseEdgesSummaryInnerUpgradeSummaryRunningVersion
23
+ from graphiant_sdk.models.v1_edges_hardware_assigned_get200_response_edges_summary_inner_upgrade_summary_last_running_version import V1EdgesHardwareAssignedGet200ResponseEdgesSummaryInnerUpgradeSummaryLastRunningVersion
24
24
  from graphiant_sdk.models.v1_edges_hardware_assigned_get200_response_edges_summary_inner_upgrade_summary_schedule import V1EdgesHardwareAssignedGet200ResponseEdgesSummaryInnerUpgradeSummarySchedule
25
25
  from typing import Optional, Set
26
26
  from typing_extensions import Self
@@ -30,12 +30,15 @@ class V1EdgesHardwareAssignedGet200ResponseEdgesSummaryInnerUpgradeSummary(BaseM
30
30
  V1EdgesHardwareAssignedGet200ResponseEdgesSummaryInnerUpgradeSummary
31
31
  """ # noqa: E501
32
32
  device_id: Optional[StrictInt] = Field(default=None, alias="deviceId")
33
+ end_of_life: Optional[StrictBool] = Field(default=None, alias="endOfLife")
33
34
  last_discovered_ts: Optional[V1AlarmHistoryGet200ResponseHistoryInnerTime] = Field(default=None, alias="lastDiscoveredTs")
35
+ last_running_version: Optional[V1EdgesHardwareAssignedGet200ResponseEdgesSummaryInnerUpgradeSummaryLastRunningVersion] = Field(default=None, alias="lastRunningVersion")
34
36
  last_upgrade_ts: Optional[V1AlarmHistoryGet200ResponseHistoryInnerTime] = Field(default=None, alias="lastUpgradeTs")
35
- running_version: Optional[V1EdgesHardwareAssignedGet200ResponseEdgesSummaryInnerUpgradeSummaryRunningVersion] = Field(default=None, alias="runningVersion")
37
+ ready_for_activation_version: Optional[V1EdgesHardwareAssignedGet200ResponseEdgesSummaryInnerUpgradeSummaryLastRunningVersion] = Field(default=None, alias="readyForActivationVersion")
38
+ running_version: Optional[V1EdgesHardwareAssignedGet200ResponseEdgesSummaryInnerUpgradeSummaryLastRunningVersion] = Field(default=None, alias="runningVersion")
36
39
  schedule: Optional[V1EdgesHardwareAssignedGet200ResponseEdgesSummaryInnerUpgradeSummarySchedule] = None
37
40
  status: Optional[StrictStr] = None
38
- __properties: ClassVar[List[str]] = ["deviceId", "lastDiscoveredTs", "lastUpgradeTs", "runningVersion", "schedule", "status"]
41
+ __properties: ClassVar[List[str]] = ["deviceId", "endOfLife", "lastDiscoveredTs", "lastRunningVersion", "lastUpgradeTs", "readyForActivationVersion", "runningVersion", "schedule", "status"]
39
42
 
40
43
  model_config = ConfigDict(
41
44
  populate_by_name=True,
@@ -79,9 +82,15 @@ class V1EdgesHardwareAssignedGet200ResponseEdgesSummaryInnerUpgradeSummary(BaseM
79
82
  # override the default output from pydantic by calling `to_dict()` of last_discovered_ts
80
83
  if self.last_discovered_ts:
81
84
  _dict['lastDiscoveredTs'] = self.last_discovered_ts.to_dict()
85
+ # override the default output from pydantic by calling `to_dict()` of last_running_version
86
+ if self.last_running_version:
87
+ _dict['lastRunningVersion'] = self.last_running_version.to_dict()
82
88
  # override the default output from pydantic by calling `to_dict()` of last_upgrade_ts
83
89
  if self.last_upgrade_ts:
84
90
  _dict['lastUpgradeTs'] = self.last_upgrade_ts.to_dict()
91
+ # override the default output from pydantic by calling `to_dict()` of ready_for_activation_version
92
+ if self.ready_for_activation_version:
93
+ _dict['readyForActivationVersion'] = self.ready_for_activation_version.to_dict()
85
94
  # override the default output from pydantic by calling `to_dict()` of running_version
86
95
  if self.running_version:
87
96
  _dict['runningVersion'] = self.running_version.to_dict()
@@ -101,9 +110,12 @@ class V1EdgesHardwareAssignedGet200ResponseEdgesSummaryInnerUpgradeSummary(BaseM
101
110
 
102
111
  _obj = cls.model_validate({
103
112
  "deviceId": obj.get("deviceId"),
113
+ "endOfLife": obj.get("endOfLife"),
104
114
  "lastDiscoveredTs": V1AlarmHistoryGet200ResponseHistoryInnerTime.from_dict(obj["lastDiscoveredTs"]) if obj.get("lastDiscoveredTs") is not None else None,
115
+ "lastRunningVersion": V1EdgesHardwareAssignedGet200ResponseEdgesSummaryInnerUpgradeSummaryLastRunningVersion.from_dict(obj["lastRunningVersion"]) if obj.get("lastRunningVersion") is not None else None,
105
116
  "lastUpgradeTs": V1AlarmHistoryGet200ResponseHistoryInnerTime.from_dict(obj["lastUpgradeTs"]) if obj.get("lastUpgradeTs") is not None else None,
106
- "runningVersion": V1EdgesHardwareAssignedGet200ResponseEdgesSummaryInnerUpgradeSummaryRunningVersion.from_dict(obj["runningVersion"]) if obj.get("runningVersion") is not None else None,
117
+ "readyForActivationVersion": V1EdgesHardwareAssignedGet200ResponseEdgesSummaryInnerUpgradeSummaryLastRunningVersion.from_dict(obj["readyForActivationVersion"]) if obj.get("readyForActivationVersion") is not None else None,
118
+ "runningVersion": V1EdgesHardwareAssignedGet200ResponseEdgesSummaryInnerUpgradeSummaryLastRunningVersion.from_dict(obj["runningVersion"]) if obj.get("runningVersion") is not None else None,
107
119
  "schedule": V1EdgesHardwareAssignedGet200ResponseEdgesSummaryInnerUpgradeSummarySchedule.from_dict(obj["schedule"]) if obj.get("schedule") is not None else None,
108
120
  "status": obj.get("status")
109
121
  })