graphiant-sdk 25.9.1__py3-none-any.whl → 25.10.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 (186) hide show
  1. graphiant_sdk/__init__.py +271 -76
  2. graphiant_sdk/api/default_api.py +25113 -10436
  3. graphiant_sdk/api_client.py +1 -1
  4. graphiant_sdk/configuration.py +1 -1
  5. graphiant_sdk/models/__init__.py +180 -50
  6. graphiant_sdk/models/v1_auth_login_temp_post200_response.py +91 -0
  7. graphiant_sdk/models/v1_auth_login_temp_post_request.py +89 -0
  8. graphiant_sdk/models/v1_b2b_extranet_monitoring_filter_post200_response.py +91 -0
  9. graphiant_sdk/models/v1_b2b_extranet_monitoring_filter_post200_response_filters.py +104 -0
  10. graphiant_sdk/models/{v1_edges_hardware_assigned_get200_response_edges_summary_inner_upgrade_summary_running_version.py → v1_b2b_extranet_monitoring_filter_post200_response_filters_customers_inner.py} +12 -10
  11. graphiant_sdk/models/v1_b2b_extranet_monitoring_filter_post_request.py +91 -0
  12. graphiant_sdk/models/v1_backbone_health_device_device_id_post200_response.py +3 -3
  13. graphiant_sdk/models/v1_bwtracker_enterprise_details_post200_response_bwusage_details.py +11 -2
  14. graphiant_sdk/models/v1_devices_device_id_config_put_request_core_core_vrf_bgp_neighbors_value_neighbor.py +6 -6
  15. graphiant_sdk/models/v1_devices_device_id_config_put_request_edge_interfaces_value_interface.py +6 -2
  16. graphiant_sdk/models/v1_devices_device_id_config_put_request_edge_site_to_site_vpn_value_site_to_site_vpn.py +3 -3
  17. graphiant_sdk/models/v1_devices_running_version_post200_response_versions_inner.py +3 -3
  18. graphiant_sdk/models/v1_devices_upgrade_schedule_put_request.py +14 -4
  19. graphiant_sdk/models/{v1_devices_device_id_staged_config_compare_get200_response.py → v1_diagnostic_reboot_device_id_put_request.py} +8 -8
  20. graphiant_sdk/models/v1_edges_hardware_assigned_get200_response_edges_summary_inner_upgrade_summary.py +17 -5
  21. graphiant_sdk/models/v1_edges_hardware_assigned_get200_response_edges_summary_inner_upgrade_summary_schedule.py +3 -3
  22. graphiant_sdk/models/v1_enterprise_allocation_get200_response_consumption_summary_global_summary.py +5 -1
  23. graphiant_sdk/models/v1_enterprises_get200_response_enterprises_inner.py +3 -1
  24. graphiant_sdk/models/v1_enterprises_patch_request.py +3 -1
  25. graphiant_sdk/models/{v1_extranet_sites_usage_post200_response.py → v1_extranet_b2b_monitoring_peering_service_bandwidth_usage_post200_response.py} +9 -9
  26. 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
  27. graphiant_sdk/models/{v1_extranet_sites_usage_post_request.py → v1_extranet_b2b_monitoring_peering_service_bandwidth_usage_post_request.py} +4 -4
  28. 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
  29. 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
  30. 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
  31. graphiant_sdk/models/v1_extranet_b2b_monitoring_peering_service_consumption_overview_post200_response.py +115 -0
  32. 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
  33. graphiant_sdk/models/v1_extranet_b2b_monitoring_peering_service_consumption_overview_post_request.py +105 -0
  34. graphiant_sdk/models/v1_extranet_b2b_monitoring_peering_service_service_customer_list_post200_response.py +87 -0
  35. graphiant_sdk/models/{v2_extranet_consumers_usage_top_post_request.py → v1_extranet_b2b_monitoring_peering_service_service_customer_list_post_request.py} +7 -7
  36. graphiant_sdk/models/v1_extranet_b2b_monitoring_peering_service_service_health_post200_response.py +95 -0
  37. graphiant_sdk/models/v1_extranet_b2b_monitoring_peering_service_service_health_post200_response_service_health_inner.py +100 -0
  38. graphiant_sdk/models/v1_extranet_b2b_monitoring_peering_service_service_health_post200_response_service_health_inner_customer_prefix_health.py +89 -0
  39. 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
  40. 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
  41. graphiant_sdk/models/v1_extranets_b2b_general_customers_summary_get200_response.py +95 -0
  42. graphiant_sdk/models/v1_extranets_b2b_general_customers_summary_get200_response_customers_inner.py +104 -0
  43. graphiant_sdk/models/{v1_healthcheck_devices_get200_response.py → v1_extranets_b2b_peering_consumer_customer_id_match_details_get200_response.py} +8 -8
  44. graphiant_sdk/models/v1_extranets_b2b_peering_consumer_customer_id_match_details_get200_response_details_inner.py +109 -0
  45. graphiant_sdk/models/v1_extranets_b2b_peering_consumer_customer_id_match_details_get200_response_details_inner_customer.py +94 -0
  46. graphiant_sdk/models/v1_extranets_b2b_peering_consumer_customer_id_match_details_get200_response_details_inner_service.py +93 -0
  47. graphiant_sdk/models/v1_extranets_b2b_peering_consumer_id_post200_response.py +109 -0
  48. graphiant_sdk/models/v1_extranets_b2b_peering_consumer_id_post_request.py +123 -0
  49. graphiant_sdk/models/v1_extranets_b2b_peering_consumer_id_post_request_policy_inner.py +89 -0
  50. graphiant_sdk/models/v1_extranets_b2b_peering_consumer_id_post_request_site_to_site_vpn.py +95 -0
  51. graphiant_sdk/models/v1_extranets_b2b_peering_consumer_id_post_request_site_to_site_vpn_ipsec_gateway_details.py +117 -0
  52. graphiant_sdk/models/v1_extranets_b2b_peering_consumer_id_post_request_site_to_site_vpn_ipsec_gateway_details_routing.py +97 -0
  53. graphiant_sdk/models/v1_extranets_b2b_peering_consumer_id_post_request_site_to_site_vpn_ipsec_gateway_details_routing_bgp.py +115 -0
  54. graphiant_sdk/models/v1_extranets_b2b_peering_consumer_id_post_request_site_to_site_vpn_ipsec_gateway_details_routing_bgp_address_families_value.py +91 -0
  55. graphiant_sdk/models/v1_extranets_b2b_peering_consumer_id_post_request_site_to_site_vpn_ipsec_gateway_details_routing_bgp_address_families_value_family.py +98 -0
  56. graphiant_sdk/models/v1_extranets_b2b_peering_consumer_id_post_request_site_to_site_vpn_ipsec_gateway_details_routing_bgp_md5_password.py +87 -0
  57. graphiant_sdk/models/v1_extranets_b2b_peering_consumer_id_post_request_site_to_site_vpn_ipsec_gateway_details_routing_static.py +87 -0
  58. graphiant_sdk/models/v1_extranets_b2b_peering_consumer_id_post_request_site_to_site_vpn_ipsec_gateway_details_tunnel1.py +93 -0
  59. graphiant_sdk/models/{v1_healthcheck_devices_get200_response_details_inner_onboarding_status.py → v1_extranets_b2b_peering_customer_id_get200_response.py} +17 -10
  60. graphiant_sdk/models/v1_extranets_b2b_peering_customer_id_put_request.py +87 -0
  61. graphiant_sdk/models/v1_extranets_b2b_peering_customer_post200_response.py +93 -0
  62. graphiant_sdk/models/v1_extranets_b2b_peering_customer_post_request.py +95 -0
  63. graphiant_sdk/models/{v1_global_site_lists_id_sites_get200_response_entries_inner_tag_inner.py → v1_extranets_b2b_peering_customer_post_request_invite.py} +11 -12
  64. graphiant_sdk/models/v1_extranets_b2b_peering_match_customers_post200_response.py +95 -0
  65. graphiant_sdk/models/{v2_extranet_consumers_usage_top_post200_response.py → v1_extranets_b2b_peering_match_customers_post_request.py} +17 -15
  66. graphiant_sdk/models/v1_extranets_b2b_peering_match_customers_post_request_info_inner.py +104 -0
  67. graphiant_sdk/models/v1_extranets_b2b_peering_match_service_to_customer_post200_response.py +95 -0
  68. graphiant_sdk/models/v1_extranets_b2b_peering_match_service_to_customer_put200_response.py +91 -0
  69. graphiant_sdk/models/v1_extranets_b2b_peering_match_service_to_customer_put_request.py +93 -0
  70. graphiant_sdk/models/v1_extranets_b2b_peering_match_service_to_customer_put_request_service.py +112 -0
  71. graphiant_sdk/models/v1_extranets_b2b_peering_match_service_to_customer_put_request_service_nat_inner.py +89 -0
  72. graphiant_sdk/models/v1_extranets_b2b_peering_match_service_to_customer_put_request_service_service_prefixes_inner.py +89 -0
  73. graphiant_sdk/models/v1_extranets_b2b_peering_match_services_summary_get200_response.py +95 -0
  74. graphiant_sdk/models/v1_extranets_b2b_peering_match_services_summary_get200_response_services_inner.py +104 -0
  75. graphiant_sdk/models/v1_extranets_b2b_peering_producer_id_get200_response.py +95 -0
  76. graphiant_sdk/models/v1_extranets_b2b_peering_producer_id_put_request.py +91 -0
  77. graphiant_sdk/models/v1_extranets_b2b_peering_producer_post200_response.py +93 -0
  78. graphiant_sdk/models/v1_extranets_b2b_peering_producer_post200_response_policy.py +93 -0
  79. graphiant_sdk/models/v1_extranets_b2b_peering_producer_post_request.py +95 -0
  80. graphiant_sdk/models/v1_extranets_b2b_peering_producer_post_request_policy.py +111 -0
  81. graphiant_sdk/models/v1_extranets_b2b_post_request_policy.py +19 -2
  82. graphiant_sdk/models/v1_extranets_b2b_producers_summary_get200_response_info_inner.py +16 -3
  83. graphiant_sdk/models/v1_extranets_get200_response_policies_inner_branches_excluded_devices_inner_ipsec_tunnels_inner.py +3 -3
  84. graphiant_sdk/models/{v1_bwtracker_region_site_summary_post200_response.py → v1_gateways_guest_consumer_get200_response.py} +11 -11
  85. graphiant_sdk/models/v1_gateways_put_request_details.py +3 -3
  86. graphiant_sdk/models/v1_global_site_lists_id_sites_get200_response_entries_inner.py +3 -3
  87. graphiant_sdk/models/v1_groups_get200_response_groups_inner_permissions.py +3 -1
  88. graphiant_sdk/models/v1_groups_id_members_get200_response_users_inner.py +7 -1
  89. graphiant_sdk/models/v1_groups_id_members_post_request.py +5 -3
  90. graphiant_sdk/models/{v1_healthcheck_devices_get200_response_details_inner_odp_status.py → v1_invitation_email_post_request.py} +17 -11
  91. graphiant_sdk/models/v1_software_auto_upgrade_default_get200_response.py +7 -7
  92. graphiant_sdk/models/v1_software_releases_summary_get200_response_summaries_inner.py +6 -1
  93. graphiant_sdk/models/v1_temp_password_put_request.py +91 -0
  94. graphiant_sdk/models/v1_troubleshooting_device_device_id_post200_response.py +3 -3
  95. graphiant_sdk/models/{v2_assistant_conversation_context_history_post_request.py → v2_aggregated_notification_enable_disable_post_request.py} +4 -4
  96. graphiant_sdk/models/v2_aggregated_notification_get_state_get200_response.py +87 -0
  97. graphiant_sdk/models/v2_assistant_add_to_conversation_post200_response.py +4 -2
  98. graphiant_sdk/models/v2_assistant_get_conversations_post200_response.py +5 -3
  99. graphiant_sdk/models/v2_assistant_get_conversations_post200_response_conversation_list_inner.py +5 -3
  100. graphiant_sdk/models/v2_assurance_applicationdetailsbyname_post200_response_app_id_record.py +13 -1
  101. 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
  102. graphiant_sdk/models/v2_assurance_applicationdetailsbyname_post200_response_app_name_record.py +11 -1
  103. graphiant_sdk/models/v2_assurance_bucket_app_servers_post_request.py +3 -1
  104. graphiant_sdk/models/v2_assurance_bucket_apps_post200_response_apps_inner.py +7 -1
  105. graphiant_sdk/models/v2_assurance_bucket_apps_post_request.py +3 -1
  106. graphiant_sdk/models/v2_assurance_bucket_services_post200_response.py +95 -0
  107. graphiant_sdk/models/{v2_assurance_bucket_topologies_post_request.py → v2_assurance_bucket_services_post_request.py} +4 -4
  108. graphiant_sdk/models/v2_extranet_lan_segments_usage_top_post200_response.py +3 -3
  109. graphiant_sdk/models/v2_extranet_sites_consumption_overview_post200_response.py +7 -7
  110. {graphiant_sdk-25.9.1.dist-info → graphiant_sdk-25.10.1.dist-info}/METADATA +3 -3
  111. {graphiant_sdk-25.9.1.dist-info → graphiant_sdk-25.10.1.dist-info}/RECORD +185 -65
  112. test/test_v1_auth_login_temp_post200_response.py +53 -0
  113. test/test_v1_auth_login_temp_post_request.py +52 -0
  114. test/test_v1_b2b_extranet_monitoring_filter_post200_response.py +65 -0
  115. test/test_v1_b2b_extranet_monitoring_filter_post200_response_filters.py +64 -0
  116. test/test_v1_b2b_extranet_monitoring_filter_post200_response_filters_customers_inner.py +54 -0
  117. test/test_v1_b2b_extranet_monitoring_filter_post_request.py +53 -0
  118. test/test_v1_diagnostic_reboot_device_id_put_request.py +51 -0
  119. test/test_v1_extranet_b2b_monitoring_peering_service_bandwidth_usage_post200_response.py +67 -0
  120. test/test_v1_extranet_b2b_monitoring_peering_service_bandwidth_usage_post200_response_dl_stats_inner.py +55 -0
  121. test/test_v1_extranet_b2b_monitoring_peering_service_bandwidth_usage_post_request.py +64 -0
  122. test/test_v1_extranet_b2b_monitoring_peering_service_consumers_usage_top_post200_response.py +58 -0
  123. test/test_v1_extranet_b2b_monitoring_peering_service_consumers_usage_top_post200_response_top_consumers_inner.py +53 -0
  124. test/test_v1_extranet_b2b_monitoring_peering_service_consumers_usage_top_post_request.py +61 -0
  125. test/test_v1_extranet_b2b_monitoring_peering_service_consumption_overview_post200_response.py +81 -0
  126. test/test_v1_extranet_b2b_monitoring_peering_service_consumption_overview_post200_response_first_level_inner.py +57 -0
  127. test/test_v1_extranet_b2b_monitoring_peering_service_consumption_overview_post_request.py +65 -0
  128. test/test_v1_extranet_b2b_monitoring_peering_service_service_customer_list_post200_response.py +53 -0
  129. test/test_v1_extranet_b2b_monitoring_peering_service_service_customer_list_post_request.py +60 -0
  130. test/test_v1_extranet_b2b_monitoring_peering_service_service_health_post200_response.py +62 -0
  131. test/test_v1_extranet_b2b_monitoring_peering_service_service_health_post200_response_service_health_inner.py +62 -0
  132. test/test_v1_extranet_b2b_monitoring_peering_service_service_health_post200_response_service_health_inner_customer_prefix_health.py +54 -0
  133. test/test_v1_extranet_b2b_monitoring_peering_service_service_overtime_consumption_post200_response.py +66 -0
  134. test/test_v1_extranet_b2b_monitoring_peering_service_service_overtime_consumption_post_request.py +63 -0
  135. test/test_v1_extranets_b2b_general_customers_summary_get200_response.py +64 -0
  136. test/test_v1_extranets_b2b_general_customers_summary_get200_response_customers_inner.py +61 -0
  137. test/test_v1_extranets_b2b_peering_consumer_customer_id_match_details_get200_response.py +75 -0
  138. test/test_v1_extranets_b2b_peering_consumer_customer_id_match_details_get200_response_details_inner.py +72 -0
  139. test/test_v1_extranets_b2b_peering_consumer_customer_id_match_details_get200_response_details_inner_customer.py +56 -0
  140. test/test_v1_extranets_b2b_peering_consumer_customer_id_match_details_get200_response_details_inner_service.py +56 -0
  141. test/test_v1_extranets_b2b_peering_consumer_id_post200_response.py +74 -0
  142. test/test_v1_extranets_b2b_peering_consumer_id_post_request.py +123 -0
  143. test/test_v1_extranets_b2b_peering_consumer_id_post_request_policy_inner.py +54 -0
  144. test/test_v1_extranets_b2b_peering_consumer_id_post_request_site_to_site_vpn.py +92 -0
  145. test/test_v1_extranets_b2b_peering_consumer_id_post_request_site_to_site_vpn_ipsec_gateway_details.py +87 -0
  146. test/test_v1_extranets_b2b_peering_consumer_id_post_request_site_to_site_vpn_ipsec_gateway_details_routing.py +69 -0
  147. test/test_v1_extranets_b2b_peering_consumer_id_post_request_site_to_site_vpn_ipsec_gateway_details_routing_bgp.py +64 -0
  148. test/test_v1_extranets_b2b_peering_consumer_id_post_request_site_to_site_vpn_ipsec_gateway_details_routing_bgp_address_families_value.py +56 -0
  149. test/test_v1_extranets_b2b_peering_consumer_id_post_request_site_to_site_vpn_ipsec_gateway_details_routing_bgp_address_families_value_family.py +55 -0
  150. test/test_v1_extranets_b2b_peering_consumer_id_post_request_site_to_site_vpn_ipsec_gateway_details_routing_bgp_md5_password.py +51 -0
  151. test/test_v1_extranets_b2b_peering_consumer_id_post_request_site_to_site_vpn_ipsec_gateway_details_routing_static.py +53 -0
  152. test/test_v1_extranets_b2b_peering_consumer_id_post_request_site_to_site_vpn_ipsec_gateway_details_tunnel1.py +54 -0
  153. test/test_v1_extranets_b2b_peering_customer_id_get200_response.py +57 -0
  154. test/test_v1_extranets_b2b_peering_customer_id_put_request.py +51 -0
  155. test/test_v1_extranets_b2b_peering_customer_post200_response.py +56 -0
  156. test/test_v1_extranets_b2b_peering_customer_post_request.py +57 -0
  157. test/test_v1_extranets_b2b_peering_customer_post_request_invite.py +54 -0
  158. test/test_v1_extranets_b2b_peering_match_customers_post200_response.py +64 -0
  159. test/test_v1_extranets_b2b_peering_match_customers_post_request.py +65 -0
  160. test/test_v1_extranets_b2b_peering_match_customers_post_request_info_inner.py +61 -0
  161. test/test_v1_extranets_b2b_peering_match_service_to_customer_post200_response.py +66 -0
  162. test/test_v1_extranets_b2b_peering_match_service_to_customer_put200_response.py +64 -0
  163. test/test_v1_extranets_b2b_peering_match_service_to_customer_put_request.py +65 -0
  164. test/test_v1_extranets_b2b_peering_match_service_to_customer_put_request_service.py +63 -0
  165. test/test_v1_extranets_b2b_peering_match_service_to_customer_put_request_service_nat_inner.py +52 -0
  166. test/test_v1_extranets_b2b_peering_match_service_to_customer_put_request_service_service_prefixes_inner.py +52 -0
  167. test/test_v1_extranets_b2b_peering_match_services_summary_get200_response.py +62 -0
  168. test/test_v1_extranets_b2b_peering_match_services_summary_get200_response_services_inner.py +59 -0
  169. test/test_v1_extranets_b2b_peering_producer_id_get200_response.py +80 -0
  170. test/test_v1_extranets_b2b_peering_producer_id_put_request.py +76 -0
  171. test/test_v1_extranets_b2b_peering_producer_post200_response.py +79 -0
  172. test/test_v1_extranets_b2b_peering_producer_post200_response_policy.py +77 -0
  173. test/test_v1_extranets_b2b_peering_producer_post_request.py +78 -0
  174. test/test_v1_extranets_b2b_peering_producer_post_request_policy.py +75 -0
  175. test/test_v1_gateways_guest_consumer_get200_response.py +93 -0
  176. test/test_v1_invitation_email_post_request.py +55 -0
  177. test/test_v1_temp_password_put_request.py +55 -0
  178. test/test_v2_aggregated_notification_enable_disable_post_request.py +51 -0
  179. test/test_v2_aggregated_notification_get_state_get200_response.py +51 -0
  180. test/test_v2_assurance_applicationdetailsbyname_post200_response_app_id_record_exchange_service_inner.py +52 -0
  181. test/test_v2_assurance_bucket_services_post200_response.py +55 -0
  182. test/test_v2_assurance_bucket_services_post_request.py +51 -0
  183. graphiant_sdk/models/v1_healthcheck_devices_get200_response_details_inner.py +0 -124
  184. {graphiant_sdk-25.9.1.dist-info → graphiant_sdk-25.10.1.dist-info}/WHEEL +0 -0
  185. {graphiant_sdk-25.9.1.dist-info → graphiant_sdk-25.10.1.dist-info}/licenses/LICENSE +0 -0
  186. {graphiant_sdk-25.9.1.dist-info → graphiant_sdk-25.10.1.dist-info}/top_level.txt +0 -0
