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
@@ -22,9 +22,9 @@ from typing import Any, ClassVar, Dict, List, Optional
22
22
  from typing import Optional, Set
23
23
  from typing_extensions import Self
24
24
 
25
- class V2AssistantConversationContextHistoryPostRequest(BaseModel):
25
+ class V2AggregatedNotificationEnableDisablePostRequest(BaseModel):
26
26
  """
27
- V2AssistantConversationContextHistoryPostRequest
27
+ V2AggregatedNotificationEnableDisablePostRequest
28
28
  """ # noqa: E501
29
29
  enable: Optional[StrictBool] = None
30
30
  __properties: ClassVar[List[str]] = ["enable"]
@@ -47,7 +47,7 @@ class V2AssistantConversationContextHistoryPostRequest(BaseModel):
47
47
 
48
48
  @classmethod
49
49
  def from_json(cls, json_str: str) -> Optional[Self]:
50
- """Create an instance of V2AssistantConversationContextHistoryPostRequest from a JSON string"""
50
+ """Create an instance of V2AggregatedNotificationEnableDisablePostRequest from a JSON string"""
51
51
  return cls.from_dict(json.loads(json_str))
52
52
 
53
53
  def to_dict(self) -> Dict[str, Any]:
@@ -72,7 +72,7 @@ class V2AssistantConversationContextHistoryPostRequest(BaseModel):
72
72
 
73
73
  @classmethod
74
74
  def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
75
- """Create an instance of V2AssistantConversationContextHistoryPostRequest from a dict"""
75
+ """Create an instance of V2AggregatedNotificationEnableDisablePostRequest from a dict"""
76
76
  if obj is None:
77
77
  return None
78
78
 
@@ -0,0 +1,87 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Graphiant APIs
5
+
6
+ Graphiant API documentation.
7
+
8
+ The version of the OpenAPI document: 1.0.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from pydantic import BaseModel, ConfigDict, StrictBool
21
+ from typing import Any, ClassVar, Dict, List, Optional
22
+ from typing import Optional, Set
23
+ from typing_extensions import Self
24
+
25
+ class V2AggregatedNotificationGetStateGet200Response(BaseModel):
26
+ """
27
+ V2AggregatedNotificationGetStateGet200Response
28
+ """ # noqa: E501
29
+ state: Optional[StrictBool] = None
30
+ __properties: ClassVar[List[str]] = ["state"]
31
+
32
+ model_config = ConfigDict(
33
+ populate_by_name=True,
34
+ validate_assignment=True,
35
+ protected_namespaces=(),
36
+ )
37
+
38
+
39
+ def to_str(self) -> str:
40
+ """Returns the string representation of the model using alias"""
41
+ return pprint.pformat(self.model_dump(by_alias=True))
42
+
43
+ def to_json(self) -> str:
44
+ """Returns the JSON representation of the model using alias"""
45
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
46
+ return json.dumps(self.to_dict())
47
+
48
+ @classmethod
49
+ def from_json(cls, json_str: str) -> Optional[Self]:
50
+ """Create an instance of V2AggregatedNotificationGetStateGet200Response from a JSON string"""
51
+ return cls.from_dict(json.loads(json_str))
52
+
53
+ def to_dict(self) -> Dict[str, Any]:
54
+ """Return the dictionary representation of the model using alias.
55
+
56
+ This has the following differences from calling pydantic's
57
+ `self.model_dump(by_alias=True)`:
58
+
59
+ * `None` is only added to the output dict for nullable fields that
60
+ were set at model initialization. Other fields with value `None`
61
+ are ignored.
62
+ """
63
+ excluded_fields: Set[str] = set([
64
+ ])
65
+
66
+ _dict = self.model_dump(
67
+ by_alias=True,
68
+ exclude=excluded_fields,
69
+ exclude_none=True,
70
+ )
71
+ return _dict
72
+
73
+ @classmethod
74
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
75
+ """Create an instance of V2AggregatedNotificationGetStateGet200Response from a dict"""
76
+ if obj is None:
77
+ return None
78
+
79
+ if not isinstance(obj, dict):
80
+ return cls.model_validate(obj)
81
+
82
+ _obj = cls.model_validate({
83
+ "state": obj.get("state")
84
+ })
85
+ return _obj
86
+
87
+
@@ -36,7 +36,8 @@ class V2AssistantAddToConversationPost200Response(BaseModel):
36
36
  response_text: Optional[StrictStr] = Field(default=None, alias="responseText")
37
37
  response_timestamp: Optional[StrictInt] = Field(default=None, alias="responseTimestamp")
38
38
  response_type: Optional[StrictStr] = Field(default=None, alias="responseType")
