graphiant-sdk 25.12.1__py3-none-any.whl → 26.1.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 (56) hide show
  1. graphiant_sdk/__init__.py +2982 -1471
  2. graphiant_sdk/api/default_api.py +1712 -23
  3. graphiant_sdk/api_client.py +16 -9
  4. graphiant_sdk/configuration.py +9 -3
  5. graphiant_sdk/exceptions.py +6 -3
  6. graphiant_sdk/models/__init__.py +19 -1
  7. graphiant_sdk/models/assurance_dns_proxy_entry.py +97 -0
  8. graphiant_sdk/models/iam_customer.py +6 -2
  9. graphiant_sdk/models/mana_v2_b2b_extranet_service_customer_match_details.py +15 -2
  10. graphiant_sdk/models/mana_v2_device.py +7 -1
  11. graphiant_sdk/models/mana_v2_edge_device_config.py +7 -1
  12. graphiant_sdk/models/mana_v2_interface.py +7 -1
  13. graphiant_sdk/models/mana_v2_interface_config.py +7 -1
  14. graphiant_sdk/models/mana_v2_interface_ma_csec.py +115 -0
  15. graphiant_sdk/models/mana_v2_lag_interface_config.py +7 -1
  16. graphiant_sdk/models/mana_v2_ma_csec_configuration.py +150 -0
  17. graphiant_sdk/models/mana_v2_nullable_ma_csec_configuration.py +91 -0
  18. graphiant_sdk/models/mana_v2_nullable_psk_configuration.py +91 -0
  19. graphiant_sdk/models/mana_v2_nullable_sak_configuration.py +91 -0
  20. graphiant_sdk/models/mana_v2_nullable_sla_conformance.py +91 -0
  21. graphiant_sdk/models/mana_v2_psk_configuration.py +99 -0
  22. graphiant_sdk/models/mana_v2_sak_configuration.py +93 -0
  23. graphiant_sdk/models/mana_v2_sla_conformance.py +91 -0
  24. graphiant_sdk/models/v1_auth_login_post_response.py +10 -2
  25. graphiant_sdk/models/v1_extranets_b2b_peering_consumer_id_prefixes_put_request.py +95 -0
  26. graphiant_sdk/models/v1_extranets_b2b_peering_consumer_id_prefixes_put_response.py +87 -0
  27. graphiant_sdk/models/v1_extranets_b2b_peering_match_service_to_customer_service_status_put_request.py +89 -0
  28. graphiant_sdk/models/v1_extranets_b2b_peering_match_service_to_customer_service_status_put_response.py +87 -0
  29. graphiant_sdk/models/v2_assurance_create_dnsproxy_entry_post_request.py +91 -0
  30. graphiant_sdk/models/v2_assurance_create_dnsproxy_entry_post_response.py +87 -0
  31. graphiant_sdk/models/v2_assurance_read_dnsproxy_list_get_response.py +95 -0
  32. graphiant_sdk/models/v2_assurance_update_dnsproxy_entry_post_request.py +91 -0
  33. graphiant_sdk/rest.py +7 -2
  34. {graphiant_sdk-25.12.1.dist-info → graphiant_sdk-26.1.1.dist-info}/METADATA +5 -3
  35. {graphiant_sdk-25.12.1.dist-info → graphiant_sdk-26.1.1.dist-info}/RECORD +56 -20
  36. {graphiant_sdk-25.12.1.dist-info → graphiant_sdk-26.1.1.dist-info}/WHEEL +1 -1
  37. test/test_assurance_dns_proxy_entry.py +70 -0
  38. test/test_mana_v2_interface_ma_csec.py +72 -0
  39. test/test_mana_v2_ma_csec_configuration.py +124 -0
  40. test/test_mana_v2_nullable_ma_csec_configuration.py +90 -0
  41. test/test_mana_v2_nullable_psk_configuration.py +58 -0
  42. test/test_mana_v2_nullable_sak_configuration.py +55 -0
  43. test/test_mana_v2_nullable_sla_conformance.py +54 -0
  44. test/test_mana_v2_psk_configuration.py +57 -0
  45. test/test_mana_v2_sak_configuration.py +54 -0
  46. test/test_mana_v2_sla_conformance.py +53 -0
  47. test/test_v1_extranets_b2b_peering_consumer_id_prefixes_put_request.py +60 -0
  48. test/test_v1_extranets_b2b_peering_consumer_id_prefixes_put_response.py +51 -0
  49. test/test_v1_extranets_b2b_peering_match_service_to_customer_service_status_put_request.py +54 -0
  50. test/test_v1_extranets_b2b_peering_match_service_to_customer_service_status_put_response.py +51 -0
  51. test/test_v2_assurance_create_dnsproxy_entry_post_request.py +61 -0
  52. test/test_v2_assurance_create_dnsproxy_entry_post_response.py +51 -0
  53. test/test_v2_assurance_read_dnsproxy_list_get_response.py +63 -0
  54. test/test_v2_assurance_update_dnsproxy_entry_post_request.py +61 -0
  55. {graphiant_sdk-25.12.1.dist-info → graphiant_sdk-26.1.1.dist-info}/licenses/LICENSE +0 -0
  56. {graphiant_sdk-25.12.1.dist-info → graphiant_sdk-26.1.1.dist-info}/top_level.txt +0 -0
@@ -21,6 +21,7 @@ import mimetypes
21
21
  import os
22
22
  import re
23
23
  import tempfile
24
+ import uuid
24
25
 
25
26
  from urllib.parse import quote
26
27
  from typing import Tuple, Optional, List, Dict, Union
@@ -90,7 +91,7 @@ class ApiClient:
90
91
  self.default_headers[header_name] = header_value
91
92
  self.cookie = cookie
92
93
  # Set default User-Agent.
93
- self.user_agent = 'OpenAPI-Generator/25.12.1/python'
94
+ self.user_agent = 'OpenAPI-Generator/26.1.1/python'
94
95
  self.client_side_validation = configuration.client_side_validation
95
96
 
96
97
  def __enter__(self):
@@ -311,7 +312,7 @@ class ApiClient:
311
312
  return_data = self.__deserialize_file(response_data)
312
313
  elif response_type is not None:
313
314
  match = None
314
- content_type = response_data.getheader('content-type')
315
+ content_type = response_data.headers.get('content-type')
315
316
  if content_type is not None:
316
317
  match = re.search(r"charset=([a-zA-Z\-\d]+)[\s;]?", content_type)
317
318
  encoding = match.group(1) if match else "utf-8"
@@ -328,7 +329,7 @@ class ApiClient:
328
329
  return ApiResponse(
329
330
  status_code = response_data.status,
330
331
  data = return_data,
331
- headers = response_data.getheaders(),
332
+ headers = response_data.headers,
332
333
  raw_data = response_data.data
333
334
  )
334
335
 
@@ -356,6 +357,8 @@ class ApiClient:
356
357
  return obj.get_secret_value()