@@ -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()
@@ -20,7 +20,7 @@ import json
20
20
  from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr
21
21
  from typing import Any, ClassVar, Dict, List, Optional
22
22
  from typing_extensions import Annotated
23
- from graphiant_sdk.models.v1_gateways_put_request_details_ipsec_gateway_routing import V1GatewaysPutRequestDetailsIpsecGatewayRouting
23
+ from graphiant_sdk.models.v1_extranets_b2b_peering_consumer_id_post_request_site_to_site_vpn_ipsec_gateway_details_routing import V1ExtranetsB2bPeeringConsumerIdPostRequestSiteToSiteVpnIpsecGatewayDetailsRouting
24
24
  from typing import Optional, Set
25
25
  from typing_extensions import Self
26
26
 
@@ -42,7 +42,7 @@ class V1DevicesDeviceIdConfigPutRequestEdgeSiteToSiteVpnValueSiteToSiteVpn(BaseM
42
42
  remote_address_v4: Optional[StrictStr] = Field(default=None, alias="remoteAddressV4")
43
43
  remote_address_v6: Optional[StrictStr] = Field(default=None, alias="remoteAddressV6")
44
44
  remote_ike_peer_identity: Optional[StrictStr] = Field(default=None, alias="remoteIkePeerIdentity")
45
- routing: Optional[V1GatewaysPutRequestDetailsIpsecGatewayRouting] = None
45
+ routing: Optional[V1ExtranetsB2bPeeringConsumerIdPostRequestSiteToSiteVpnIpsecGatewayDetailsRouting] = None
46
46
  tcp_mss: Optional[Annotated[int, Field(strict=True, ge=0)]] = Field(default=None, alias="tcpMss")
47
47
  vpn_profile: Optional[StrictStr] = Field(default=None, alias="vpnProfile")
48
48
  __properties: ClassVar[List[str]] = ["destinationAddress", "ikeInitiator", "ipsecLabel", "lan", "localAddressV4", "localAddressV6", "localCircuit", "localIkePeerIdentity", "mtu", "name", "presharedKey", "remoteAddressV4", "remoteAddressV6", "remoteIkePeerIdentity", "routing", "tcpMss", "vpnProfile"]
@@ -115,7 +115,7 @@ class V1DevicesDeviceIdConfigPutRequestEdgeSiteToSiteVpnValueSiteToSiteVpn(BaseM
115
115
  "remoteAddressV4": obj.get("remoteAddressV4"),
116
116
  "remoteAddressV6": obj.get("remoteAddressV6"),
117
117
  "remoteIkePeerIdentity": obj.get("remoteIkePeerIdentity"),
118
- "routing": V1GatewaysPutRequestDetailsIpsecGatewayRouting.from_dict(obj["routing"]) if obj.get("routing") is not None else None,
118
+ "routing": V1ExtranetsB2bPeeringConsumerIdPostRequestSiteToSiteVpnIpsecGatewayDetailsRouting.from_dict(obj["routing"]) if obj.get("routing") is not None else None,
119
119
  "tcpMss": obj.get("tcpMss"),
120
120
  "vpnProfile": obj.get("vpnProfile")
121
121
  })