39
- __properties: ClassVar[List[str]] = ["conversationId", "dataframeDictionary", "originalQuestion", "responseId", "responseLanguage", "responseText", "responseTimestamp", "responseType"]
39
+ visualization_summary: Optional[StrictStr] = Field(default=None, alias="visualizationSummary")
40
+ __properties: ClassVar[List[str]] = ["conversationId", "dataframeDictionary", "originalQuestion", "responseId", "responseLanguage", "responseText", "responseTimestamp", "responseType", "visualizationSummary"]
40
41
 
41
42
  model_config = ConfigDict(
42
43
  populate_by_name=True,
@@ -106,7 +107,8 @@ class V2AssistantAddToConversationPost200Response(BaseModel):
106
107
  "responseLanguage": obj.get("responseLanguage"),
107
108
  "responseText": obj.get("responseText"),
108
109
  "responseTimestamp": obj.get("responseTimestamp"),
109
- "responseType": obj.get("responseType")
110
+ "responseType": obj.get("responseType"),
111
+ "visualizationSummary": obj.get("visualizationSummary")
110
112
  })
111
113
  return _obj
112
114
 
@@ -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
20
+ from pydantic import BaseModel, ConfigDict, Field, StrictBool
21
21
  from typing import Any, ClassVar, Dict, List, Optional
22
22
  from graphiant_sdk.models.v2_assistant_get_conversations_post200_response_conversation_list_inner import V2AssistantGetConversationsPost200ResponseConversationListInner
23
23
  from typing import Optional, Set
@@ -28,7 +28,8 @@ class V2AssistantGetConversationsPost200Response(BaseModel):
28
28
  V2AssistantGetConversationsPost200Response