357
358
  elif isinstance(obj, self.PRIMITIVE_TYPES):
358
359
  return obj
360
+ elif isinstance(obj, uuid.UUID):
361
+ return str(obj)
359
362
  elif isinstance(obj, list):
360
363
  return [
361
364
  self.sanitize_for_serialization(sub_obj) for sub_obj in obj
@@ -382,6 +385,10 @@ class ApiClient:
382
385
  else:
383
386
  obj_dict = obj.__dict__
384
387
 
388
+ if isinstance(obj_dict, list):
389
+ # here we handle instances that can either be a list or something else, and only became a real list by calling to_dict()
390
+ return self.sanitize_for_serialization(obj_dict)
391
+
385
392
  return {
386
393
  key: self.sanitize_for_serialization(val)
387
394
  for key, val in obj_dict.items()
@@ -404,7 +411,7 @@ class ApiClient:
404
411
  data = json.loads(response_text)
405
412
  except ValueError:
406
413
  data = response_text
407
- elif re.match(r'^application/(json|[\w!#$&.+-^_]+\+json)\s*(;|$)', content_type, re.IGNORECASE):
414
+ elif re.match(r'^application/(json|[\w!#$&.+\-^_]+\+json)\s*(;|$)', content_type, re.IGNORECASE):
408
415
  if response_text == "":
409
416
  data = ""
410
417
  else:
@@ -453,13 +460,13 @@ class ApiClient:
453
460
 
454
461
  if klass in self.PRIMITIVE_TYPES:
455
462
  return self.__deserialize_primitive(data, klass)
456
- elif klass == object:
463
+ elif klass is object:
457
464
  return self.__deserialize_object(data)
458
- elif klass == datetime.date:
465
+ elif klass is datetime.date:
459
466
  return self.__deserialize_date(data)
460
- elif klass == datetime.datetime:
467
+ elif klass is datetime.datetime:
461
468
  return self.__deserialize_datetime(data)
462
- elif klass == decimal.Decimal:
469
+ elif klass is decimal.Decimal:
463
470
  return decimal.Decimal(data)
464
471
  elif issubclass(klass, Enum):
465
472
  return self.__deserialize_enum(data, klass)
@@ -694,7 +701,7 @@ class ApiClient:
694
701
  os.close(fd)
695
702
  os.remove(path)
696
703
 
697
- content_disposition = response.getheader("Content-Disposition")
704
+ content_disposition = response.headers.get("Content-Disposition")
698
705
  if content_disposition:
699
706
  m = re.search(
700
707
  r'filename=[\'"]?([^\'"\s]+)[\'"]?',
@@ -163,6 +163,8 @@ class Configuration:
163
163
  :param retries: Number of retries for API requests.
164
164
  :param ca_cert_data: verify the peer using concatenated CA certificate data
165
165
  in PEM (str) or DER (bytes) format.
166
+ :param cert_file: the path to a client certificate file, for mTLS.
167
+ :param key_file: the path to a client key file, for mTLS.
166
168
 
167
169
  :Example:
168
170
 
@@ -204,6 +206,8 @@ conf = graphiant_sdk.Configuration(
204
206
  ssl_ca_cert: Optional[str]=None,
205
207
  retries: Optional[int] = None,
206
208
  ca_cert_data: Optional[Union[str, bytes]] = None,
209
+ cert_file: Optional[str]=None,
210
+ key_file: Optional[str]=None,
207
211
  *,
208
212
  debug: Optional[bool] = None,
209
213
  ) -> None:
@@ -285,10 +289,10 @@ conf = graphiant_sdk.Configuration(
285
289
  """Set this to verify the peer using PEM (str) or DER (bytes)
286
290
  certificate data.
287
291
  """
288
- self.cert_file = None
292
+ self.cert_file = cert_file
289
293
  """client certificate file
290
294
  """
291
- self.key_file = None
295
+ self.key_file = key_file
292
296
  """client key file
293
297
  """
294
298
  self.assert_hostname = None
@@ -501,6 +505,7 @@ conf = graphiant_sdk.Configuration(
501
505
  password = ""
502
506
  if self.password is not None:
503
507
  password = self.password
508
+
504
509
  return urllib3.util.make_headers(
505
510
  basic_auth=username + ':' + password
506
511
  ).get('authorization')
@@ -531,7 +536,7 @@ conf = graphiant_sdk.Configuration(
531
536
  "OS: {env}\n"\
532
537
  "Python Version: {pyversion}\n"\
533
538
  "Version of the API: 1.0.0\n"\
534
- "SDK Package Version: 25.12.1".\
539
+ "SDK Package Version: 26.1.1".\
535
540
  format(env=sys.platform, pyversion=sys.version)
536
541
 
537
542
  def get_host_settings(self) -> List[HostSetting]:
@@ -579,6 +584,7 @@ conf = graphiant_sdk.Configuration(
579
584
  variable_name, variable['default_value'])
580
585
 
581
586
  if 'enum_values' in variable \
587
+ and variable['enum_values'] \
582
588
  and used_value not in variable['enum_values']:
583
589
  raise ValueError(
584
590
  "The variable `{0}` in the host URL has invalid value "
@@ -128,7 +128,7 @@ class ApiException(OpenApiException):
128
128
  self.body = http_resp.data.decode('utf-8')
129
129
  except Exception:
130
130
  pass
131
- self.headers = http_resp.getheaders()
131
+ self.headers = http_resp.headers
132
132
 
133
133
  @classmethod
134
134
  def from_response(
@@ -169,8 +169,11 @@ class ApiException(OpenApiException):
169
169
  error_message += "HTTP response headers: {0}\n".format(
170
170
  self.headers)
171
171
 
172
- if self.data or self.body:
173
- error_message += "HTTP response body: {0}\n".format(self.data or self.body)
172
+ if self.body:
173
+ error_message += "HTTP response body: {0}\n".format(self.body)
174
+
175
+ if self.data:
176
+ error_message += "HTTP response data: {0}\n".format(self.data)
174
177
 
175
178
  return error_message
176
179
 
@@ -12,7 +12,6 @@
12
12
  Do not edit the class manually.
13
13
  """ # noqa: E501
14
14
 
15
-
16
15
  # import models into model package
17
16
  from graphiant_sdk.models.alarms_alarm_data import AlarmsAlarmData
18
17
  from graphiant_sdk.models.alarms_alarm_history import AlarmsAlarmHistory
@@ -52,6 +51,7 @@ from graphiant_sdk.models.assurance_client_session_endpoint_details import Assur
52
51
  from graphiant_sdk.models.assurance_client_session_endpoint_details_statistics import AssuranceClientSessionEndpointDetailsStatistics
53
52
  from graphiant_sdk.models.assurance_client_session_endpoint_link import AssuranceClientSessionEndpointLink
54
53
  from graphiant_sdk.models.assurance_client_session_pop_link import AssuranceClientSessionPopLink
54
+ from graphiant_sdk.models.assurance_dns_proxy_entry import AssuranceDnsProxyEntry
55
55
  from graphiant_sdk.models.assurance_edge import AssuranceEdge
56
56
  from graphiant_sdk.models.assurance_enterprise_summary import AssuranceEnterpriseSummary
57
57
  from graphiant_sdk.models.assurance_exchange_service_identifier import AssuranceExchangeServiceIdentifier
@@ -302,6 +302,7 @@ from graphiant_sdk.models.mana_v2_interface_i_psec import ManaV2InterfaceIPsec
302
302
  from graphiant_sdk.models.mana_v2_interface_i_psec_config import ManaV2InterfaceIPsecConfig
303
303
  from graphiant_sdk.models.mana_v2_interface_ip_config import ManaV2InterfaceIpConfig
304
304
  from graphiant_sdk.models.mana_v2_interface_lagvlan_config import ManaV2InterfaceLagvlanConfig
305
+ from graphiant_sdk.models.mana_v2_interface_ma_csec import ManaV2InterfaceMaCsec
305
306
  from graphiant_sdk.models.mana_v2_interface_sfp_optical_strength import ManaV2InterfaceSfpOpticalStrength
306
307
  from graphiant_sdk.models.mana_v2_interface_tunnel import ManaV2InterfaceTunnel
307
308
  from graphiant_sdk.models.mana_v2_interface_vlan import ManaV2InterfaceVlan
@@ -323,6 +324,7 @@ from graphiant_sdk.models.mana_v2_lag_interface_config import ManaV2LagInterface
323
324
  from graphiant_sdk.models.mana_v2_latency_bandwidth import ManaV2LatencyBandwidth
324
325
  from graphiant_sdk.models.mana_v2_lldp_neighbor import ManaV2LldpNeighbor
325
326
  from graphiant_sdk.models.mana_v2_location import ManaV2Location
327
+ from graphiant_sdk.models.mana_v2_ma_csec_configuration import ManaV2MaCsecConfiguration
326
328
  from graphiant_sdk.models.mana_v2_mana_configuration import ManaV2ManaConfiguration
327
329
  from graphiant_sdk.models.mana_v2_nat_policy_ruleset_config_nullable_rule import ManaV2NATPolicyRulesetConfigNullableRule
328
330
  from graphiant_sdk.models.mana_v2_nat_policy_ruleset_config_nullable_rule_rule import ManaV2NATPolicyRulesetConfigNullableRuleRule
@@ -386,6 +388,7 @@ from graphiant_sdk.models.mana_v2_nullable_l4_port_list_config import ManaV2Null
386
388
  from graphiant_sdk.models.mana_v2_nullable_lag_interface_config import ManaV2NullableLagInterfaceConfig
387
389
  from graphiant_sdk.models.mana_v2_nullable_lag_member_interface import ManaV2NullableLagMemberInterface
388
390
  from graphiant_sdk.models.mana_v2_nullable_local_preferance import ManaV2NullableLocalPreferance
391
+ from graphiant_sdk.models.mana_v2_nullable_ma_csec_configuration import ManaV2NullableMaCsecConfiguration
389
392
  from graphiant_sdk.models.mana_v2_nullable_max_prefix import ManaV2NullableMaxPrefix
390
393
  from graphiant_sdk.models.mana_v2_nullable_md5_password import ManaV2NullableMd5Password
391
394
  from graphiant_sdk.models.mana_v2_nullable_meter_rates import ManaV2NullableMeterRates
@@ -409,9 +412,11 @@ from graphiant_sdk.models.mana_v2_nullable_prometheus_rule_config import ManaV2N
409
412
  from graphiant_sdk.models.mana_v2_nullable_prometheus_rule_group_config import ManaV2NullablePrometheusRuleGroupConfig
410
413
  from graphiant_sdk.models.mana_v2_nullable_prometheus_sys_db_monitor_config import ManaV2NullablePrometheusSysDbMonitorConfig
411
414
  from graphiant_sdk.models.mana_v2_nullable_protocol_route_type import ManaV2NullableProtocolRouteType
415
+ from graphiant_sdk.models.mana_v2_nullable_psk_configuration import ManaV2NullablePskConfiguration
412
416
  from graphiant_sdk.models.mana_v2_nullable_route_tag_set import ManaV2NullableRouteTagSet
413
417
  from graphiant_sdk.models.mana_v2_nullable_routing_policy_config import ManaV2NullableRoutingPolicyConfig
414
418
  from graphiant_sdk.models.mana_v2_nullable_routing_protocol import ManaV2NullableRoutingProtocol
419
+ from graphiant_sdk.models.mana_v2_nullable_sak_configuration import ManaV2NullableSakConfiguration
415
420
  from graphiant_sdk.models.mana_v2_nullable_security_policy_ruleset_config import ManaV2NullableSecurityPolicyRulesetConfig
416
421
  from graphiant_sdk.models.mana_v2_nullable_security_zone_config import ManaV2NullableSecurityZoneConfig
417
422
  from graphiant_sdk.models.mana_v2_nullable_security_zone_pair_config import ManaV2NullableSecurityZonePairConfig
@@ -421,6 +426,7 @@ from graphiant_sdk.models.mana_v2_nullable_set_circuit_label_config import ManaV
421
426
  from graphiant_sdk.models.mana_v2_nullable_set_dscp_config import ManaV2NullableSetDscpConfig
422
427
  from graphiant_sdk.models.mana_v2_nullable_set_sla_class_config import ManaV2NullableSetSlaClassConfig
423
428
  from graphiant_sdk.models.mana_v2_nullable_site_interface_name import ManaV2NullableSiteInterfaceName
429
+ from graphiant_sdk.models.mana_v2_nullable_sla_conformance import ManaV2NullableSlaConformance
424
430
  from graphiant_sdk.models.mana_v2_nullable_snmp_community_config_value import ManaV2NullableSnmpCommunityConfigValue
425
431
  from graphiant_sdk.models.mana_v2_nullable_snmp_config import ManaV2NullableSnmpConfig
426
432
  from graphiant_sdk.models.mana_v2_nullable_snmp_engine_endpoint_config_value import ManaV2NullableSnmpEngineEndpointConfigValue
@@ -473,6 +479,7 @@ from graphiant_sdk.models.mana_v2_prometheus_remote_write_sink_config import Man
473
479
  from graphiant_sdk.models.mana_v2_prometheus_rule_config import ManaV2PrometheusRuleConfig
474
480
  from graphiant_sdk.models.mana_v2_prometheus_rule_group_config import ManaV2PrometheusRuleGroupConfig
475
481
  from graphiant_sdk.models.mana_v2_prometheus_sys_db_monitor_config import ManaV2PrometheusSysDbMonitorConfig
482
+ from graphiant_sdk.models.mana_v2_psk_configuration import ManaV2PskConfiguration
476
483
  from graphiant_sdk.models.mana_v2_qo_s_profile import ManaV2QoSProfile
477
484
  from graphiant_sdk.models.mana_v2_qo_s_profile_queue import ManaV2QoSProfileQueue
478
485
  from graphiant_sdk.models.mana_v2_region import ManaV2Region
@@ -494,6 +501,7 @@ from graphiant_sdk.models.mana_v2_routing_policy_config_nullable_statement_state
494
501
  from graphiant_sdk.models.mana_v2_routing_policy_statement import ManaV2RoutingPolicyStatement
495
502
  from graphiant_sdk.models.mana_v2_routing_policy_statement_action import ManaV2RoutingPolicyStatementAction
496
503
  from graphiant_sdk.models.mana_v2_routing_policy_statement_match import ManaV2RoutingPolicyStatementMatch
504
+ from graphiant_sdk.models.mana_v2_sak_configuration import ManaV2SakConfiguration
497
505
  from graphiant_sdk.models.mana_v2_security_policy_rule import ManaV2SecurityPolicyRule
498
506
  from graphiant_sdk.models.mana_v2_security_policy_rule_row import ManaV2SecurityPolicyRuleRow
499
507
  from graphiant_sdk.models.mana_v2_security_policy_ruleset import ManaV2SecurityPolicyRuleset
@@ -514,6 +522,7 @@ from graphiant_sdk.models.mana_v2_site_list_site_entry import ManaV2SiteListSite
514
522
  from graphiant_sdk.models.mana_v2_site_to_site_i_psec import ManaV2SiteToSiteIPsec
515
523
  from graphiant_sdk.models.mana_v2_site_to_site_i_psec_i_psec_bgp_routes import ManaV2SiteToSiteIPsecIPsecBgpRoutes
516
524
  from graphiant_sdk.models.mana_v2_site_to_site_i_psec_i_psec_static_routes import ManaV2SiteToSiteIPsecIPsecStaticRoutes
525
+ from graphiant_sdk.models.mana_v2_sla_conformance import ManaV2SlaConformance
517
526
  from graphiant_sdk.models.mana_v2_sla_information import ManaV2SlaInformation
518
527
  from graphiant_sdk.models.mana_v2_snmp import ManaV2Snmp
519
528
  from graphiant_sdk.models.mana_v2_snmp_community import ManaV2SnmpCommunity
@@ -1041,6 +1050,8 @@ from graphiant_sdk.models.v1_extranets_b2b_id_put_request import V1ExtranetsB2bI
1041
1050
  from graphiant_sdk.models.v1_extranets_b2b_id_put_response import V1ExtranetsB2bIdPutResponse
1042
1051
  from graphiant_sdk.models.v1_extranets_b2b_peering_consumer_customer_id_consumer_details_get_response import V1ExtranetsB2bPeeringConsumerCustomerIdConsumerDetailsGetResponse
1043
1052
  from graphiant_sdk.models.v1_extranets_b2b_peering_consumer_customer_id_consumer_details_get_response_ipsec_vpn_tunnel_config import V1ExtranetsB2bPeeringConsumerCustomerIdConsumerDetailsGetResponseIpsecVpnTunnelConfig
1053
+ from graphiant_sdk.models.v1_extranets_b2b_peering_consumer_id_prefixes_put_request import V1ExtranetsB2bPeeringConsumerIdPrefixesPutRequest
1054
+ from graphiant_sdk.models.v1_extranets_b2b_peering_consumer_id_prefixes_put_response import V1ExtranetsB2bPeeringConsumerIdPrefixesPutResponse
1044
1055
  from graphiant_sdk.models.v1_extranets_b2b_peering_consumer_match_id_match_details_get_response import V1ExtranetsB2bPeeringConsumerMatchIdMatchDetailsGetResponse
1045
1056
  from graphiant_sdk.models.v1_extranets_b2b_peering_consumer_match_id_post_request import V1ExtranetsB2bPeeringConsumerMatchIdPostRequest
1046
1057
  from graphiant_sdk.models.v1_extranets_b2b_peering_consumer_match_id_post_response import V1ExtranetsB2bPeeringConsumerMatchIdPostResponse
@@ -1052,6 +1063,8 @@ from graphiant_sdk.models.v1_extranets_b2b_peering_match_service_to_customer_id_
1052
1063
  from graphiant_sdk.models.v1_extranets_b2b_peering_match_service_to_customer_id_get_response import V1ExtranetsB2bPeeringMatchServiceToCustomerIdGetResponse
1053
1064
  from graphiant_sdk.models.v1_extranets_b2b_peering_match_service_to_customer_post_request import V1ExtranetsB2bPeeringMatchServiceToCustomerPostRequest
1054
1065
  from graphiant_sdk.models.v1_extranets_b2b_peering_match_service_to_customer_post_response import V1ExtranetsB2bPeeringMatchServiceToCustomerPostResponse
1066
+ from graphiant_sdk.models.v1_extranets_b2b_peering_match_service_to_customer_service_status_put_request import V1ExtranetsB2bPeeringMatchServiceToCustomerServiceStatusPutRequest
1067
+ from graphiant_sdk.models.v1_extranets_b2b_peering_match_service_to_customer_service_status_put_response import V1ExtranetsB2bPeeringMatchServiceToCustomerServiceStatusPutResponse
1055
1068
  from graphiant_sdk.models.v1_extranets_b2b_peering_match_services_summary_id_get_response import V1ExtranetsB2bPeeringMatchServicesSummaryIdGetResponse
1056
1069
  from graphiant_sdk.models.v1_extranets_b2b_peering_producer_id_get_response import V1ExtranetsB2bPeeringProducerIdGetResponse
1057
1070
  from graphiant_sdk.models.v1_extranets_b2b_peering_producer_id_matching_customers_summary_get_response import V1ExtranetsB2bPeeringProducerIdMatchingCustomersSummaryGetResponse
@@ -1321,6 +1334,8 @@ from graphiant_sdk.models.v2_assurance_bucket_topologies_post_request import V2A
1321
1334
  from graphiant_sdk.models.v2_assurance_bucket_topologies_post_response import V2AssuranceBucketTopologiesPostResponse
1322
1335
  from graphiant_sdk.models.v2_assurance_bucketdetails_post_request import V2AssuranceBucketdetailsPostRequest
1323
1336
  from graphiant_sdk.models.v2_assurance_bucketdetails_post_response import V2AssuranceBucketdetailsPostResponse
1337
+ from graphiant_sdk.models.v2_assurance_create_dnsproxy_entry_post_request import V2AssuranceCreateDnsproxyEntryPostRequest
1338
+ from graphiant_sdk.models.v2_assurance_create_dnsproxy_entry_post_response import V2AssuranceCreateDnsproxyEntryPostResponse
1324
1339
  from graphiant_sdk.models.v2_assurance_create_user_report_post_request import V2AssuranceCreateUserReportPostRequest
1325
1340
  from graphiant_sdk.models.v2_assurance_create_user_report_post_response import V2AssuranceCreateUserReportPostResponse
1326
1341
  from graphiant_sdk.models.v2_assurance_createclassifiedapplication_post_request import V2AssuranceCreateclassifiedapplicationPostRequest
@@ -1335,6 +1350,7 @@ from graphiant_sdk.models.v2_assurance_flow_summary_post_response import V2Assur
1335
1350
  from graphiant_sdk.models.v2_assurance_flow_summary_post_response_endpoint_details import V2AssuranceFlowSummaryPostResponseEndpointDetails
1336
1351
  from graphiant_sdk.models.v2_assurance_flow_summary_post_response_endpoint_details_statistics import V2AssuranceFlowSummaryPostResponseEndpointDetailsStatistics
1337
1352
  from graphiant_sdk.models.v2_assurance_getclassifiedapplicationlist_get_response import V2AssuranceGetclassifiedapplicationlistGetResponse
1353
+ from graphiant_sdk.models.v2_assurance_read_dnsproxy_list_get_response import V2AssuranceReadDnsproxyListGetResponse
1338
1354
  from graphiant_sdk.models.v2_assurance_read_user_report_list_get_response import V2AssuranceReadUserReportListGetResponse
1339
1355
  from graphiant_sdk.models.v2_assurance_scoredetails_post_request import V2AssuranceScoredetailsPostRequest
1340
1356
  from graphiant_sdk.models.v2_assurance_scoredetails_post_response import V2AssuranceScoredetailsPostResponse
@@ -1361,6 +1377,7 @@ from graphiant_sdk.models.v2_assurance_topology_site_summaries_post_response imp
1361
1377
  from graphiant_sdk.models.v2_assurance_topology_site_summaries_post_response_summary import V2AssuranceTopologySiteSummariesPostResponseSummary
1362
1378
  from graphiant_sdk.models.v2_assurance_unclassifiedapplicationprofilesummary_post_request import V2AssuranceUnclassifiedapplicationprofilesummaryPostRequest
1363
1379
  from graphiant_sdk.models.v2_assurance_unclassifiedapplicationprofilesummary_post_response import V2AssuranceUnclassifiedapplicationprofilesummaryPostResponse
1380
+ from graphiant_sdk.models.v2_assurance_update_dnsproxy_entry_post_request import V2AssuranceUpdateDnsproxyEntryPostRequest
1364
1381
  from graphiant_sdk.models.v2_assurance_updateclassifiedapplication_post_request import V2AssuranceUpdateclassifiedapplicationPostRequest
1365
1382
  from graphiant_sdk.models.v2_assurance_version_post_response import V2AssuranceVersionPostResponse
1366
1383
  from graphiant_sdk.models.v2_audit_logs_post_request import V2AuditLogsPostRequest
@@ -1474,3 +1491,4 @@ from graphiant_sdk.models.v2_site_site_id_topology_post_request import V2SiteSit
1474
1491
  from graphiant_sdk.models.v2_site_site_id_topology_post_response import V2SiteSiteIdTopologyPostResponse
1475
1492
  from graphiant_sdk.models.v2_site_site_id_topology_post_response_snapshot import V2SiteSiteIdTopologyPostResponseSnapshot
1476
1493
  from graphiant_sdk.models.v2_version_post_response import V2VersionPostResponse
1494
+
@@ -0,0 +1,97 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Graphiant APIs
5
+
6
+ Graphiant API documentation.
7
+
8
+ The version of the OpenAPI document: 1.0.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from pydantic import BaseModel, ConfigDict, Field, StrictStr
21
+ from typing import Any, ClassVar, Dict, List
22
+ from typing import Optional, Set
23
+ from typing_extensions import Self
24
+
25
+ class AssuranceDnsProxyEntry(BaseModel):
26
+ """
27
+ AssuranceDnsProxyEntry
28
+ """ # noqa: E501
29
+ dnsproxy_entry_id: StrictStr = Field(description="dns proxy table entry id (required)", alias="dnsproxyEntryId")
30
+ ip_list: List[StrictStr] = Field(alias="ipList")
31
+ name: StrictStr = Field(description="name of the entry (required)")
32
+ name_text: StrictStr = Field(description="user defined name of the record (required)", alias="nameText")
33
+ port_list: List[StrictStr] = Field(alias="portList")
34
+ protocol: StrictStr = Field(description="protocol to exclude (required)")
35
+ __properties: ClassVar[List[str]] = ["dnsproxyEntryId", "ipList", "name", "nameText", "portList", "protocol"]
36
+
37
+ model_config = ConfigDict(
38
+ populate_by_name=True,
39
+ validate_assignment=True,
40
+ protected_namespaces=(),
41
+ )
42
+
43
+
44
+ def to_str(self) -> str:
45
+ """Returns the string representation of the model using alias"""
46
+ return pprint.pformat(self.model_dump(by_alias=True))
47
+
48
+ def to_json(self) -> str:
49
+ """Returns the JSON representation of the model using alias"""
50
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
51
+ return json.dumps(self.to_dict())
52
+
53
+ @classmethod
54
+ def from_json(cls, json_str: str) -> Optional[Self]:
55
+ """Create an instance of AssuranceDnsProxyEntry from a JSON string"""
56
+ return cls.from_dict(json.loads(json_str))
57
+
58
+ def to_dict(self) -> Dict[str, Any]:
59
+ """Return the dictionary representation of the model using alias.
60
+
61
+ This has the following differences from calling pydantic's
62
+ `self.model_dump(by_alias=True)`:
63
+
64
+ * `None` is only added to the output dict for nullable fields that
65
+ were set at model initialization. Other fields with value `None`
66
+ are ignored.
67
+ """
68
+ excluded_fields: Set[str] = set([
69
+ ])
70
+
71
+ _dict = self.model_dump(
72
+ by_alias=True,
73
+ exclude=excluded_fields,
74
+ exclude_none=True,
75
+ )
76
+ return _dict
77
+
78
+ @classmethod
79
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
80
+ """Create an instance of AssuranceDnsProxyEntry from a dict"""
81
+ if obj is None:
82
+ return None
83
+
84
+ if not isinstance(obj, dict):
85
+ return cls.model_validate(obj)
86
+
87
+ _obj = cls.model_validate({
88
+ "dnsproxyEntryId": obj.get("dnsproxyEntryId"),
89
+ "ipList": obj.get("ipList"),
90
+ "name": obj.get("name"),
91
+ "nameText": obj.get("nameText"),
92
+ "portList": obj.get("portList"),
93
+ "protocol": obj.get("protocol")
94
+ })
95
+ return _obj
96
+
97
+
@@ -30,9 +30,11 @@ class IamCustomer(BaseModel):
30
30
  admin_email: Optional[StrictStr] = Field(default=None, alias="adminEmail")
31
31
  company_name: Optional[StrictStr] = Field(default=None, alias="companyName")
32
32
  counts: Optional[IamCounts] = None
33
+ description: Optional[StrictStr] = None
33
34
  enterprise_id: Optional[StrictInt] = Field(default=None, alias="enterpriseId")
34
35
  impersonation_enabled: Optional[StrictBool] = Field(default=None, alias="impersonationEnabled")
35
- __properties: ClassVar[List[str]] = ["adminEmail", "companyName", "counts", "enterpriseId", "impersonationEnabled"]
36
+ marketplace_id: Optional[StrictStr] = Field(default=None, alias="marketplaceId")
37
+ __properties: ClassVar[List[str]] = ["adminEmail", "companyName", "counts", "description", "enterpriseId", "impersonationEnabled", "marketplaceId"]
36
38
 
37
39
  model_config = ConfigDict(
38
40
  populate_by_name=True,
@@ -91,8 +93,10 @@ class IamCustomer(BaseModel):
91
93
  "adminEmail": obj.get("adminEmail"),
92
94
  "companyName": obj.get("companyName"),
93
95
  "counts": IamCounts.from_dict(obj["counts"]) if obj.get("counts") is not None else None,
96
+ "description": obj.get("description"),
94
97
  "enterpriseId": obj.get("enterpriseId"),
95
- "impersonationEnabled": obj.get("impersonationEnabled")
98
+ "impersonationEnabled": obj.get("impersonationEnabled"),
99
+ "marketplaceId": obj.get("marketplaceId")
96
100
  })
97
101
  return _obj
98
102
 
@@ -17,7 +17,7 @@ import pprint
17
17
  import re # noqa: F401
18
18
  import json
19
19
 
20
- from pydantic import BaseModel, ConfigDict, Field, StrictStr
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.mana_v2_b2_b_extranet_service_customer_match_details_customer import ManaV2B2BExtranetServiceCustomerMatchDetailsCustomer
23
23
  from graphiant_sdk.models.mana_v2_b2_b_extranet_service_customer_match_details_producer_prefix import ManaV2B2BExtranetServiceCustomerMatchDetailsProducerPrefix
@@ -29,11 +29,14 @@ class ManaV2B2bExtranetServiceCustomerMatchDetails(BaseModel):
29
29
  """
30
30
  ManaV2B2bExtranetServiceCustomerMatchDetails
31
31
  """ # noqa: E501
32
+ consumer_id: Optional[StrictInt] = Field(default=None, alias="consumerId")
32
33
  consumer_prefixes: Optional[List[StrictStr]] = Field(default=None, alias="consumerPrefixes")
33
34
  customer: Optional[ManaV2B2BExtranetServiceCustomerMatchDetailsCustomer] = None
35
+ old_consumer_prefixes: Optional[List[StrictStr]] = Field(default=None, alias="oldConsumerPrefixes")
36
+ old_service_prefixes: Optional[List[ManaV2B2BExtranetServiceCustomerMatchDetailsProducerPrefix]] = Field(default=None, alias="oldServicePrefixes")
34
37
  service: Optional[ManaV2B2BExtranetServiceCustomerMatchDetailsService] = None
35
38
  service_prefixes: Optional[List[ManaV2B2BExtranetServiceCustomerMatchDetailsProducerPrefix]] = Field(default=None, alias="servicePrefixes")
36
- __properties: ClassVar[List[str]] = ["consumerPrefixes", "customer", "service", "servicePrefixes"]
39
+ __properties: ClassVar[List[str]] = ["consumerId", "consumerPrefixes", "customer", "oldConsumerPrefixes", "oldServicePrefixes", "service", "servicePrefixes"]
37
40
 
38
41
  model_config = ConfigDict(
39
42
  populate_by_name=True,
@@ -77,6 +80,13 @@ class ManaV2B2bExtranetServiceCustomerMatchDetails(BaseModel):
77
80
  # override the default output from pydantic by calling `to_dict()` of customer
78
81
  if self.customer:
79
82
  _dict['customer'] = self.customer.to_dict()
83
+ # override the default output from pydantic by calling `to_dict()` of each item in old_service_prefixes (list)
84
+ _items = []
85
+ if self.old_service_prefixes:
86
+ for _item_old_service_prefixes in self.old_service_prefixes:
87
+ if _item_old_service_prefixes:
88
+ _items.append(_item_old_service_prefixes.to_dict())
89
+ _dict['oldServicePrefixes'] = _items
80
90
  # override the default output from pydantic by calling `to_dict()` of service
81
91
  if self.service:
82
92
  _dict['service'] = self.service.to_dict()
@@ -99,8 +109,11 @@ class ManaV2B2bExtranetServiceCustomerMatchDetails(BaseModel):
99
109
  return cls.model_validate(obj)
100
110
 
101
111
  _obj = cls.model_validate({
112
+ "consumerId": obj.get("consumerId"),
102
113
  "consumerPrefixes": obj.get("consumerPrefixes"),
103
114
  "customer": ManaV2B2BExtranetServiceCustomerMatchDetailsCustomer.from_dict(obj["customer"]) if obj.get("customer") is not None else None,
115
+ "oldConsumerPrefixes": obj.get("oldConsumerPrefixes"),
116
+ "oldServicePrefixes": [ManaV2B2BExtranetServiceCustomerMatchDetailsProducerPrefix.from_dict(_item) for _item in obj["oldServicePrefixes"]] if obj.get("oldServicePrefixes") is not None else None,
104
117
  "service": ManaV2B2BExtranetServiceCustomerMatchDetailsService.from_dict(obj["service"]) if obj.get("service") is not None else None,
105
118
  "servicePrefixes": [ManaV2B2BExtranetServiceCustomerMatchDetailsProducerPrefix.from_dict(_item) for _item in obj["servicePrefixes"]] if obj.get("servicePrefixes") is not None else None
106
119
  })
@@ -37,6 +37,7 @@ from graphiant_sdk.models.mana_v2_route_tag import ManaV2RouteTag
37
37
  from graphiant_sdk.models.mana_v2_routing_policy import ManaV2RoutingPolicy
38
38
  from graphiant_sdk.models.mana_v2_site import ManaV2Site
39
39
  from graphiant_sdk.models.mana_v2_site_to_site_i_psec import ManaV2SiteToSiteIPsec
40
+ from graphiant_sdk.models.mana_v2_sla_conformance import ManaV2SlaConformance
40
41
  from graphiant_sdk.models.mana_v2_snmp import ManaV2Snmp
41
42
  from graphiant_sdk.models.mana_v2_vrf import ManaV2Vrf
42
43
  from typing import Optional, Set
@@ -85,6 +86,7 @@ class ManaV2Device(BaseModel):
85
86
  segments: Optional[List[ManaV2Vrf]] = None
86
87
  serial_number: Optional[StrictStr] = Field(default=None, alias="serialNumber")
87
88
  site: Optional[ManaV2Site] = None
89
+ sla_conformance: Optional[ManaV2SlaConformance] = Field(default=None, alias="slaConformance")
88
90
  snmp: Optional[ManaV2Snmp] = None
89
91
  software_version: Optional[StrictStr] = Field(default=None, alias="softwareVersion")
90
92
  static_routes_enabled: Optional[StrictBool] = Field(default=None, alias="staticRoutesEnabled")
@@ -92,7 +94,7 @@ class ManaV2Device(BaseModel):
92
94
  traffic_policy: Optional[ManaV2ForwardingPolicy] = Field(default=None, alias="trafficPolicy")
93
95
  uptime: Optional[GoogleProtobufDuration] = None
94
96
  vrrp_enabled: Optional[StrictBool] = Field(default=None, alias="vrrpEnabled")
95
- __properties: ClassVar[List[str]] = ["bgp", "bgpEnabled", "circuits", "configUpdatedAt", "createdAt", "dhcpServerEnabled", "dns", "gdi", "hostname", "id", "interfaces", "internalState", "ipfixEnabled", "ipfixExporters", "ipsecTunnels", "lastBootedAt", "lldpEnabled", "localRouteTag", "localWebServerPassword", "location", "maintenanceMode", "natPolicy", "notes", "ntp", "operStaled", "operStaledAt", "operUpdatedAt", "ospfv2Enabled", "ospfv3Enabled", "platform", "prefixSets", "rebootReason", "region", "regionOverride", "role", "routingPolicies", "segments", "serialNumber", "site", "snmp", "softwareVersion", "staticRoutesEnabled", "status", "trafficPolicy", "uptime", "vrrpEnabled"]
97
+ __properties: ClassVar[List[str]] = ["bgp", "bgpEnabled", "circuits", "configUpdatedAt", "createdAt", "dhcpServerEnabled", "dns", "gdi", "hostname", "id", "interfaces", "internalState", "ipfixEnabled", "ipfixExporters", "ipsecTunnels", "lastBootedAt", "lldpEnabled", "localRouteTag", "localWebServerPassword", "location", "maintenanceMode", "natPolicy", "notes", "ntp", "operStaled", "operStaledAt", "operUpdatedAt", "ospfv2Enabled", "ospfv3Enabled", "platform", "prefixSets", "rebootReason", "region", "regionOverride", "role", "routingPolicies", "segments", "serialNumber", "site", "slaConformance", "snmp", "softwareVersion", "staticRoutesEnabled", "status", "trafficPolicy", "uptime", "vrrpEnabled"]
96
98
 
97
99
  model_config = ConfigDict(
98
100
  populate_by_name=True,
@@ -224,6 +226,9 @@ class ManaV2Device(BaseModel):
224
226
  # override the default output from pydantic by calling `to_dict()` of site
225
227
  if self.site:
226
228
  _dict['site'] = self.site.to_dict()
229
+ # override the default output from pydantic by calling `to_dict()` of sla_conformance
230
+ if self.sla_conformance:
231
+ _dict['slaConformance'] = self.sla_conformance.to_dict()
227
232
  # override the default output from pydantic by calling `to_dict()` of snmp
228
233
  if self.snmp:
229
234
  _dict['snmp'] = self.snmp.to_dict()
@@ -284,6 +289,7 @@ class ManaV2Device(BaseModel):
284
289
  "segments": [ManaV2Vrf.from_dict(_item) for _item in obj["segments"]] if obj.get("segments") is not None else None,
285
290
  "serialNumber": obj.get("serialNumber"),
286
291
  "site": ManaV2Site.from_dict(obj["site"]) if obj.get("site") is not None else None,
292
+ "slaConformance": ManaV2SlaConformance.from_dict(obj["slaConformance"]) if obj.get("slaConformance") is not None else None,
287
293
  "snmp": ManaV2Snmp.from_dict(obj["snmp"]) if obj.get("snmp") is not None else None,
288
294
  "softwareVersion": obj.get("softwareVersion"),
289
295
  "staticRoutesEnabled": obj.get("staticRoutesEnabled"),
@@ -34,6 +34,7 @@ from graphiant_sdk.models.mana_v2_nullable_ntp_config import ManaV2NullableNtpCo
34
34
  from graphiant_sdk.models.mana_v2_nullable_prefix_set_config import ManaV2NullablePrefixSetConfig
35
35
  from graphiant_sdk.models.mana_v2_nullable_route_tag_set import ManaV2NullableRouteTagSet
36
36
  from graphiant_sdk.models.mana_v2_nullable_routing_policy_config import ManaV2NullableRoutingPolicyConfig
37
+ from graphiant_sdk.models.mana_v2_nullable_sla_conformance import ManaV2NullableSlaConformance
37
38
  from graphiant_sdk.models.mana_v2_nullable_snmp_config import ManaV2NullableSnmpConfig
38
39
  from graphiant_sdk.models.mana_v2_vrf_config import ManaV2VrfConfig
39
40
  from typing import Optional, Set
@@ -69,12 +70,13 @@ class ManaV2EdgeDeviceConfig(BaseModel):
69
70
  segments: Optional[Dict[str, ManaV2VrfConfig]] = None
70
71
  site: Optional[ManaV2NewSite] = None
71
72
  site_to_site_vpn: Optional[Dict[str, ManaV2NullableIPsecTunnelConfig]] = Field(default=None, alias="siteToSiteVpn")
73
+ sla_conformance: Optional[ManaV2NullableSlaConformance] = Field(default=None, alias="slaConformance")
72
74
  snmp: Optional[ManaV2NullableSnmpConfig] = None
73
75
  snmp_global_object: Optional[Dict[str, ManaV2NullableSnmpConfig]] = Field(default=None, alias="snmpGlobalObject")
74
76
  static_routes_enabled: Optional[StrictBool] = Field(default=None, alias="staticRoutesEnabled")
75
77
  traffic_policy: Optional[ManaV2ForwardingPolicyConfig] = Field(default=None, alias="trafficPolicy")
76
78
  vrrp_enabled: Optional[StrictBool] = Field(default=None, alias="vrrpEnabled")
77
- __properties: ClassVar[List[str]] = ["bgpEnabled", "bgpInstance", "circuits", "dhcpServerEnabled", "dns", "interfaces", "ipfixEnabled", "ipfixExporters", "lagInterfaces", "lldpEnabled", "localRouteTag", "localWebServerPassword", "location", "maintenanceMode", "name", "natPolicy", "ntpGlobalObject", "ospfv2Enabled", "ospfv3Enabled", "prefixSets", "region", "regionName", "routePolicies", "segments", "site", "siteToSiteVpn", "snmp", "snmpGlobalObject", "staticRoutesEnabled", "trafficPolicy", "vrrpEnabled"]
79
+ __properties: ClassVar[List[str]] = ["bgpEnabled", "bgpInstance", "circuits", "dhcpServerEnabled", "dns", "interfaces", "ipfixEnabled", "ipfixExporters", "lagInterfaces", "lldpEnabled", "localRouteTag", "localWebServerPassword", "location", "maintenanceMode", "name", "natPolicy", "ntpGlobalObject", "ospfv2Enabled", "ospfv3Enabled", "prefixSets", "region", "regionName", "routePolicies", "segments", "site", "siteToSiteVpn", "slaConformance", "snmp", "snmpGlobalObject", "staticRoutesEnabled", "trafficPolicy", "vrrpEnabled"]
78
80
 
79
81
  model_config = ConfigDict(
80
82
  populate_by_name=True,
@@ -196,6 +198,9 @@ class ManaV2EdgeDeviceConfig(BaseModel):
196
198
  if self.site_to_site_vpn[_key_site_to_site_vpn]:
197
199
  _field_dict[_key_site_to_site_vpn] = self.site_to_site_vpn[_key_site_to_site_vpn].to_dict()
198
200
  _dict['siteToSiteVpn'] = _field_dict
201
+ # override the default output from pydantic by calling `to_dict()` of sla_conformance
202
+ if self.sla_conformance:
203
+ _dict['slaConformance'] = self.sla_conformance.to_dict()
199
204
  # override the default output from pydantic by calling `to_dict()` of snmp
200
205
  if self.snmp:
201
206
  _dict['snmp'] = self.snmp.to_dict()
@@ -292,6 +297,7 @@ class ManaV2EdgeDeviceConfig(BaseModel):
292
297
  )
293
298
  if obj.get("siteToSiteVpn") is not None
294
299
  else None,
300
+ "slaConformance": ManaV2NullableSlaConformance.from_dict(obj["slaConformance"]) if obj.get("slaConformance") is not None else None,
295
301
  "snmp": ManaV2NullableSnmpConfig.from_dict(obj["snmp"]) if obj.get("snmp") is not None else None,
296
302
  "snmpGlobalObject": dict(
297
303
  (_k, ManaV2NullableSnmpConfig.from_dict(_v))
@@ -23,6 +23,7 @@ from typing_extensions import Annotated
23
23
  from graphiant_sdk.models.google_protobuf_timestamp import GoogleProtobufTimestamp
24
24
  from graphiant_sdk.models.mana_v2_interface_address import ManaV2InterfaceAddress
25
25
  from graphiant_sdk.models.mana_v2_interface_i_psec import ManaV2InterfaceIPsec
26
+ from graphiant_sdk.models.mana_v2_interface_ma_csec import ManaV2InterfaceMaCsec
26
27
  from graphiant_sdk.models.mana_v2_interface_sfp_optical_strength import ManaV2InterfaceSfpOpticalStrength
27
28
  from graphiant_sdk.models.mana_v2_interface_vlan import ManaV2InterfaceVlan
28
29
  from graphiant_sdk.models.mana_v2_lag_interface import ManaV2LagInterface
@@ -49,6 +50,7 @@ class ManaV2Interface(BaseModel):
49
50
  lag_interface: Optional[ManaV2LagInterface] = Field(default=None, alias="lagInterface")
50
51
  lan: Optional[StrictStr] = None
51
52
  lldp_enabled: Optional[StrictBool] = Field(default=None, alias="lldpEnabled")
53
+ macsec: Optional[ManaV2InterfaceMaCsec] = None
52
54
  max_transmission_unit: Optional[Annotated[int, Field(strict=True, ge=0)]] = Field(default=None, alias="maxTransmissionUnit")
53
55
  name: Optional[StrictStr] = None
54
56
  oper_updated_at: Optional[GoogleProtobufTimestamp] = Field(default=None, alias="operUpdatedAt")
@@ -65,7 +67,7 @@ class ManaV2Interface(BaseModel):
65
67
  up: Optional[StrictBool] = None
66
68
  vrf_function_id: Optional[Annotated[int, Field(strict=True, ge=0)]] = Field(default=None, alias="vrfFunctionId")
67
69
  vrf_name: Optional[StrictStr] = Field(default=None, alias="vrfName")
68
- __properties: ClassVar[List[str]] = ["alias", "circuit", "circuitName", "configUpdatedAt", "configuredMaxTransmissionUnit", "description", "duplex", "enabled", "id", "ipSec", "ipv4", "ipv6", "ipv6Addresses", "lagInterface", "lan", "lldpEnabled", "maxTransmissionUnit", "name", "operUpdatedAt", "phyAddress", "protocol", "securityZone", "sfpOpticalStrength", "speedMbps", "subinterfaces", "tcpMss", "tcpMssV4", "tcpMssV6", "type", "up", "vrfFunctionId", "vrfName"]
70
+ __properties: ClassVar[List[str]] = ["alias", "circuit", "circuitName", "configUpdatedAt", "configuredMaxTransmissionUnit", "description", "duplex", "enabled", "id", "ipSec", "ipv4", "ipv6", "ipv6Addresses", "lagInterface", "lan", "lldpEnabled", "macsec", "maxTransmissionUnit", "name", "operUpdatedAt", "phyAddress", "protocol", "securityZone", "sfpOpticalStrength", "speedMbps", "subinterfaces", "tcpMss", "tcpMssV4", "tcpMssV6", "type", "up", "vrfFunctionId", "vrfName"]
69
71
 
70
72
  model_config = ConfigDict(
71
73
  populate_by_name=True,
@@ -128,6 +130,9 @@ class ManaV2Interface(BaseModel):
128
130
  # override the default output from pydantic by calling `to_dict()` of lag_interface
129
131
  if self.lag_interface:
130
132
  _dict['lagInterface'] = self.lag_interface.to_dict()
133
+ # override the default output from pydantic by calling `to_dict()` of macsec
134
+ if self.macsec:
135
+ _dict['macsec'] = self.macsec.to_dict()
131
136
  # override the default output from pydantic by calling `to_dict()` of oper_updated_at
132
137
  if self.oper_updated_at:
133
138
  _dict['operUpdatedAt'] = self.oper_updated_at.to_dict()
@@ -173,6 +178,7 @@ class ManaV2Interface(BaseModel):
173
178
  "lagInterface": ManaV2LagInterface.from_dict(obj["lagInterface"]) if obj.get("lagInterface") is not None else None,
174
179
  "lan": obj.get("lan"),
175
180
  "lldpEnabled": obj.get("lldpEnabled"),
181
+ "macsec": ManaV2InterfaceMaCsec.from_dict(obj["macsec"]) if obj.get("macsec") is not None else None,
176
182
  "maxTransmissionUnit": obj.get("maxTransmissionUnit"),
177
183
  "name": obj.get("name"),
178
184
  "operUpdatedAt": GoogleProtobufTimestamp.from_dict(obj["operUpdatedAt"]) if obj.get("operUpdatedAt") is not None else None,