@@ -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
 
@@ -3,7 +3,7 @@
3
3
  """
4
4
  Graphiant APIs
5
5
 
6
- **To use the APIs:** 1) Login using `/api/v1/auth/login` 2) Copy the value of \"token\" in the response 3) Click the \"Authorize\" button 4) In the \"Value\" text field enter: `Bearer <your token>` 5) Click \"Authorize\" 6) All requests are now authorized. **Token valid for 2 hours. If expired:** - Login again, click \"Authorize\", paste new token.
6
+ Graphiant API documentation.
7
7
 
8
8
  The version of the OpenAPI document: 1.0.0
9
9
  Generated by OpenAPI Generator (https://openapi-generator.tech)
@@ -22,12 +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 V1DevicesDeviceIdStagedConfigCompareGet200Response(BaseModel):
25
+ class V1DiagnosticRebootDeviceIdPutRequest(BaseModel):
26
26
  """
27
- V1DevicesDeviceIdStagedConfigCompareGet200Response
27
+ V1DiagnosticRebootDeviceIdPutRequest
28
28
  """ # noqa: E501
29
- diff: Optional[StrictStr] = None
30
- __properties: ClassVar[List[str]] = ["diff"]
29
+ reason: Optional[StrictStr] = None
30
+ __properties: ClassVar[List[str]] = ["reason"]
31
31
 
32
32
  model_config = ConfigDict(
33
33
  populate_by_name=True,
@@ -47,7 +47,7 @@ class V1DevicesDeviceIdStagedConfigCompareGet200Response(BaseModel):
47
47
 
48
48
  @classmethod
49
49
  def from_json(cls, json_str: str) -> Optional[Self]:
50
- """Create an instance of V1DevicesDeviceIdStagedConfigCompareGet200Response from a JSON string"""
50
+ """Create an instance of V1DiagnosticRebootDeviceIdPutRequest 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 V1DevicesDeviceIdStagedConfigCompareGet200Response(BaseModel):
72
72
 