29
29
  """ # noqa: E501
30
30
  conversation_list: Optional[List[V2AssistantGetConversationsPost200ResponseConversationListInner]] = Field(default=None, alias="conversationList")
31
- __properties: ClassVar[List[str]] = ["conversationList"]
31
+ enable_context_history: Optional[StrictBool] = Field(default=None, alias="enableContextHistory")
32
+ __properties: ClassVar[List[str]] = ["conversationList", "enableContextHistory"]
32
33
 
33
34
  model_config = ConfigDict(
34
35
  populate_by_name=True,
@@ -88,7 +89,8 @@ class V2AssistantGetConversationsPost200Response(BaseModel):
88
89
  return cls.model_validate(obj)
89
90
 
90
91
  _obj = cls.model_validate({
91
- "conversationList": [V2AssistantGetConversationsPost200ResponseConversationListInner.from_dict(_item) for _item in obj["conversationList"]] if obj.get("conversationList") is not None else None
92
+ "conversationList": [V2AssistantGetConversationsPost200ResponseConversationListInner.from_dict(_item) for _item in obj["conversationList"]] if obj.get("conversationList") is not None else None,
93
+ "enableContextHistory": obj.get("enableContextHistory")
92
94
  })
93
95
  return _obj
94
96
 
@@ -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, 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 typing import Optional, Set
23
23
  from typing_extensions import Self
@@ -29,7 +29,8 @@ class V2AssistantGetConversationsPost200ResponseConversationListInner(BaseModel)
29
29
  conversation_header: Optional[StrictStr] = Field(default=None, alias="conversationHeader")
30
30
  conversation_id: Optional[StrictStr] = Field(default=None, alias="conversationId")
31
31
  conversation_recent_timestamp: Optional[StrictInt] = Field(default=None, alias="conversationRecentTimestamp")
32
- __properties: ClassVar[List[str]] = ["conversationHeader", "conversationId", "conversationRecentTimestamp"]
32
+ enable_context_history: Optional[StrictBool] = Field(default=None, alias="enableContextHistory")
33
+ __properties: ClassVar[List[str]] = ["conversationHeader", "conversationId", "conversationRecentTimestamp", "enableContextHistory"]
33
34
 
34
35
  model_config = ConfigDict(
35
36
  populate_by_name=True,
@@ -84,7 +85,8 @@ class V2AssistantGetConversationsPost200ResponseConversationListInner(BaseModel)
84
85
  _obj = cls.model_validate({
85
86
  "conversationHeader": obj.get("conversationHeader"),
86
87
  "conversationId": obj.get("conversationId"),
87
- "conversationRecentTimestamp": obj.get("conversationRecentTimestamp")
88
+ "conversationRecentTimestamp": obj.get("conversationRecentTimestamp"),
89
+ "enableContextHistory": obj.get("enableContextHistory")
88
90
  })
89
91
  return _obj
90
92
 
@@ -19,6 +19,7 @@ import json
19
19
 
20
20
  from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr
21
21
  from typing import Any, ClassVar, Dict, List, Optional
22
+ from graphiant_sdk.models.v2_assurance_applicationdetailsbyname_post200_response_app_id_record_exchange_service_inner import V2AssuranceApplicationdetailsbynamePost200ResponseAppIdRecordExchangeServiceInner
22
23
  from graphiant_sdk.models.v2_assurance_applicationdetailsbyname_post200_response_app_id_record_flex_algo_inner import V2AssuranceApplicationdetailsbynamePost200ResponseAppIdRecordFlexAlgoInner
23
24
  from typing import Optional, Set
24
25
  from typing_extensions import Self
@@ -38,6 +39,8 @@ class V2AssuranceApplicationdetailsbynamePost200ResponseAppIdRecord(BaseModel):
38
39
  category: Optional[StrictStr] = None
39
40
  classfication_field: Optional[StrictStr] = Field(default=None, alias="classficationField")
40
41
  classification_field: Optional[StrictStr] = Field(default=None, alias="classificationField")
42
+ clients: Optional[List[StrictStr]] = None
43
+ exchange_service: Optional[List[V2AssuranceApplicationdetailsbynamePost200ResponseAppIdRecordExchangeServiceInner]] = Field(default=None, alias="exchangeService")
41
44
  first_seen: Optional[StrictInt] = Field(default=None, alias="firstSeen")
42
45
  flex_algo: Optional[List[V2AssuranceApplicationdetailsbynamePost200ResponseAppIdRecordFlexAlgoInner]] = Field(default=None, alias="flexAlgo")
43
46
  flows_analyzed: Optional[StrictInt] = Field(default=None, alias="flowsAnalyzed")
@@ -51,7 +54,7 @@ class V2AssuranceApplicationdetailsbynamePost200ResponseAppIdRecord(BaseModel):
51
54
  site_list: Optional[List[StrictStr]] = Field(default=None, alias="siteList")
52
55
  threat_score: Optional[StrictInt] = Field(default=None, alias="threatScore")
53
56
  vrf_list: Optional[List[StrictStr]] = Field(default=None, alias="vrfList")
54
- __properties: ClassVar[List[str]] = ["affectedHosts", "affectedRegions", "affectedSites", "affectedVrfs", "appIdKey", "appName", "appType", "blockedReasonList", "category", "classficationField", "classificationField", "firstSeen", "flexAlgo", "flowsAnalyzed", "lastSeen", "newIpHint", "recommendation", "regionList", "riskStatus", "serverIp", "serverPort", "siteList", "threatScore", "vrfList"]
57
+ __properties: ClassVar[List[str]] = ["affectedHosts", "affectedRegions", "affectedSites", "affectedVrfs", "appIdKey", "appName", "appType", "blockedReasonList", "category", "classficationField", "classificationField", "clients", "exchangeService", "firstSeen", "flexAlgo", "flowsAnalyzed", "lastSeen", "newIpHint", "recommendation", "regionList", "riskStatus", "serverIp", "serverPort", "siteList", "threatScore", "vrfList"]
55
58
 
56
59
  model_config = ConfigDict(
57
60
  populate_by_name=True,
@@ -92,6 +95,13 @@ class V2AssuranceApplicationdetailsbynamePost200ResponseAppIdRecord(BaseModel):
92
95
  exclude=excluded_fields,
93
96
  exclude_none=True,
94
97
  )
98
+ # override the default output from pydantic by calling `to_dict()` of each item in exchange_service (list)
99
+ _items = []
100
+ if self.exchange_service:
101
+ for _item_exchange_service in self.exchange_service:
102
+ if _item_exchange_service:
103
+ _items.append(_item_exchange_service.to_dict())
104
+ _dict['exchangeService'] = _items
95
105
  # override the default output from pydantic by calling `to_dict()` of each item in flex_algo (list)
96
106
  _items = []
97
107
  if self.flex_algo:
@@ -122,6 +132,8 @@ class V2AssuranceApplicationdetailsbynamePost200ResponseAppIdRecord(BaseModel):
122
132
  "category": obj.get("category"),
123
133
  "classficationField": obj.get("classficationField"),
124
134
  "classificationField": obj.get("classificationField"),
135
+ "clients": obj.get("clients"),
136
+ "exchangeService": [V2AssuranceApplicationdetailsbynamePost200ResponseAppIdRecordExchangeServiceInner.from_dict(_item) for _item in obj["exchangeService"]] if obj.get("exchangeService") is not None else None,
125
137
  "firstSeen": obj.get("firstSeen"),
126
138
  "flexAlgo": [V2AssuranceApplicationdetailsbynamePost200ResponseAppIdRecordFlexAlgoInner.from_dict(_item) for _item in obj["flexAlgo"]] if obj.get("flexAlgo") is not None else None,
127
139
  "flowsAnalyzed": obj.get("flowsAnalyzed"),
@@ -22,16 +22,13 @@ from typing import Any, ClassVar, Dict, List, Optional
22
22
  from typing import Optional, Set
23
23
  from typing_extensions import Self
24
24
 
25
- class V1SoftwareAutoUpgradeDefaultGet200ResponseDetails(BaseModel):
25
+ class V2AssuranceApplicationdetailsbynamePost200ResponseAppIdRecordExchangeServiceInner(BaseModel):
26
26
  """
