graphiant-sdk 25.9.2__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 (121) hide show
  1. graphiant_sdk/__init__.py +154 -28
  2. graphiant_sdk/api/default_api.py +13428 -6650
  3. graphiant_sdk/api_client.py +1 -1
  4. graphiant_sdk/configuration.py +1 -1
  5. graphiant_sdk/models/__init__.py +102 -18
  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_b2b_extranet_monitoring_filter_post200_response_filters_customers_inner.py +93 -0
  11. graphiant_sdk/models/v1_b2b_extranet_monitoring_filter_post_request.py +91 -0
  12. graphiant_sdk/models/v1_devices_device_id_config_put_request_core_core_vrf_bgp_neighbors_value_neighbor.py +6 -6
  13. graphiant_sdk/models/v1_devices_device_id_config_put_request_edge_site_to_site_vpn_value_site_to_site_vpn.py +3 -3
  14. graphiant_sdk/models/v1_enterprises_get200_response_enterprises_inner.py +3 -1
  15. graphiant_sdk/models/v1_enterprises_patch_request.py +3 -1
  16. graphiant_sdk/models/v1_extranet_b2b_monitoring_peering_service_service_customer_list_post200_response.py +87 -0
  17. graphiant_sdk/models/v1_extranet_b2b_monitoring_peering_service_service_customer_list_post_request.py +95 -0
  18. graphiant_sdk/models/v1_extranets_b2b_general_customers_summary_get200_response.py +95 -0
  19. graphiant_sdk/models/v1_extranets_b2b_general_customers_summary_get200_response_customers_inner.py +104 -0
  20. graphiant_sdk/models/v1_extranets_b2b_peering_consumer_customer_id_match_details_get200_response.py +95 -0
  21. graphiant_sdk/models/v1_extranets_b2b_peering_consumer_customer_id_match_details_get200_response_details_inner.py +109 -0
  22. graphiant_sdk/models/v1_extranets_b2b_peering_consumer_customer_id_match_details_get200_response_details_inner_customer.py +94 -0
  23. graphiant_sdk/models/v1_extranets_b2b_peering_consumer_customer_id_match_details_get200_response_details_inner_service.py +93 -0
  24. graphiant_sdk/models/v1_extranets_b2b_peering_consumer_id_post200_response.py +109 -0
  25. graphiant_sdk/models/v1_extranets_b2b_peering_consumer_id_post_request.py +123 -0
  26. graphiant_sdk/models/v1_extranets_b2b_peering_consumer_id_post_request_policy_inner.py +89 -0
  27. graphiant_sdk/models/v1_extranets_b2b_peering_consumer_id_post_request_site_to_site_vpn.py +95 -0
  28. graphiant_sdk/models/v1_extranets_b2b_peering_consumer_id_post_request_site_to_site_vpn_ipsec_gateway_details.py +117 -0
  29. graphiant_sdk/models/v1_extranets_b2b_peering_consumer_id_post_request_site_to_site_vpn_ipsec_gateway_details_routing.py +97 -0
  30. graphiant_sdk/models/v1_extranets_b2b_peering_consumer_id_post_request_site_to_site_vpn_ipsec_gateway_details_routing_bgp.py +115 -0
  31. 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
  32. 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
  33. 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
  34. graphiant_sdk/models/v1_extranets_b2b_peering_consumer_id_post_request_site_to_site_vpn_ipsec_gateway_details_routing_static.py +87 -0
  35. graphiant_sdk/models/v1_extranets_b2b_peering_consumer_id_post_request_site_to_site_vpn_ipsec_gateway_details_tunnel1.py +93 -0
  36. graphiant_sdk/models/v1_extranets_b2b_peering_customer_id_get200_response.py +96 -0
  37. graphiant_sdk/models/v1_extranets_b2b_peering_customer_id_put_request.py +87 -0
  38. graphiant_sdk/models/v1_extranets_b2b_peering_customer_post200_response.py +93 -0
  39. graphiant_sdk/models/v1_extranets_b2b_peering_customer_post_request.py +95 -0
  40. graphiant_sdk/models/v1_extranets_b2b_peering_customer_post_request_invite.py +90 -0
  41. graphiant_sdk/models/v1_extranets_b2b_peering_match_customers_post200_response.py +95 -0
  42. graphiant_sdk/models/v1_extranets_b2b_peering_match_customers_post_request.py +97 -0
  43. graphiant_sdk/models/v1_extranets_b2b_peering_match_customers_post_request_info_inner.py +104 -0
  44. graphiant_sdk/models/v1_extranets_b2b_peering_match_service_to_customer_post200_response.py +95 -0
  45. graphiant_sdk/models/v1_extranets_b2b_peering_match_service_to_customer_put200_response.py +91 -0
  46. graphiant_sdk/models/v1_extranets_b2b_peering_match_service_to_customer_put_request.py +93 -0
  47. graphiant_sdk/models/v1_extranets_b2b_peering_match_service_to_customer_put_request_service.py +112 -0
  48. graphiant_sdk/models/v1_extranets_b2b_peering_match_service_to_customer_put_request_service_nat_inner.py +89 -0
  49. graphiant_sdk/models/v1_extranets_b2b_peering_match_service_to_customer_put_request_service_service_prefixes_inner.py +89 -0
  50. graphiant_sdk/models/v1_extranets_b2b_peering_match_services_summary_get200_response.py +95 -0
  51. graphiant_sdk/models/v1_extranets_b2b_peering_match_services_summary_get200_response_services_inner.py +104 -0
  52. graphiant_sdk/models/v1_extranets_b2b_peering_producer_id_get200_response.py +95 -0
  53. graphiant_sdk/models/v1_extranets_b2b_peering_producer_id_put_request.py +91 -0
  54. graphiant_sdk/models/v1_extranets_b2b_peering_producer_post200_response.py +93 -0
  55. graphiant_sdk/models/v1_extranets_b2b_peering_producer_post200_response_policy.py +93 -0
  56. graphiant_sdk/models/v1_extranets_b2b_peering_producer_post_request.py +95 -0
  57. graphiant_sdk/models/v1_extranets_b2b_peering_producer_post_request_policy.py +111 -0
  58. graphiant_sdk/models/v1_extranets_b2b_post_request_policy.py +19 -2
  59. graphiant_sdk/models/v1_extranets_b2b_producers_summary_get200_response_info_inner.py +16 -3
  60. graphiant_sdk/models/v1_extranets_get200_response_policies_inner_branches_excluded_devices_inner_ipsec_tunnels_inner.py +3 -3
  61. graphiant_sdk/models/v1_gateways_guest_consumer_get200_response.py +91 -0
  62. graphiant_sdk/models/v1_gateways_put_request_details.py +3 -3
  63. graphiant_sdk/models/v1_groups_get200_response_groups_inner_permissions.py +3 -1
  64. graphiant_sdk/models/v1_invitation_email_post_request.py +95 -0
  65. graphiant_sdk/models/v1_temp_password_put_request.py +91 -0
  66. {graphiant_sdk-25.9.2.dist-info → graphiant_sdk-25.10.1.dist-info}/METADATA +3 -3
  67. {graphiant_sdk-25.9.2.dist-info → graphiant_sdk-25.10.1.dist-info}/RECORD +121 -19
  68. test/test_v1_auth_login_temp_post200_response.py +53 -0
  69. test/test_v1_auth_login_temp_post_request.py +52 -0
  70. test/test_v1_b2b_extranet_monitoring_filter_post200_response.py +65 -0
  71. test/test_v1_b2b_extranet_monitoring_filter_post200_response_filters.py +64 -0
  72. test/test_v1_b2b_extranet_monitoring_filter_post200_response_filters_customers_inner.py +54 -0
  73. test/test_v1_b2b_extranet_monitoring_filter_post_request.py +53 -0
  74. test/test_v1_extranet_b2b_monitoring_peering_service_service_customer_list_post200_response.py +53 -0
  75. test/test_v1_extranet_b2b_monitoring_peering_service_service_customer_list_post_request.py +60 -0
  76. test/test_v1_extranets_b2b_general_customers_summary_get200_response.py +64 -0
  77. test/test_v1_extranets_b2b_general_customers_summary_get200_response_customers_inner.py +61 -0
  78. test/test_v1_extranets_b2b_peering_consumer_customer_id_match_details_get200_response.py +75 -0
  79. test/test_v1_extranets_b2b_peering_consumer_customer_id_match_details_get200_response_details_inner.py +72 -0
  80. test/test_v1_extranets_b2b_peering_consumer_customer_id_match_details_get200_response_details_inner_customer.py +56 -0
  81. test/test_v1_extranets_b2b_peering_consumer_customer_id_match_details_get200_response_details_inner_service.py +56 -0
  82. test/test_v1_extranets_b2b_peering_consumer_id_post200_response.py +74 -0
  83. test/test_v1_extranets_b2b_peering_consumer_id_post_request.py +123 -0
  84. test/test_v1_extranets_b2b_peering_consumer_id_post_request_policy_inner.py +54 -0
  85. test/test_v1_extranets_b2b_peering_consumer_id_post_request_site_to_site_vpn.py +92 -0
  86. test/test_v1_extranets_b2b_peering_consumer_id_post_request_site_to_site_vpn_ipsec_gateway_details.py +87 -0
  87. test/test_v1_extranets_b2b_peering_consumer_id_post_request_site_to_site_vpn_ipsec_gateway_details_routing.py +69 -0
  88. test/test_v1_extranets_b2b_peering_consumer_id_post_request_site_to_site_vpn_ipsec_gateway_details_routing_bgp.py +64 -0
  89. 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
  90. 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
  91. test/test_v1_extranets_b2b_peering_consumer_id_post_request_site_to_site_vpn_ipsec_gateway_details_routing_bgp_md5_password.py +51 -0
  92. test/test_v1_extranets_b2b_peering_consumer_id_post_request_site_to_site_vpn_ipsec_gateway_details_routing_static.py +53 -0
  93. test/test_v1_extranets_b2b_peering_consumer_id_post_request_site_to_site_vpn_ipsec_gateway_details_tunnel1.py +54 -0
  94. test/test_v1_extranets_b2b_peering_customer_id_get200_response.py +57 -0
  95. test/test_v1_extranets_b2b_peering_customer_id_put_request.py +51 -0
  96. test/test_v1_extranets_b2b_peering_customer_post200_response.py +56 -0
  97. test/test_v1_extranets_b2b_peering_customer_post_request.py +57 -0
  98. test/test_v1_extranets_b2b_peering_customer_post_request_invite.py +54 -0
  99. test/test_v1_extranets_b2b_peering_match_customers_post200_response.py +64 -0
  100. test/test_v1_extranets_b2b_peering_match_customers_post_request.py +65 -0
  101. test/test_v1_extranets_b2b_peering_match_customers_post_request_info_inner.py +61 -0
  102. test/test_v1_extranets_b2b_peering_match_service_to_customer_post200_response.py +66 -0
  103. test/test_v1_extranets_b2b_peering_match_service_to_customer_put200_response.py +64 -0
  104. test/test_v1_extranets_b2b_peering_match_service_to_customer_put_request.py +65 -0
  105. test/test_v1_extranets_b2b_peering_match_service_to_customer_put_request_service.py +63 -0
  106. test/test_v1_extranets_b2b_peering_match_service_to_customer_put_request_service_nat_inner.py +52 -0
  107. test/test_v1_extranets_b2b_peering_match_service_to_customer_put_request_service_service_prefixes_inner.py +52 -0
  108. test/test_v1_extranets_b2b_peering_match_services_summary_get200_response.py +62 -0
  109. test/test_v1_extranets_b2b_peering_match_services_summary_get200_response_services_inner.py +59 -0
  110. test/test_v1_extranets_b2b_peering_producer_id_get200_response.py +80 -0
  111. test/test_v1_extranets_b2b_peering_producer_id_put_request.py +76 -0
  112. test/test_v1_extranets_b2b_peering_producer_post200_response.py +79 -0
  113. test/test_v1_extranets_b2b_peering_producer_post200_response_policy.py +77 -0
  114. test/test_v1_extranets_b2b_peering_producer_post_request.py +78 -0
  115. test/test_v1_extranets_b2b_peering_producer_post_request_policy.py +75 -0
  116. test/test_v1_gateways_guest_consumer_get200_response.py +93 -0
  117. test/test_v1_invitation_email_post_request.py +55 -0
  118. test/test_v1_temp_password_put_request.py +55 -0
  119. {graphiant_sdk-25.9.2.dist-info → graphiant_sdk-25.10.1.dist-info}/WHEEL +0 -0
  120. {graphiant_sdk-25.9.2.dist-info → graphiant_sdk-25.10.1.dist-info}/licenses/LICENSE +0 -0
  121. {graphiant_sdk-25.9.2.dist-info → graphiant_sdk-25.10.1.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,104 @@
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.v1_b2b_extranet_monitoring_filter_post200_response_filters_customers_inner import V1B2bExtranetMonitoringFilterPost200ResponseFiltersCustomersInner
23
+ from typing import Optional, Set
24
+ from typing_extensions import Self
25
+
26
+ class V1B2bExtranetMonitoringFilterPost200ResponseFilters(BaseModel):
27
+ """
28
+ V1B2bExtranetMonitoringFilterPost200ResponseFilters
29
+ """ # noqa: E501
30
+ customers: Optional[List[V1B2bExtranetMonitoringFilterPost200ResponseFiltersCustomersInner]] = None
31
+ sites: Optional[List[V1B2bExtranetMonitoringFilterPost200ResponseFiltersCustomersInner]] = None
32
+ __properties: ClassVar[List[str]] = ["customers", "sites"]
33
+
34
+ model_config = ConfigDict(
35
+ populate_by_name=True,
36
+ validate_assignment=True,
37
+ protected_namespaces=(),
38
+ )
39
+
40
+
41
+ def to_str(self) -> str:
42
+ """Returns the string representation of the model using alias"""
43
+ return pprint.pformat(self.model_dump(by_alias=True))
44
+
45
+ def to_json(self) -> str:
46
+ """Returns the JSON representation of the model using alias"""
47
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
48
+ return json.dumps(self.to_dict())
49
+
50
+ @classmethod
51
+ def from_json(cls, json_str: str) -> Optional[Self]:
52
+ """Create an instance of V1B2bExtranetMonitoringFilterPost200ResponseFilters from a JSON string"""
53
+ return cls.from_dict(json.loads(json_str))
54
+
55
+ def to_dict(self) -> Dict[str, Any]:
56
+ """Return the dictionary representation of the model using alias.
57
+
58
+ This has the following differences from calling pydantic's
59
+ `self.model_dump(by_alias=True)`:
60
+
61
+ * `None` is only added to the output dict for nullable fields that
62
+ were set at model initialization. Other fields with value `None`
63
+ are ignored.
64
+ """
65
+ excluded_fields: Set[str] = set([
66
+ ])
67
+
68
+ _dict = self.model_dump(
69
+ by_alias=True,
70
+ exclude=excluded_fields,
71
+ exclude_none=True,
72
+ )
73
+ # override the default output from pydantic by calling `to_dict()` of each item in customers (list)
74
+ _items = []
75
+ if self.customers:
76
+ for _item_customers in self.customers:
77
+ if _item_customers:
78
+ _items.append(_item_customers.to_dict())
79
+ _dict['customers'] = _items
80
+ # override the default output from pydantic by calling `to_dict()` of each item in sites (list)
81
+ _items = []
82
+ if self.sites:
83
+ for _item_sites in self.sites:
84
+ if _item_sites:
85
+ _items.append(_item_sites.to_dict())
86
+ _dict['sites'] = _items
87
+ return _dict
88
+
89
+ @classmethod
90
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
91
+ """Create an instance of V1B2bExtranetMonitoringFilterPost200ResponseFilters from a dict"""
92
+ if obj is None:
93
+ return None
94
+
95
+ if not isinstance(obj, dict):
96
+ return cls.model_validate(obj)
97
+
98
+ _obj = cls.model_validate({
99
+ "customers": [V1B2bExtranetMonitoringFilterPost200ResponseFiltersCustomersInner.from_dict(_item) for _item in obj["customers"]] if obj.get("customers") is not None else None,
100
+ "sites": [V1B2bExtranetMonitoringFilterPost200ResponseFiltersCustomersInner.from_dict(_item) for _item in obj["sites"]] if obj.get("sites") is not None else None
101
+ })
102
+ return _obj
103
+
104
+
@@ -0,0 +1,93 @@
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, StrictInt, StrictStr
21
+ from typing import Any, ClassVar, Dict, List, Optional
22
+ from typing import Optional, Set
23
+ from typing_extensions import Self
24
+
25
+ class V1B2bExtranetMonitoringFilterPost200ResponseFiltersCustomersInner(BaseModel):
26
+ """
27
+ V1B2bExtranetMonitoringFilterPost200ResponseFiltersCustomersInner
28
+ """ # noqa: E501
29
+ description: Optional[StrictStr] = None
30
+ id: Optional[StrictInt] = None
31
+ name: Optional[StrictStr] = None
32
+ type: Optional[StrictStr] = None
33
+ __properties: ClassVar[List[str]] = ["description", "id", "name", "type"]
34
+
35
+ model_config = ConfigDict(
36
+ populate_by_name=True,
37
+ validate_assignment=True,
38
+ protected_namespaces=(),
39
+ )
40
+
41
+
42
+ def to_str(self) -> str:
43
+ """Returns the string representation of the model using alias"""
44
+ return pprint.pformat(self.model_dump(by_alias=True))
45
+
46
+ def to_json(self) -> str:
47
+ """Returns the JSON representation of the model using alias"""
48
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
49
+ return json.dumps(self.to_dict())
50
+
51
+ @classmethod
52
+ def from_json(cls, json_str: str) -> Optional[Self]:
53
+ """Create an instance of V1B2bExtranetMonitoringFilterPost200ResponseFiltersCustomersInner from a JSON string"""
54
+ return cls.from_dict(json.loads(json_str))
55
+
56
+ def to_dict(self) -> Dict[str, Any]:
57
+ """Return the dictionary representation of the model using alias.
58
+
59
+ This has the following differences from calling pydantic's
60
+ `self.model_dump(by_alias=True)`:
61
+
62
+ * `None` is only added to the output dict for nullable fields that
63
+ were set at model initialization. Other fields with value `None`
64
+ are ignored.
65
+ """
66
+ excluded_fields: Set[str] = set([
67
+ ])
68
+
69
+ _dict = self.model_dump(
70
+ by_alias=True,
71
+ exclude=excluded_fields,
72
+ exclude_none=True,
73
+ )
74
+ return _dict
75
+
76
+ @classmethod
77
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
78
+ """Create an instance of V1B2bExtranetMonitoringFilterPost200ResponseFiltersCustomersInner from a dict"""
79
+ if obj is None:
80
+ return None
81
+
82
+ if not isinstance(obj, dict):
83
+ return cls.model_validate(obj)
84
+
85
+ _obj = cls.model_validate({
86
+ "description": obj.get("description"),
87
+ "id": obj.get("id"),
88
+ "name": obj.get("name"),
89
+ "type": obj.get("type")
90
+ })
91
+ return _obj
92
+
93
+
@@ -0,0 +1,91 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Graphiant APIs
5
+
6
+ Graphiant API documentation.
7
+
8
+ The version of the OpenAPI document: 1.0.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt
21
+ from typing import Any, ClassVar, Dict, List, Optional
22
+ from typing import Optional, Set
23
+ from typing_extensions import Self
24
+
25
+ class V1B2bExtranetMonitoringFilterPostRequest(BaseModel):
26
+ """
27
+ V1B2bExtranetMonitoringFilterPostRequest
28
+ """ # noqa: E501
29
+ id: Optional[StrictInt] = None
30
+ is_b2_b: Optional[StrictBool] = Field(default=None, alias="isB2B")
31
+ is_provider: Optional[StrictBool] = Field(default=None, alias="isProvider")
32
+ __properties: ClassVar[List[str]] = ["id", "isB2B", "isProvider"]
33
+
34
+ model_config = ConfigDict(
35
+ populate_by_name=True,
36
+ validate_assignment=True,
37
+ protected_namespaces=(),
38
+ )
39
+
40
+
41
+ def to_str(self) -> str:
42
+ """Returns the string representation of the model using alias"""
43
+ return pprint.pformat(self.model_dump(by_alias=True))
44
+
45
+ def to_json(self) -> str:
46
+ """Returns the JSON representation of the model using alias"""
47
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
48
+ return json.dumps(self.to_dict())
49
+
50
+ @classmethod
51
+ def from_json(cls, json_str: str) -> Optional[Self]:
52
+ """Create an instance of V1B2bExtranetMonitoringFilterPostRequest from a JSON string"""
53
+ return cls.from_dict(json.loads(json_str))
54
+
55
+ def to_dict(self) -> Dict[str, Any]:
56
+ """Return the dictionary representation of the model using alias.
57
+
58
+ This has the following differences from calling pydantic's
59
+ `self.model_dump(by_alias=True)`:
60
+
61
+ * `None` is only added to the output dict for nullable fields that
62
+ were set at model initialization. Other fields with value `None`
63
+ are ignored.
64
+ """
65
+ excluded_fields: Set[str] = set([
66
+ ])
67
+
68
+ _dict = self.model_dump(
69
+ by_alias=True,
70
+ exclude=excluded_fields,
71
+ exclude_none=True,
72
+ )
73
+ return _dict
74
+
75
+ @classmethod
76
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
77
+ """Create an instance of V1B2bExtranetMonitoringFilterPostRequest from a dict"""
78
+ if obj is None:
79
+ return None
80
+
81
+ if not isinstance(obj, dict):
82
+ return cls.model_validate(obj)
83
+
84
+ _obj = cls.model_validate({
85
+ "id": obj.get("id"),
86
+ "isB2B": obj.get("isB2B"),
87
+ "isProvider": obj.get("isProvider")
88
+ })
89
+ return _obj
90
+
91
+
@@ -25,8 +25,8 @@ from graphiant_sdk.models.v1_devices_device_id_config_put_request_core_core_vrf_
25
25
  from graphiant_sdk.models.v1_devices_device_id_config_put_request_core_core_vrf_bgp_neighbors_value_neighbor_ebgp_multihop_ttl import V1DevicesDeviceIdConfigPutRequestCoreCoreVrfBgpNeighborsValueNeighborEbgpMultihopTtl
26
26
  from graphiant_sdk.models.v1_devices_device_id_config_put_request_core_core_vrf_bgp_neighbors_value_neighbor_hold_timer_value import V1DevicesDeviceIdConfigPutRequestCoreCoreVrfBgpNeighborsValueNeighborHoldTimerValue
27
27
  from graphiant_sdk.models.v1_devices_device_id_config_put_request_core_core_vrf_bgp_neighbors_value_neighbor_max_prefix_value import V1DevicesDeviceIdConfigPutRequestCoreCoreVrfBgpNeighborsValueNeighborMaxPrefixValue
28
- from graphiant_sdk.models.v1_gateways_put_request_details_ipsec_gateway_routing_bgp_address_families_value import V1GatewaysPutRequestDetailsIpsecGatewayRoutingBgpAddressFamiliesValue
29
- from graphiant_sdk.models.v1_gateways_put_request_details_ipsec_gateway_routing_bgp_md5_password import V1GatewaysPutRequestDetailsIpsecGatewayRoutingBgpMd5Password
28
+ from graphiant_sdk.models.v1_extranets_b2b_peering_consumer_id_post_request_site_to_site_vpn_ipsec_gateway_details_routing_bgp_address_families_value import V1ExtranetsB2bPeeringConsumerIdPostRequestSiteToSiteVpnIpsecGatewayDetailsRoutingBgpAddressFamiliesValue
29
+ from graphiant_sdk.models.v1_extranets_b2b_peering_consumer_id_post_request_site_to_site_vpn_ipsec_gateway_details_routing_bgp_md5_password import V1ExtranetsB2bPeeringConsumerIdPostRequestSiteToSiteVpnIpsecGatewayDetailsRoutingBgpMd5Password
30
30
  from graphiant_sdk.models.v1_global_config_patch_request_routing_policies_value_policy_statements_value_statement_matches_value_match_source_interface import V1GlobalConfigPatchRequestRoutingPoliciesValuePolicyStatementsValueStatementMatchesValueMatchSourceInterface
31
31
  from typing import Optional, Set
32
32
  from typing_extensions import Self
@@ -35,7 +35,7 @@ class V1DevicesDeviceIdConfigPutRequestCoreCoreVrfBgpNeighborsValueNeighbor(Base
35
35
  """
36
36
  V1DevicesDeviceIdConfigPutRequestCoreCoreVrfBgpNeighborsValueNeighbor
37
37
  """ # noqa: E501
38
- address_families: Optional[Dict[str, V1GatewaysPutRequestDetailsIpsecGatewayRoutingBgpAddressFamiliesValue]] = Field(default=None, alias="addressFamilies")
38
+ address_families: Optional[Dict[str, V1ExtranetsB2bPeeringConsumerIdPostRequestSiteToSiteVpnIpsecGatewayDetailsRoutingBgpAddressFamiliesValue]] = Field(default=None, alias="addressFamilies")
39
39
  allow_as_in: Optional[V1DevicesDeviceIdConfigPutRequestCoreCoreVrfBgpNeighborsValueNeighborAllowAsIn] = Field(default=None, alias="allowAsIn")
40
40
  as_override: Optional[StrictBool] = Field(default=None, alias="asOverride")
41
41
  bfd: Optional[V1DevicesDeviceIdConfigPutRequestCoreCoreVrfBgpNeighborsValueNeighborBfd] = None
@@ -49,7 +49,7 @@ class V1DevicesDeviceIdConfigPutRequestCoreCoreVrfBgpNeighborsValueNeighbor(Base
49
49
  local_address: Optional[StrictStr] = Field(default=None, alias="localAddress")
50
50
  local_interface: Optional[V1GlobalConfigPatchRequestRoutingPoliciesValuePolicyStatementsValueStatementMatchesValueMatchSourceInterface] = Field(default=None, alias="localInterface")
51
51
  max_prefix_value: Optional[V1DevicesDeviceIdConfigPutRequestCoreCoreVrfBgpNeighborsValueNeighborMaxPrefixValue] = Field(default=None, alias="maxPrefixValue")
52
- md5_password: Optional[V1GatewaysPutRequestDetailsIpsecGatewayRoutingBgpMd5Password] = Field(default=None, alias="md5Password")
52
+ md5_password: Optional[V1ExtranetsB2bPeeringConsumerIdPostRequestSiteToSiteVpnIpsecGatewayDetailsRoutingBgpMd5Password] = Field(default=None, alias="md5Password")
53
53
  peer_asn: Optional[Annotated[int, Field(strict=True, ge=0)]] = Field(default=None, alias="peerAsn")
54
54
  remote_address: Optional[StrictStr] = Field(default=None, alias="remoteAddress")
55
55
  remove_private_as: Optional[StrictBool] = Field(default=None, alias="removePrivateAs")
@@ -139,7 +139,7 @@ class V1DevicesDeviceIdConfigPutRequestCoreCoreVrfBgpNeighborsValueNeighbor(Base
139
139
 
140
140
  _obj = cls.model_validate({
141
141
  "addressFamilies": dict(
142
- (_k, V1GatewaysPutRequestDetailsIpsecGatewayRoutingBgpAddressFamiliesValue.from_dict(_v))
142
+ (_k, V1ExtranetsB2bPeeringConsumerIdPostRequestSiteToSiteVpnIpsecGatewayDetailsRoutingBgpAddressFamiliesValue.from_dict(_v))
143
143
  for _k, _v in obj["addressFamilies"].items()
144
144
  )
145
145
  if obj.get("addressFamilies") is not None
@@ -157,7 +157,7 @@ class V1DevicesDeviceIdConfigPutRequestCoreCoreVrfBgpNeighborsValueNeighbor(Base
157
157
  "localAddress": obj.get("localAddress"),
158
158
  "localInterface": V1GlobalConfigPatchRequestRoutingPoliciesValuePolicyStatementsValueStatementMatchesValueMatchSourceInterface.from_dict(obj["localInterface"]) if obj.get("localInterface") is not None else None,
159
159
  "maxPrefixValue": V1DevicesDeviceIdConfigPutRequestCoreCoreVrfBgpNeighborsValueNeighborMaxPrefixValue.from_dict(obj["maxPrefixValue"]) if obj.get("maxPrefixValue") is not None else None,
160
- "md5Password": V1GatewaysPutRequestDetailsIpsecGatewayRoutingBgpMd5Password.from_dict(obj["md5Password"]) if obj.get("md5Password") is not None else None,
160
+ "md5Password": V1ExtranetsB2bPeeringConsumerIdPostRequestSiteToSiteVpnIpsecGatewayDetailsRoutingBgpMd5Password.from_dict(obj["md5Password"]) if obj.get("md5Password") is not None else None,
161
161
  "peerAsn": obj.get("peerAsn"),
162
162
  "remoteAddress": obj.get("remoteAddress"),
163
163
  "removePrivateAs": obj.get("removePrivateAs"),
@@ -20,7 +20,7 @@ import json
20
20
  from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr
21
21
  from typing import Any, ClassVar, Dict, List, Optional
22
22
  from typing_extensions import Annotated
23
- from graphiant_sdk.models.v1_gateways_put_request_details_ipsec_gateway_routing import V1GatewaysPutRequestDetailsIpsecGatewayRouting
23
+ from graphiant_sdk.models.v1_extranets_b2b_peering_consumer_id_post_request_site_to_site_vpn_ipsec_gateway_details_routing import V1ExtranetsB2bPeeringConsumerIdPostRequestSiteToSiteVpnIpsecGatewayDetailsRouting
24
24
  from typing import Optional, Set
25
25
  from typing_extensions import Self
26
26
 
@@ -42,7 +42,7 @@ class V1DevicesDeviceIdConfigPutRequestEdgeSiteToSiteVpnValueSiteToSiteVpn(BaseM
42
42
  remote_address_v4: Optional[StrictStr] = Field(default=None, alias="remoteAddressV4")
43
43
  remote_address_v6: Optional[StrictStr] = Field(default=None, alias="remoteAddressV6")
44
44
  remote_ike_peer_identity: Optional[StrictStr] = Field(default=None, alias="remoteIkePeerIdentity")
45
- routing: Optional[V1GatewaysPutRequestDetailsIpsecGatewayRouting] = None
45
+ routing: Optional[V1ExtranetsB2bPeeringConsumerIdPostRequestSiteToSiteVpnIpsecGatewayDetailsRouting] = None
46
46
  tcp_mss: Optional[Annotated[int, Field(strict=True, ge=0)]] = Field(default=None, alias="tcpMss")
47
47
  vpn_profile: Optional[StrictStr] = Field(default=None, alias="vpnProfile")
48
48
  __properties: ClassVar[List[str]] = ["destinationAddress", "ikeInitiator", "ipsecLabel", "lan", "localAddressV4", "localAddressV6", "localCircuit", "localIkePeerIdentity", "mtu", "name", "presharedKey", "remoteAddressV4", "remoteAddressV6", "remoteIkePeerIdentity", "routing", "tcpMss", "vpnProfile"]
@@ -115,7 +115,7 @@ class V1DevicesDeviceIdConfigPutRequestEdgeSiteToSiteVpnValueSiteToSiteVpn(BaseM
115
115
  "remoteAddressV4": obj.get("remoteAddressV4"),
116
116
  "remoteAddressV6": obj.get("remoteAddressV6"),
117
117
  "remoteIkePeerIdentity": obj.get("remoteIkePeerIdentity"),
118
- "routing": V1GatewaysPutRequestDetailsIpsecGatewayRouting.from_dict(obj["routing"]) if obj.get("routing") is not None else None,
118
+ "routing": V1ExtranetsB2bPeeringConsumerIdPostRequestSiteToSiteVpnIpsecGatewayDetailsRouting.from_dict(obj["routing"]) if obj.get("routing") is not None else None,
119
119
  "tcpMss": obj.get("tcpMss"),
120
120
  "vpnProfile": obj.get("vpnProfile")
121
121
  })
@@ -44,9 +44,10 @@ class V1EnterprisesGet200ResponseEnterprisesInner(BaseModel):
44
44
  parent_company_name: Optional[StrictStr] = Field(default=None, alias="parentCompanyName")
45
45
  parent_enterprise_id: Optional[StrictInt] = Field(default=None, alias="parentEnterpriseId")
46
46
  portal_banner: Optional[StrictStr] = Field(default=None, alias="portalBanner")
47
+ proxy_tenant_id: Optional[StrictInt] = Field(default=None, alias="proxyTenantId")
47
48
  small_logo: Optional[StrictStr] = Field(default=None, alias="smallLogo")
48
49
  token_expiry: Optional[StrictStr] = Field(default=None, alias="tokenExpiry")
49
- __properties: ClassVar[List[str]] = ["acceptEula", "accountType", "adminEmail", "cloudProvider", "companyName", "counts", "creditLimit", "customers", "enterpriseId", "eulaAgreementDate", "impersonationEnabled", "logo", "parentCompanyName", "parentEnterpriseId", "portalBanner", "smallLogo", "tokenExpiry"]
50
+ __properties: ClassVar[List[str]] = ["acceptEula", "accountType", "adminEmail", "cloudProvider", "companyName", "counts", "creditLimit", "customers", "enterpriseId", "eulaAgreementDate", "impersonationEnabled", "logo", "parentCompanyName", "parentEnterpriseId", "portalBanner", "proxyTenantId", "smallLogo", "tokenExpiry"]
50
51
 
51
52
  model_config = ConfigDict(
52
53
  populate_by_name=True,
@@ -132,6 +133,7 @@ class V1EnterprisesGet200ResponseEnterprisesInner(BaseModel):
132
133
  "parentCompanyName": obj.get("parentCompanyName"),
133
134
  "parentEnterpriseId": obj.get("parentEnterpriseId"),
134
135
  "portalBanner": obj.get("portalBanner"),
136
+ "proxyTenantId": obj.get("proxyTenantId"),
135
137
  "smallLogo": obj.get("smallLogo"),
136
138
  "tokenExpiry": obj.get("tokenExpiry")
137
139
  })
@@ -35,9 +35,10 @@ class V1EnterprisesPatchRequest(BaseModel):
35
35
  impersonation_enabled: Optional[StrictBool] = Field(default=None, alias="impersonationEnabled")
36
36
  logo: Optional[StrictStr] = None
37
37
  portal_banner: Optional[StrictStr] = Field(default=None, alias="portalBanner")
38
+ proxy_tenant_id: Optional[StrictInt] = Field(default=None, alias="proxyTenantId")
38
39
  small_logo: Optional[StrictStr] = Field(default=None, alias="smallLogo")
39
40
  token_expiry: Optional[V1EnterprisesPatchRequestTokenExpiry] = Field(default=None, alias="tokenExpiry")
40
- __properties: ClassVar[List[str]] = ["adminEmail", "cloudProvider", "companyName", "creditLimit", "enterpriseId", "impersonationEnabled", "logo", "portalBanner", "smallLogo", "tokenExpiry"]
41
+ __properties: ClassVar[List[str]] = ["adminEmail", "cloudProvider", "companyName", "creditLimit", "enterpriseId", "impersonationEnabled", "logo", "portalBanner", "proxyTenantId", "smallLogo", "tokenExpiry"]
41
42
 
42
43
  model_config = ConfigDict(
43
44
  populate_by_name=True,
@@ -101,6 +102,7 @@ class V1EnterprisesPatchRequest(BaseModel):
101
102
  "impersonationEnabled": obj.get("impersonationEnabled"),
102
103
  "logo": obj.get("logo"),
103
104
  "portalBanner": obj.get("portalBanner"),
105
+ "proxyTenantId": obj.get("proxyTenantId"),
104
106
  "smallLogo": obj.get("smallLogo"),
105
107
  "tokenExpiry": V1EnterprisesPatchRequestTokenExpiry.from_dict(obj["tokenExpiry"]) if obj.get("tokenExpiry") is not None else None
106
108
  })
@@ -0,0 +1,87 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Graphiant APIs
5
+
6
+ Graphiant API documentation.
7
+
8
+ The version of the OpenAPI document: 1.0.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from pydantic import BaseModel, ConfigDict, Field, StrictStr
21
+ from typing import Any, ClassVar, Dict, List, Optional
22
+ from typing import Optional, Set
23
+ from typing_extensions import Self
24
+
25
+ class V1ExtranetB2bMonitoringPeeringServiceServiceCustomerListPost200Response(BaseModel):
26
+ """
27
+ V1ExtranetB2bMonitoringPeeringServiceServiceCustomerListPost200Response
28
+ """ # noqa: E501
29
+ customer_name: Optional[List[StrictStr]] = Field(default=None, alias="customerName")
30
+ __properties: ClassVar[List[str]] = ["customerName"]
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 V1ExtranetB2bMonitoringPeeringServiceServiceCustomerListPost200Response 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 V1ExtranetB2bMonitoringPeeringServiceServiceCustomerListPost200Response 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
+ "customerName": obj.get("customerName")
84
+ })
85
+ return _obj
86
+
87
+
@@ -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, Field, StrictBool, StrictInt
21
+ from typing import Any, ClassVar, Dict, List, Optional
22
+ from graphiant_sdk.models.v2_notificationlist_post_request_time_window import V2NotificationlistPostRequestTimeWindow
23
+ from typing import Optional, Set
24
+ from typing_extensions import Self
25
+
26
+ class V1ExtranetB2bMonitoringPeeringServiceServiceCustomerListPostRequest(BaseModel):
27
+ """
28
+ V1ExtranetB2bMonitoringPeeringServiceServiceCustomerListPostRequest
29
+ """ # noqa: E501
30
+ id: Optional[StrictInt] = None
31
+ is_provider: Optional[StrictBool] = Field(default=None, alias="isProvider")
32
+ time_window: Optional[V2NotificationlistPostRequestTimeWindow] = Field(default=None, alias="timeWindow")
33
+ __properties: ClassVar[List[str]] = ["id", "isProvider", "timeWindow"]
34
+
35
+ model_config = ConfigDict(
36
+ populate_by_name=True,
37
+ validate_assignment=True,
38
+ protected_namespaces=(),
39
+ )
40
+
41
+
42
+ def to_str(self) -> str:
43
+ """Returns the string representation of the model using alias"""
44
+ return pprint.pformat(self.model_dump(by_alias=True))
45
+
46
+ def to_json(self) -> str:
47
+ """Returns the JSON representation of the model using alias"""
48
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
49
+ return json.dumps(self.to_dict())
50
+
51
+ @classmethod
52
+ def from_json(cls, json_str: str) -> Optional[Self]:
53
+ """Create an instance of V1ExtranetB2bMonitoringPeeringServiceServiceCustomerListPostRequest from a JSON string"""
54
+ return cls.from_dict(json.loads(json_str))
55
+
56
+ def to_dict(self) -> Dict[str, Any]:
57
+ """Return the dictionary representation of the model using alias.
58
+
59
+ This has the following differences from calling pydantic's
60
+ `self.model_dump(by_alias=True)`:
61
+
62
+ * `None` is only added to the output dict for nullable fields that
63
+ were set at model initialization. Other fields with value `None`
64
+ are ignored.
65
+ """
66
+ excluded_fields: Set[str] = set([
67
+ ])
68
+
69
+ _dict = self.model_dump(
70
+ by_alias=True,
71
+ exclude=excluded_fields,
72
+ exclude_none=True,
73
+ )
74
+ # override the default output from pydantic by calling `to_dict()` of time_window
75
+ if self.time_window:
76
+ _dict['timeWindow'] = self.time_window.to_dict()
77
+ return _dict
78
+
79
+ @classmethod
80
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
81
+ """Create an instance of V1ExtranetB2bMonitoringPeeringServiceServiceCustomerListPostRequest from a dict"""
82
+ if obj is None:
83
+ return None
84
+
85
+ if not isinstance(obj, dict):
86
+ return cls.model_validate(obj)
87
+
88
+ _obj = cls.model_validate({
89
+ "id": obj.get("id"),
90
+ "isProvider": obj.get("isProvider"),
91
+ "timeWindow": V2NotificationlistPostRequestTimeWindow.from_dict(obj["timeWindow"]) if obj.get("timeWindow") is not None else None
92
+ })
93
+ return _obj
94
+
95
+