73
73
  @classmethod
74
74
  def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
75
- """Create an instance of V1DevicesDeviceIdStagedConfigCompareGet200Response from a dict"""
75
+ """Create an instance of V1DiagnosticRebootDeviceIdPutRequest from a dict"""
76
76
  if obj is None:
77
77
  return None
78
78
 
@@ -80,7 +80,7 @@ class V1DevicesDeviceIdStagedConfigCompareGet200Response(BaseModel):
80
80
  return cls.model_validate(obj)
81
81
 
82
82
  _obj = cls.model_validate({
83
- "diff": obj.get("diff")
83
+ "reason": obj.get("reason")
84
84
  })
85
85
  return _obj
86
86
 
@@ -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
  })
@@ -21,7 +21,7 @@ from pydantic import BaseModel, ConfigDict, Field, 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_alarm_history_get200_response_history_inner_time import V1AlarmHistoryGet200ResponseHistoryInnerTime
24
- from graphiant_sdk.models.v1_edges_hardware_assigned_get200_response_edges_summary_inner_upgrade_summary_running_version import V1EdgesHardwareAssignedGet200ResponseEdgesSummaryInnerUpgradeSummaryRunningVersion
24
+ from graphiant_sdk.models.v1_edges_hardware_assigned_get200_response_edges_summary_inner_upgrade_summary_last_running_version import V1EdgesHardwareAssignedGet200ResponseEdgesSummaryInnerUpgradeSummaryLastRunningVersion
25
25
  from typing import Optional, Set