27
- V1SoftwareAutoUpgradeDefaultGet200ResponseDetails
27
+ V2AssuranceApplicationdetailsbynamePost200ResponseAppIdRecordExchangeServiceInner
28
28
  """ # noqa: E501
29
- action: Optional[StrictStr] = None
30
- day_of_week: Optional[StrictStr] = Field(default=None, alias="dayOfWeek")
31
- hour: Optional[StrictInt] = None
32
- minute: Optional[StrictInt] = None
33
- occurrence_in_month: Optional[StrictInt] = Field(default=None, alias="occurrenceInMonth")
34
- __properties: ClassVar[List[str]] = ["action", "dayOfWeek", "hour", "minute", "occurrenceInMonth"]
29
+ exchange_service_id: Optional[StrictInt] = Field(default=None, alias="exchangeServiceId")
30
+ exchange_service_name: Optional[StrictStr] = Field(default=None, alias="exchangeServiceName")
31
+ __properties: ClassVar[List[str]] = ["exchangeServiceId", "exchangeServiceName"]
35
32
 
36
33
  model_config = ConfigDict(
37
34
  populate_by_name=True,
@@ -51,7 +48,7 @@ class V1SoftwareAutoUpgradeDefaultGet200ResponseDetails(BaseModel):
51
48
 
52
49
  @classmethod
53
50
  def from_json(cls, json_str: str) -> Optional[Self]:
54
- """Create an instance of V1SoftwareAutoUpgradeDefaultGet200ResponseDetails from a JSON string"""
51
+ """Create an instance of V2AssuranceApplicationdetailsbynamePost200ResponseAppIdRecordExchangeServiceInner from a JSON string"""
55
52
  return cls.from_dict(json.loads(json_str))
56
53
 
57
54
  def to_dict(self) -> Dict[str, Any]:
@@ -76,7 +73,7 @@ class V1SoftwareAutoUpgradeDefaultGet200ResponseDetails(BaseModel):
76
73
 
77
74
  @classmethod
78
75
  def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
79
- """Create an instance of V1SoftwareAutoUpgradeDefaultGet200ResponseDetails from a dict"""
76
+ """Create an instance of V2AssuranceApplicationdetailsbynamePost200ResponseAppIdRecordExchangeServiceInner from a dict"""
80
77
  if obj is None:
81
78
  return None
82
79
 
@@ -84,11 +81,8 @@ class V1SoftwareAutoUpgradeDefaultGet200ResponseDetails(BaseModel):
84
81
  return cls.model_validate(obj)
85
82
 
86
83
  _obj = cls.model_validate({
87
- "action": obj.get("action"),
88
- "dayOfWeek": obj.get("dayOfWeek"),
89
- "hour": obj.get("hour"),
90
- "minute": obj.get("minute"),
91
- "occurrenceInMonth": obj.get("occurrenceInMonth")
84
+ "exchangeServiceId": obj.get("exchangeServiceId"),
85
+ "exchangeServiceName": obj.get("exchangeServiceName")
92
86
  })
93
87
  return _obj
94
88
 
@@ -20,6 +20,7 @@ import json
20
20
  from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr
21
21
  from typing import Any, ClassVar, Dict, List, Optional
22
22
  from graphiant_sdk.models.v2_assurance_applicationdetailsbyname_post200_response_app_id_record import V2AssuranceApplicationdetailsbynamePost200ResponseAppIdRecord
23
+ from graphiant_sdk.models.v2_assurance_applicationdetailsbyname_post200_response_app_id_record_exchange_service_inner import V2AssuranceApplicationdetailsbynamePost200ResponseAppIdRecordExchangeServiceInner
23
24
  from graphiant_sdk.models.v2_assurance_applicationdetailsbyname_post200_response_app_id_record_flex_algo_inner import V2AssuranceApplicationdetailsbynamePost200ResponseAppIdRecordFlexAlgoInner
24
25
  from typing import Optional, Set
25
26
  from typing_extensions import Self
@@ -38,12 +39,13 @@ class V2AssuranceApplicationdetailsbynamePost200ResponseAppNameRecord(BaseModel)
38
39
  app_type: Optional[StrictStr] = Field(default=None, alias="appType")
39
40
  category: Optional[StrictStr] = None
40
41
  da_classified: Optional[StrictBool] = Field(default=None, alias="daClassified")
42
+ exchange_service: Optional[List[V2AssuranceApplicationdetailsbynamePost200ResponseAppIdRecordExchangeServiceInner]] = Field(default=None, alias="exchangeService")
41
43
  flex_algo: Optional[List[V2AssuranceApplicationdetailsbynamePost200ResponseAppIdRecordFlexAlgoInner]] = Field(default=None, alias="flexAlgo")
42
44
  flows_analyzed: Optional[StrictInt] = Field(default=None, alias="flowsAnalyzed")
43
45
  recommendation: Optional[StrictStr] = None
44
46
  risk_status: Optional[StrictStr] = Field(default=None, alias="riskStatus")
45
47
  threat_score: Optional[StrictInt] = Field(default=None, alias="threatScore")
46
- __properties: ClassVar[List[str]] = ["affectedHosts", "affectedRegions", "affectedSites", "affectedVrfs", "appId", "appIdRecords", "appName", "appType", "category", "daClassified", "flexAlgo", "flowsAnalyzed", "recommendation", "riskStatus", "threatScore"]
48
+ __properties: ClassVar[List[str]] = ["affectedHosts", "affectedRegions", "affectedSites", "affectedVrfs", "appId", "appIdRecords", "appName", "appType", "category", "daClassified", "exchangeService", "flexAlgo", "flowsAnalyzed", "recommendation", "riskStatus", "threatScore"]
47
49
 
48
50
  model_config = ConfigDict(
49
51
  populate_by_name=True,
@@ -91,6 +93,13 @@ class V2AssuranceApplicationdetailsbynamePost200ResponseAppNameRecord(BaseModel)
91
93
  if _item_app_id_records:
92
94
  _items.append(_item_app_id_records.to_dict())
93
95
  _dict['appIdRecords'] = _items
96
+ # override the default output from pydantic by calling `to_dict()` of each item in exchange_service (list)
97
+ _items = []
98
+ if self.exchange_service:
99
+ for _item_exchange_service in self.exchange_service:
100
+ if _item_exchange_service:
101
+ _items.append(_item_exchange_service.to_dict())
102
+ _dict['exchangeService'] = _items
94
103
  # override the default output from pydantic by calling `to_dict()` of each item in flex_algo (list)
95
104
  _items = []
96
105
  if self.flex_algo:
@@ -120,6 +129,7 @@ class V2AssuranceApplicationdetailsbynamePost200ResponseAppNameRecord(BaseModel)
120
129
  "appType": obj.get("appType"),
121
130
  "category": obj.get("category"),
122
131
  "daClassified": obj.get("daClassified"),
132
+ "exchangeService": [V2AssuranceApplicationdetailsbynamePost200ResponseAppIdRecordExchangeServiceInner.from_dict(_item) for _item in obj["exchangeService"]] if obj.get("exchangeService") is not None else None,
123
133
  "flexAlgo": [V2AssuranceApplicationdetailsbynamePost200ResponseAppIdRecordFlexAlgoInner.from_dict(_item) for _item in obj["flexAlgo"]] if obj.get("flexAlgo") is not None else None,
124
134
  "flowsAnalyzed": obj.get("flowsAnalyzed"),
125
135
  "recommendation": obj.get("recommendation"),
@@ -29,9 +29,10 @@ class V2AssuranceBucketAppServersPostRequest(BaseModel):
29
29
  """ # noqa: E501