26
26
  from typing_extensions import Self
27
27
 
@@ -35,7 +35,7 @@ class V1EdgesHardwareAssignedGet200ResponseEdgesSummaryInnerUpgradeSummarySchedu
35
35
  failure_reason: Optional[StrictStr] = Field(default=None, alias="failureReason")
36
36
  state: Optional[StrictStr] = None
37
37
  ts: Optional[V1AlarmHistoryGet200ResponseHistoryInnerTime] = None
38
- version: Optional[V1EdgesHardwareAssignedGet200ResponseEdgesSummaryInnerUpgradeSummaryRunningVersion] = None
38
+ version: Optional[V1EdgesHardwareAssignedGet200ResponseEdgesSummaryInnerUpgradeSummaryLastRunningVersion] = None
39
39
  __properties: ClassVar[List[str]] = ["action", "deviceId", "downloadProgress", "failureReason", "state", "ts", "version"]
40
40
 
41
41
  model_config = ConfigDict(
@@ -101,7 +101,7 @@ class V1EdgesHardwareAssignedGet200ResponseEdgesSummaryInnerUpgradeSummarySchedu
101
101
  "failureReason": obj.get("failureReason"),
102
102
  "state": obj.get("state"),
103
103
  "ts": V1AlarmHistoryGet200ResponseHistoryInnerTime.from_dict(obj["ts"]) if obj.get("ts") is not None else None,
104
- "version": V1EdgesHardwareAssignedGet200ResponseEdgesSummaryInnerUpgradeSummaryRunningVersion.from_dict(obj["version"]) if obj.get("version") is not None else None
104
+ "version": V1EdgesHardwareAssignedGet200ResponseEdgesSummaryInnerUpgradeSummaryLastRunningVersion.from_dict(obj["version"]) if obj.get("version") is not None else None
105
105
  })
106
106
  return _obj
107
107
 
@@ -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
@@ -44,9 +44,10 @@ class V1EnterprisesGet200ResponseEnterprisesInner(BaseModel):
44
44
  parent_company_name: Optional[StrictStr] = Field(default=None, alias="parentCompanyName")
45
45
  parent_enterprise_id: Optional[StrictInt] = Field(default=None, alias="parentEnterpriseId")
46
46
  portal_banner: Optional[StrictStr] = Field(default=None, alias="portalBanner")
47
+ proxy_tenant_id: Optional[StrictInt] = Field(default=None, alias="proxyTenantId")
47
48
  small_logo: Optional[StrictStr] = Field(default=None, alias="smallLogo")
48
49
  token_expiry: Optional[StrictStr] = Field(default=None, alias="tokenExpiry")
49
- __properties: ClassVar[List[str]] = ["acceptEula", "accountType", "adminEmail", "cloudProvider", "companyName", "counts", "creditLimit", "customers", "enterpriseId", "eulaAgreementDate", "impersonationEnabled", "logo", "parentCompanyName", "parentEnterpriseId", "portalBanner", "smallLogo", "tokenExpiry"]
50
+ __properties: ClassVar[List[str]] = ["acceptEula", "accountType", "adminEmail", "cloudProvider", "companyName", "counts", "creditLimit", "customers", "enterpriseId", "eulaAgreementDate", "impersonationEnabled", "logo", "parentCompanyName", "parentEnterpriseId", "portalBanner", "proxyTenantId", "smallLogo", "tokenExpiry"]
50
51
 