30
30
  app_name: Optional[StrictStr] = Field(default=None, alias="appName")
31
31
  bucket_id: Optional[StrictStr] = Field(default=None, alias="bucketId")
32
+ exchange_service_id: Optional[StrictInt] = Field(default=None, alias="exchangeServiceId")
32
33
  flex_algo_id: Optional[StrictInt] = Field(default=None, alias="flexAlgoId")
33
34
  time_window: Optional[V2NotificationlistPostRequestTimeWindow] = Field(default=None, alias="timeWindow")
34
- __properties: ClassVar[List[str]] = ["appName", "bucketId", "flexAlgoId", "timeWindow"]
35
+ __properties: ClassVar[List[str]] = ["appName", "bucketId", "exchangeServiceId", "flexAlgoId", "timeWindow"]
35
36
 
36
37
  model_config = ConfigDict(
37
38
  populate_by_name=True,
@@ -89,6 +90,7 @@ class V2AssuranceBucketAppServersPostRequest(BaseModel):
89
90
  _obj = cls.model_validate({
90
91
  "appName": obj.get("appName"),
91
92
  "bucketId": obj.get("bucketId"),
93
+ "exchangeServiceId": obj.get("exchangeServiceId"),
92
94
  "flexAlgoId": obj.get("flexAlgoId"),
93
95
  "timeWindow": V2NotificationlistPostRequestTimeWindow.from_dict(obj["timeWindow"]) if obj.get("timeWindow") is not None else None
94
96
  })
@@ -19,6 +19,7 @@ import json
19
19
 
20
20
  from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr
21
21
  from typing import Any, ClassVar, Dict, List, Optional
22
+ from graphiant_sdk.models.v2_assurance_applicationdetailsbyname_post200_response_app_id_record_exchange_service_inner import V2AssuranceApplicationdetailsbynamePost200ResponseAppIdRecordExchangeServiceInner
22
23
  from graphiant_sdk.models.v2_assurance_applicationdetailsbyname_post200_response_app_id_record_flex_algo_inner import V2AssuranceApplicationdetailsbynamePost200ResponseAppIdRecordFlexAlgoInner
23
24
  from typing import Optional, Set
24
25
  from typing_extensions import Self
@@ -30,9 +31,10 @@ class V2AssuranceBucketAppsPost200ResponseAppsInner(BaseModel):
30
31
  app_name: Optional[StrictStr] = Field(default=None, alias="appName")
31
32
  builtin_app_id: Optional[StrictInt] = Field(default=None, alias="builtinAppId")
32
33
  custom_app_id: Optional[StrictInt] = Field(default=None, alias="customAppId")
34
+ exchange_service: Optional[V2AssuranceApplicationdetailsbynamePost200ResponseAppIdRecordExchangeServiceInner] = Field(default=None, alias="exchangeService")
33
35
  flex_algo: Optional[V2AssuranceApplicationdetailsbynamePost200ResponseAppIdRecordFlexAlgoInner] = Field(default=None, alias="flexAlgo")
34
36
  is_domain: Optional[StrictBool] = Field(default=None, alias="isDomain")
35
- __properties: ClassVar[List[str]] = ["appName", "builtinAppId", "customAppId", "flexAlgo", "isDomain"]
37
+ __properties: ClassVar[List[str]] = ["appName", "builtinAppId", "customAppId", "exchangeService", "flexAlgo", "isDomain"]
36
38
 
37
39
  model_config = ConfigDict(
38
40
  populate_by_name=True,
@@ -73,6 +75,9 @@ class V2AssuranceBucketAppsPost200ResponseAppsInner(BaseModel):
73
75
  exclude=excluded_fields,
74
76
  exclude_none=True,
75
77
  )
78
+ # override the default output from pydantic by calling `to_dict()` of exchange_service
79
+ if self.exchange_service:
80
+ _dict['exchangeService'] = self.exchange_service.to_dict()
76
81
  # override the default output from pydantic by calling `to_dict()` of flex_algo
77
82
  if self.flex_algo:
78
83
  _dict['flexAlgo'] = self.flex_algo.to_dict()
@@ -91,6 +96,7 @@ class V2AssuranceBucketAppsPost200ResponseAppsInner(BaseModel):
91
96
  "appName": obj.get("appName"),
92
97
  "builtinAppId": obj.get("builtinAppId"),
93
98
  "customAppId": obj.get("customAppId"),
99
+ "exchangeService": V2AssuranceApplicationdetailsbynamePost200ResponseAppIdRecordExchangeServiceInner.from_dict(obj["exchangeService"]) if obj.get("exchangeService") is not None else None,
94
100
  "flexAlgo": V2AssuranceApplicationdetailsbynamePost200ResponseAppIdRecordFlexAlgoInner.from_dict(obj["flexAlgo"]) if obj.get("flexAlgo") is not None else None,
95
101
  "isDomain": obj.get("isDomain")
96
102
  })
@@ -28,10 +28,11 @@ class V2AssuranceBucketAppsPostRequest(BaseModel):
28
28
  V2AssuranceBucketAppsPostRequest
29
29
  """ # noqa: E501
30
30
  bucket_id: Optional[StrictStr] = Field(default=None, alias="bucketId")
31
+ exchange_service_id: Optional[StrictInt] = Field(default=None, alias="exchangeServiceId")
31
32
  flex_algo_id: Optional[StrictInt] = Field(default=None, alias="flexAlgoId")
32
33
  time_window: Optional[V2NotificationlistPostRequestTimeWindow] = Field(default=None, alias="timeWindow")
33
34
  unclassified_only: Optional[StrictBool] = Field(default=None, alias="unclassifiedOnly")
34
- __properties: ClassVar[List[str]] = ["bucketId", "flexAlgoId", "timeWindow", "unclassifiedOnly"]
35
+ __properties: ClassVar[List[str]] = ["bucketId", "exchangeServiceId", "flexAlgoId", "timeWindow", "unclassifiedOnly"]
35
36
 
36
37
  model_config = ConfigDict(
37
38
  populate_by_name=True,
@@ -88,6 +89,7 @@ class V2AssuranceBucketAppsPostRequest(BaseModel):
88
89
 
89
90
  _obj = cls.model_validate({
90
91
  "bucketId": obj.get("bucketId"),
92
+ "exchangeServiceId": obj.get("exchangeServiceId"),
91
93
  "flexAlgoId": obj.get("flexAlgoId"),
92
94
  "timeWindow": V2NotificationlistPostRequestTimeWindow.from_dict(obj["timeWindow"]) if obj.get("timeWindow") is not None else None,
93
95
  "unclassifiedOnly": obj.get("unclassifiedOnly")
@@ -0,0 +1,95 @@
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
21
+ from typing import Any, ClassVar, Dict, List, Optional
22
+ from graphiant_sdk.models.v2_assurance_applicationdetailsbyname_post200_response_app_id_record_exchange_service_inner import V2AssuranceApplicationdetailsbynamePost200ResponseAppIdRecordExchangeServiceInner
23
+ from typing import Optional, Set
24
+ from typing_extensions import Self
25
+
26
+ class V2AssuranceBucketServicesPost200Response(BaseModel):
27
+ """
28
+ V2AssuranceBucketServicesPost200Response
29
+ """ # noqa: E501
30
+ services: Optional[List[V2AssuranceApplicationdetailsbynamePost200ResponseAppIdRecordExchangeServiceInner]] = None
31
+ __properties: ClassVar[List[str]] = ["services"]
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 V2AssuranceBucketServicesPost200Response 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 each item in services (list)
73
+ _items = []
74
+ if self.services:
75
+ for _item_services in self.services:
76
+ if _item_services:
77
+ _items.append(_item_services.to_dict())
78
+ _dict['services'] = _items
79
+ return _dict
80
+
81
+ @classmethod
82
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
83
+ """Create an instance of V2AssuranceBucketServicesPost200Response from a dict"""
84
+ if obj is None:
85
+ return None
86
+
87
+ if not isinstance(obj, dict):
88
+ return cls.model_validate(obj)
89
+
90
+ _obj = cls.model_validate({
91
+ "services": [V2AssuranceApplicationdetailsbynamePost200ResponseAppIdRecordExchangeServiceInner.from_dict(_item) for _item in obj["services"]] if obj.get("services") is not None else None
92
+ })
93
+ return _obj
94
+
95
+
@@ -22,9 +22,9 @@ from typing import Any, ClassVar, Dict, List, Optional
22
22
  from typing import Optional, Set
23
23
  from typing_extensions import Self
24
24
 
25
- class V2AssuranceBucketTopologiesPostRequest(BaseModel):
25
+ class V2AssuranceBucketServicesPostRequest(BaseModel):
26
26
  """