51
52
  model_config = ConfigDict(
52
53
  populate_by_name=True,
@@ -132,6 +133,7 @@ class V1EnterprisesGet200ResponseEnterprisesInner(BaseModel):
132
133
  "parentCompanyName": obj.get("parentCompanyName"),
133
134
  "parentEnterpriseId": obj.get("parentEnterpriseId"),
134
135
  "portalBanner": obj.get("portalBanner"),
136
+ "proxyTenantId": obj.get("proxyTenantId"),
135
137
  "smallLogo": obj.get("smallLogo"),
136
138
  "tokenExpiry": obj.get("tokenExpiry")
137
139
  })
@@ -35,9 +35,10 @@ class V1EnterprisesPatchRequest(BaseModel):
35
35
  impersonation_enabled: Optional[StrictBool] = Field(default=None, alias="impersonationEnabled")
36
36
  logo: Optional[StrictStr] = None
37
37
  portal_banner: Optional[StrictStr] = Field(default=None, alias="portalBanner")
38
+ proxy_tenant_id: Optional[StrictInt] = Field(default=None, alias="proxyTenantId")
38
39
  small_logo: Optional[StrictStr] = Field(default=None, alias="smallLogo")
39
40
  token_expiry: Optional[V1EnterprisesPatchRequestTokenExpiry] = Field(default=None, alias="tokenExpiry")
40
- __properties: ClassVar[List[str]] = ["adminEmail", "cloudProvider", "companyName", "creditLimit", "enterpriseId", "impersonationEnabled", "logo", "portalBanner", "smallLogo", "tokenExpiry"]
41
+ __properties: ClassVar[List[str]] = ["adminEmail", "cloudProvider", "companyName", "creditLimit", "enterpriseId", "impersonationEnabled", "logo", "portalBanner", "proxyTenantId", "smallLogo", "tokenExpiry"]
41
42
 