27
- V2AssuranceBucketTopologiesPostRequest
27
+ V2AssuranceBucketServicesPostRequest
28
28
  """ # noqa: E501
29
29
  bucket_id: Optional[StrictStr] = Field(default=None, alias="bucketId")
30
30
  __properties: ClassVar[List[str]] = ["bucketId"]
@@ -47,7 +47,7 @@ class V2AssuranceBucketTopologiesPostRequest(BaseModel):
47
47
 
48
48
  @classmethod
49
49
  def from_json(cls, json_str: str) -> Optional[Self]:
50
- """Create an instance of V2AssuranceBucketTopologiesPostRequest from a JSON string"""
50
+ """Create an instance of V2AssuranceBucketServicesPostRequest 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 V2AssuranceBucketTopologiesPostRequest(BaseModel):
72
72
 
73
73
  @classmethod
74
74
  def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
75
- """Create an instance of V2AssuranceBucketTopologiesPostRequest from a dict"""
75
+ """Create an instance of V2AssuranceBucketServicesPostRequest from a dict"""
76
76
  if obj is None:
77
77
  return None
78
78
 
@@ -19,7 +19,7 @@ import json
19
19
 
20
20
  from pydantic import BaseModel, ConfigDict, Field
21
21
  from typing import Any, ClassVar, Dict, List, Optional
22
- from graphiant_sdk.models.v2_extranet_consumers_usage_top_post200_response_top_consumers_inner import V2ExtranetConsumersUsageTopPost200ResponseTopConsumersInner
22
+ from graphiant_sdk.models.v1_extranet_b2b_monitoring_peering_service_consumers_usage_top_post200_response_top_consumers_inner import V1ExtranetB2bMonitoringPeeringServiceConsumersUsageTopPost200ResponseTopConsumersInner
23
23
  from typing import Optional, Set
24
24
  from typing_extensions import Self
25
25
 
@@ -27,7 +27,7 @@ class V2ExtranetLanSegmentsUsageTopPost200Response(BaseModel):
27
27
  """
28
28
  V2ExtranetLanSegmentsUsageTopPost200Response
29
29
  """ # noqa: E501
30
- top_vrfs: Optional[List[V2ExtranetConsumersUsageTopPost200ResponseTopConsumersInner]] = Field(default=None, alias="topVrfs")
30
+ top_vrfs: Optional[List[V1ExtranetB2bMonitoringPeeringServiceConsumersUsageTopPost200ResponseTopConsumersInner]] = Field(default=None, alias="topVrfs")
31
31
  __properties: ClassVar[List[str]] = ["topVrfs"]
32
32
 
33
33
  model_config = ConfigDict(
@@ -88,7 +88,7 @@ class V2ExtranetLanSegmentsUsageTopPost200Response(BaseModel):
88
88
  return cls.model_validate(obj)
89
89
 
90
90
  _obj = cls.model_validate({
91
- "topVrfs": [V2ExtranetConsumersUsageTopPost200ResponseTopConsumersInner.from_dict(_item) for _item in obj["topVrfs"]] if obj.get("topVrfs") is not None else None
91
+ "topVrfs": [V1ExtranetB2bMonitoringPeeringServiceConsumersUsageTopPost200ResponseTopConsumersInner.from_dict(_item) for _item in obj["topVrfs"]] if obj.get("topVrfs") is not None else None
92
92
  })
93
93
  return _obj
94
94
 
@@ -19,7 +19,7 @@ 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 graphiant_sdk.models.v2_extranet_sites_consumption_overview_post200_response_lan_segments_inner import V2ExtranetSitesConsumptionOverviewPost200ResponseLanSegmentsInner
22
+ from graphiant_sdk.models.v1_extranet_b2b_monitoring_peering_service_consumption_overview_post200_response_first_level_inner import V1ExtranetB2bMonitoringPeeringServiceConsumptionOverviewPost200ResponseFirstLevelInner
23
23
  from typing import Optional, Set
24
24
  from typing_extensions import Self
25
25
 
@@ -27,9 +27,9 @@ class V2ExtranetSitesConsumptionOverviewPost200Response(BaseModel):
27
27
  """
28
28
  V2ExtranetSitesConsumptionOverviewPost200Response
29
29
  """ # noqa: E501
30
- lan_segments: Optional[List[V2ExtranetSitesConsumptionOverviewPost200ResponseLanSegmentsInner]] = Field(default=None, alias="lanSegments")
31
- regions: Optional[List[V2ExtranetSitesConsumptionOverviewPost200ResponseLanSegmentsInner]] = None
32
- sites: Optional[List[V2ExtranetSitesConsumptionOverviewPost200ResponseLanSegmentsInner]] = None
30
+ lan_segments: Optional[List[V1ExtranetB2bMonitoringPeeringServiceConsumptionOverviewPost200ResponseFirstLevelInner]] = Field(default=None, alias="lanSegments")
31
+ regions: Optional[List[V1ExtranetB2bMonitoringPeeringServiceConsumptionOverviewPost200ResponseFirstLevelInner]] = None
32
+ sites: Optional[List[V1ExtranetB2bMonitoringPeeringServiceConsumptionOverviewPost200ResponseFirstLevelInner]] = None
33
33
  total_usage: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, alias="totalUsage")
34
34
  __properties: ClassVar[List[str]] = ["lanSegments", "regions", "sites", "totalUsage"]
35
35
 
@@ -105,9 +105,9 @@ class V2ExtranetSitesConsumptionOverviewPost200Response(BaseModel):
105
105
  return cls.model_validate(obj)
106
106
 
107
107
  _obj = cls.model_validate({
108
- "lanSegments": [V2ExtranetSitesConsumptionOverviewPost200ResponseLanSegmentsInner.from_dict(_item) for _item in obj["lanSegments"]] if obj.get("lanSegments") is not None else None,
109
- "regions": [V2ExtranetSitesConsumptionOverviewPost200ResponseLanSegmentsInner.from_dict(_item) for _item in obj["regions"]] if obj.get("regions") is not None else None,
110
- "sites": [V2ExtranetSitesConsumptionOverviewPost200ResponseLanSegmentsInner.from_dict(_item) for _item in obj["sites"]] if obj.get("sites") is not None else None,
108
+ "lanSegments": [V1ExtranetB2bMonitoringPeeringServiceConsumptionOverviewPost200ResponseFirstLevelInner.from_dict(_item) for _item in obj["lanSegments"]] if obj.get("lanSegments") is not None else None,
109
+ "regions": [V1ExtranetB2bMonitoringPeeringServiceConsumptionOverviewPost200ResponseFirstLevelInner.from_dict(_item) for _item in obj["regions"]] if obj.get("regions") is not None else None,
110
+ "sites": [V1ExtranetB2bMonitoringPeeringServiceConsumptionOverviewPost200ResponseFirstLevelInner.from_dict(_item) for _item in obj["sites"]] if obj.get("sites") is not None else None,
111
111
  "totalUsage": obj.get("totalUsage")
112
112
  })
113
113
  return _obj
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: graphiant_sdk
3
- Version: 25.9.1
3
+ Version: 25.10.1
4
4
  Summary: Graphiant APIs
5
5
  Home-page: https://www.graphiant.com
6
6
  Author: Graphiant Inc
@@ -278,12 +278,12 @@ brew install openapi-generator # macOS
278
278
 
279
279
  # Generate SDK
280
280
  openapi-generator generate \
281
- -i graphiant_api_docs_v25.9.1.json \
281
+ -i graphiant_api_docs_v25.10.1.json \
282
282
  -g python \
283
283
  --git-user-id Graphiant-Inc \
284
284
  --git-repo-id graphiant-sdk-python \
285
285
  --package-name graphiant_sdk \
286
- --additional-properties=packageVersion=25.9.1
286
+ --additional-properties=packageVersion=25.10.1
287
287
  ```
288
288
 
289
289
  > **Note**: Latest API documentation can be downloaded from the Graphiant portal under "Support Hub" > "Developer Tools".