42
43
  model_config = ConfigDict(
43
44
  populate_by_name=True,
@@ -101,6 +102,7 @@ class V1EnterprisesPatchRequest(BaseModel):
101
102
  "impersonationEnabled": obj.get("impersonationEnabled"),
102
103
  "logo": obj.get("logo"),
103
104
  "portalBanner": obj.get("portalBanner"),
105
+ "proxyTenantId": obj.get("proxyTenantId"),
104
106
  "smallLogo": obj.get("smallLogo"),
105
107
  "tokenExpiry": V1EnterprisesPatchRequestTokenExpiry.from_dict(obj["tokenExpiry"]) if obj.get("tokenExpiry") is not None else None
106
108
  })
@@ -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.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 V1ExtranetSitesUsagePost200Response(BaseModel):
26
+ class V1ExtranetB2bMonitoringPeeringServiceBandwidthUsagePost200Response(BaseModel):
27
27
  """
28
- V1ExtranetSitesUsagePost200Response
28
+ V1ExtranetB2bMonitoringPeeringServiceBandwidthUsagePost200Response
29
29
  """ # noqa: E501
30
30
  bw_allocation: Optional[StrictInt] = Field(default=None, alias="bwAllocation")
31
- dl_stats: Optional[List[V2ExtranetServiceOvertimeConsumptionPost200ResponseDlAggStatsInner]] = Field(default=None, alias="dlStats")
32
- ul_stats: Optional[List[V2ExtranetServiceOvertimeConsumptionPost200ResponseDlAggStatsInner]] = Field(default=None, alias="ulStats")
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 V1ExtranetSitesUsagePost200Response from a JSON string"""
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 V1ExtranetSitesUsagePost200Response from a dict"""
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": [V2ExtranetServiceOvertimeConsumptionPost200ResponseDlAggStatsInner.from_dict(_item) for _item in obj["dlStats"]] if obj.get("dlStats") is not None else None,
102
- "ulStats": [V2ExtranetServiceOvertimeConsumptionPost200ResponseDlAggStatsInner.from_dict(_item) for _item in obj["ulStats"]] if obj.get("ulStats") is not None else None
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 V2ExtranetServiceOvertimeConsumptionPost200ResponseDlAggStatsInner(BaseModel):
26
+ class V1ExtranetB2bMonitoringPeeringServiceBandwidthUsagePost200ResponseDlStatsInner(BaseModel):
27
27
  """
28
- V2ExtranetServiceOvertimeConsumptionPost200ResponseDlAggStatsInner
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 V2ExtranetServiceOvertimeConsumptionPost200ResponseDlAggStatsInner from a JSON string"""
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 V2ExtranetServiceOvertimeConsumptionPost200ResponseDlAggStatsInner from a dict"""
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 V1ExtranetSitesUsagePostRequest(BaseModel):
26
+ class V1ExtranetB2bMonitoringPeeringServiceBandwidthUsagePostRequest(BaseModel):
27
27
  """
28
- V1ExtranetSitesUsagePostRequest
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 V1ExtranetSitesUsagePostRequest from a JSON string"""
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 V1ExtranetSitesUsagePostRequest from a dict"""
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 typing_extensions import Annotated
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 V1BwtrackerRegionSiteSummaryPost200ResponseBwusageSummary(BaseModel):
26
+ class V1ExtranetB2bMonitoringPeeringServiceConsumersUsageTopPost200Response(BaseModel):
28
27
  """
29
- V1BwtrackerRegionSiteSummaryPost200ResponseBwusageSummary
28
+ V1ExtranetB2bMonitoringPeeringServiceConsumersUsageTopPost200Response
30
29
  """ # 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"]
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 V1BwtrackerRegionSiteSummaryPost200ResponseBwusageSummary from a JSON string"""
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 bwuage_region (list)
74
+ # override the default output from pydantic by calling `to_dict()` of each item in top_consumers (list)
77
75
  _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
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 V1BwtrackerRegionSiteSummaryPost200ResponseBwusageSummary from a dict"""
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
- "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")
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 V2ExtranetConsumersUsageTopPost200ResponseTopConsumersInner(BaseModel):
25
+ class V1ExtranetB2bMonitoringPeeringServiceConsumersUsageTopPost200ResponseTopConsumersInner(BaseModel):
26
26
  """
27
- V2ExtranetConsumersUsageTopPost200ResponseTopConsumersInner
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 V2ExtranetConsumersUsageTopPost200ResponseTopConsumersInner from a JSON string"""
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 V2ExtranetConsumersUsageTopPost200ResponseTopConsumersInner from a dict"""
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 V2ExtranetLanSegmentsUsageTopPostRequest(BaseModel):
26
+ class V1ExtranetB2bMonitoringPeeringServiceConsumersUsageTopPostRequest(BaseModel):
27
27
  """
28
- V2ExtranetLanSegmentsUsageTopPostRequest
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 V2ExtranetLanSegmentsUsageTopPostRequest from a JSON string"""
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 V2ExtranetLanSegmentsUsageTopPostRequest from a dict"""
82
+ """Create an instance of V1ExtranetB2bMonitoringPeeringServiceConsumersUsageTopPostRequest from a dict"""
83
83
  if obj is None:
84
84
  return None
85
85