graphiant-sdk 25.10.1__py3-none-any.whl → 25.10.2__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.
- graphiant_sdk/__init__.py +62 -1290
- graphiant_sdk/api/__init__.py +1 -16
- graphiant_sdk/api/default_api.py +6589 -7804
- graphiant_sdk/api_client.py +5 -5
- graphiant_sdk/configuration.py +1 -1
- graphiant_sdk/models/__init__.py +31 -1246
- graphiant_sdk/models/v1_auth_login_temp_post_request.py +6 -4
- graphiant_sdk/models/v1_devices_device_id_config_put_request_core_core_vrf_bgp_neighbors_value_neighbor.py +6 -6
- graphiant_sdk/models/v1_devices_device_id_config_put_request_core_core_vrf_bgp_redistribution_value.py +3 -3
- graphiant_sdk/models/v1_devices_device_id_config_put_request_edge_site_to_site_vpn_value_site_to_site_vpn.py +3 -3
- graphiant_sdk/models/v1_extranets_b2b_peering_consumer_customer_id_consumer_details_get200_response.py +166 -0
- graphiant_sdk/models/v1_extranets_b2b_peering_consumer_customer_id_consumer_details_get200_response_ipsec_tunnel_config_inner.py +150 -0
- graphiant_sdk/models/v1_extranets_b2b_peering_consumer_customer_id_consumer_details_get200_response_match_details.py +109 -0
- graphiant_sdk/models/v1_extranets_b2b_peering_consumer_customer_id_consumer_details_get200_response_match_details_customer.py +94 -0
- graphiant_sdk/models/v1_extranets_b2b_peering_consumer_customer_id_consumer_details_get200_response_match_details_service.py +95 -0
- graphiant_sdk/models/v1_extranets_b2b_peering_consumer_customer_id_consumer_details_get200_response_match_details_service_prefixes_inner.py +91 -0
- graphiant_sdk/models/v1_extranets_b2b_peering_consumer_match_id_match_details_get200_response.py +95 -0
- graphiant_sdk/models/v1_extranets_b2b_peering_consumer_match_id_post200_response.py +109 -0
- graphiant_sdk/models/v1_extranets_b2b_peering_consumer_match_id_post_request.py +140 -0
- graphiant_sdk/models/v1_extranets_b2b_peering_consumer_match_id_post_request_global_object_ops_value.py +87 -0
- graphiant_sdk/models/v1_extranets_b2b_peering_consumer_match_id_post_request_policy_inner.py +89 -0
- graphiant_sdk/models/v1_extranets_b2b_peering_consumer_match_id_post_request_site_to_site_vpn.py +95 -0
- graphiant_sdk/models/v1_extranets_b2b_peering_consumer_match_id_post_request_site_to_site_vpn_ipsec_gateway_details.py +117 -0
- graphiant_sdk/models/v1_extranets_b2b_peering_consumer_match_id_post_request_site_to_site_vpn_ipsec_gateway_details_routing.py +97 -0
- graphiant_sdk/models/v1_extranets_b2b_peering_consumer_match_id_post_request_site_to_site_vpn_ipsec_gateway_details_routing_bgp.py +115 -0
- graphiant_sdk/models/v1_extranets_b2b_peering_consumer_match_id_post_request_site_to_site_vpn_ipsec_gateway_details_routing_bgp_address_families_value.py +91 -0
- graphiant_sdk/models/v1_extranets_b2b_peering_consumer_match_id_post_request_site_to_site_vpn_ipsec_gateway_details_routing_bgp_address_families_value_family.py +98 -0
- graphiant_sdk/models/v1_extranets_b2b_peering_consumer_match_id_post_request_site_to_site_vpn_ipsec_gateway_details_routing_bgp_md5_password.py +87 -0
- graphiant_sdk/models/v1_extranets_b2b_peering_consumer_match_id_post_request_site_to_site_vpn_ipsec_gateway_details_routing_static.py +87 -0
- graphiant_sdk/models/v1_extranets_b2b_peering_consumer_match_id_post_request_site_to_site_vpn_ipsec_gateway_details_tunnel1.py +93 -0
- graphiant_sdk/models/v1_extranets_b2b_peering_match_service_to_customer_post200_response.py +7 -5
- graphiant_sdk/models/v1_extranets_b2b_peering_match_service_to_customer_post_request.py +93 -0
- graphiant_sdk/models/v1_extranets_b2b_peering_match_service_to_customer_post_request_service.py +112 -0
- graphiant_sdk/models/v1_extranets_b2b_peering_match_service_to_customer_post_request_service_nat_inner.py +89 -0
- graphiant_sdk/models/v1_extranets_b2b_peering_match_service_to_customer_post_request_service_service_prefixes_inner.py +89 -0
- graphiant_sdk/models/v1_extranets_b2b_peering_producer_id_matching_customers_summary_get200_response.py +95 -0
- graphiant_sdk/models/v1_extranets_b2b_peering_producer_id_matching_customers_summary_get200_response_info_inner.py +104 -0
- graphiant_sdk/models/v1_extranets_b2b_peering_producer_post_request_policy.py +19 -4
- graphiant_sdk/models/v1_extranets_b2b_post_request_policy.py +33 -4
- graphiant_sdk/models/v1_extranets_b2b_post_request_policy_global_object_device_summaries_value.py +95 -0
- graphiant_sdk/models/v1_extranets_b2b_post_request_policy_global_object_device_summaries_value_routing_policies_inner.py +114 -0
- graphiant_sdk/models/v1_extranets_get200_response_policies_inner_branches_excluded_devices_inner_ipsec_tunnels_inner.py +3 -3
- graphiant_sdk/models/v1_extranets_get200_response_policies_inner_branches_excluded_devices_inner_region.py +5 -3
- graphiant_sdk/models/v1_gateways_guest_consumer_match_id_get200_response.py +103 -0
- graphiant_sdk/models/v1_gateways_put_request_details.py +3 -3
- graphiant_sdk/models/v1_global_config_patch_request_snmps_value_config_notify_filter_profiles_value_notify_filter_profile.py +3 -3
- graphiant_sdk/models/v1_invitation_email_post_request.py +3 -1
- graphiant_sdk/models/v1_temp_password_put_request.py +4 -2
- graphiant_sdk/models/v2_assistant_conversation_interface_state_get200_response.py +87 -0
- {graphiant_sdk-25.10.1.dist-info → graphiant_sdk-25.10.2.dist-info}/METADATA +3 -4
- {graphiant_sdk-25.10.1.dist-info → graphiant_sdk-25.10.2.dist-info}/RECORD +84 -24
- test/test_v1_extranets_b2b_peering_consumer_customer_id_consumer_details_get200_response.py +224 -0
- test/test_v1_extranets_b2b_peering_consumer_customer_id_consumer_details_get200_response_ipsec_tunnel_config_inner.py +82 -0
- test/test_v1_extranets_b2b_peering_consumer_customer_id_consumer_details_get200_response_match_details.py +74 -0
- test/test_v1_extranets_b2b_peering_consumer_customer_id_consumer_details_get200_response_match_details_customer.py +56 -0
- test/test_v1_extranets_b2b_peering_consumer_customer_id_consumer_details_get200_response_match_details_service.py +57 -0
- test/test_v1_extranets_b2b_peering_consumer_customer_id_consumer_details_get200_response_match_details_service_prefixes_inner.py +53 -0
- test/test_v1_extranets_b2b_peering_consumer_match_id_match_details_get200_response.py +77 -0
- test/test_v1_extranets_b2b_peering_consumer_match_id_post200_response.py +74 -0
- test/test_v1_extranets_b2b_peering_consumer_match_id_post_request.py +130 -0
- test/test_v1_extranets_b2b_peering_consumer_match_id_post_request_global_object_ops_value.py +53 -0
- test/test_v1_extranets_b2b_peering_consumer_match_id_post_request_policy_inner.py +54 -0
- test/test_v1_extranets_b2b_peering_consumer_match_id_post_request_site_to_site_vpn.py +92 -0
- test/test_v1_extranets_b2b_peering_consumer_match_id_post_request_site_to_site_vpn_ipsec_gateway_details.py +87 -0
- test/test_v1_extranets_b2b_peering_consumer_match_id_post_request_site_to_site_vpn_ipsec_gateway_details_routing.py +69 -0
- test/test_v1_extranets_b2b_peering_consumer_match_id_post_request_site_to_site_vpn_ipsec_gateway_details_routing_bgp.py +64 -0
- test/test_v1_extranets_b2b_peering_consumer_match_id_post_request_site_to_site_vpn_ipsec_gateway_details_routing_bgp_address_families_value.py +56 -0
- test/test_v1_extranets_b2b_peering_consumer_match_id_post_request_site_to_site_vpn_ipsec_gateway_details_routing_bgp_address_families_value_family.py +55 -0
- test/test_v1_extranets_b2b_peering_consumer_match_id_post_request_site_to_site_vpn_ipsec_gateway_details_routing_bgp_md5_password.py +51 -0
- test/test_v1_extranets_b2b_peering_consumer_match_id_post_request_site_to_site_vpn_ipsec_gateway_details_routing_static.py +53 -0
- test/test_v1_extranets_b2b_peering_consumer_match_id_post_request_site_to_site_vpn_ipsec_gateway_details_tunnel1.py +54 -0
- test/test_v1_extranets_b2b_peering_match_service_to_customer_post_request.py +65 -0
- test/test_v1_extranets_b2b_peering_match_service_to_customer_post_request_service.py +63 -0
- test/test_v1_extranets_b2b_peering_match_service_to_customer_post_request_service_nat_inner.py +52 -0
- test/test_v1_extranets_b2b_peering_match_service_to_customer_post_request_service_service_prefixes_inner.py +52 -0
- test/test_v1_extranets_b2b_peering_producer_id_matching_customers_summary_get200_response.py +64 -0
- test/test_v1_extranets_b2b_peering_producer_id_matching_customers_summary_get200_response_info_inner.py +61 -0
- test/test_v1_extranets_b2b_post_request_policy_global_object_device_summaries_value.py +67 -0
- test/test_v1_extranets_b2b_post_request_policy_global_object_device_summaries_value_routing_policies_inner.py +64 -0
- test/test_v1_gateways_guest_consumer_match_id_get200_response.py +131 -0
- test/test_v2_assistant_conversation_interface_state_get200_response.py +51 -0
- {graphiant_sdk-25.10.1.dist-info → graphiant_sdk-25.10.2.dist-info}/WHEEL +0 -0
- {graphiant_sdk-25.10.1.dist-info → graphiant_sdk-25.10.2.dist-info}/licenses/LICENSE +0 -0
- {graphiant_sdk-25.10.1.dist-info → graphiant_sdk-25.10.2.dist-info}/top_level.txt +0 -0
|
@@ -17,8 +17,8 @@ import pprint
|
|
|
17
17
|
import re # noqa: F401
|
|
18
18
|
import json
|
|
19
19
|
|
|
20
|
-
from pydantic import BaseModel, ConfigDict, Field, StrictStr
|
|
21
|
-
from typing import Any, ClassVar, Dict, List, Optional
|
|
20
|
+
from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr
|
|
21
|
+
from typing import Any, ClassVar, Dict, List, Optional, Union
|
|
22
22
|
from typing import Optional, Set
|
|
23
23
|
from typing_extensions import Self
|
|
24
24
|
|
|
@@ -28,7 +28,8 @@ class V1AuthLoginTempPostRequest(BaseModel):
|
|
|
28
28
|
""" # noqa: E501
|
|
29
29
|
email: Optional[StrictStr] = None
|
|
30
30
|
temp_password: Optional[StrictStr] = Field(default=None, alias="tempPassword")
|
|
31
|
-
|
|
31
|
+
match_id: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, alias="matchId")
|
|
32
|
+
__properties: ClassVar[List[str]] = ["email", "tempPassword", "matchId"]
|
|
32
33
|
|
|
33
34
|
model_config = ConfigDict(
|
|
34
35
|
populate_by_name=True,
|
|
@@ -82,7 +83,8 @@ class V1AuthLoginTempPostRequest(BaseModel):
|
|
|
82
83
|
|
|
83
84
|
_obj = cls.model_validate({
|
|
84
85
|
"email": obj.get("email"),
|
|
85
|
-
"tempPassword": obj.get("tempPassword")
|
|
86
|
+
"tempPassword": obj.get("tempPassword"),
|
|
87
|
+
"matchId": obj.get("matchId")
|
|
86
88
|
})
|
|
87
89
|
return _obj
|
|
88
90
|
|
|
@@ -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.
|
|
29
|
-
from graphiant_sdk.models.
|
|
28
|
+
from graphiant_sdk.models.v1_extranets_b2b_peering_consumer_match_id_post_request_site_to_site_vpn_ipsec_gateway_details_routing_bgp_address_families_value import V1ExtranetsB2bPeeringConsumerMatchIdPostRequestSiteToSiteVpnIpsecGatewayDetailsRoutingBgpAddressFamiliesValue
|
|
29
|
+
from graphiant_sdk.models.v1_extranets_b2b_peering_consumer_match_id_post_request_site_to_site_vpn_ipsec_gateway_details_routing_bgp_md5_password import V1ExtranetsB2bPeeringConsumerMatchIdPostRequestSiteToSiteVpnIpsecGatewayDetailsRoutingBgpMd5Password
|
|
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,
|
|
38
|
+
address_families: Optional[Dict[str, V1ExtranetsB2bPeeringConsumerMatchIdPostRequestSiteToSiteVpnIpsecGatewayDetailsRoutingBgpAddressFamiliesValue]] = 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[
|
|
52
|
+
md5_password: Optional[V1ExtranetsB2bPeeringConsumerMatchIdPostRequestSiteToSiteVpnIpsecGatewayDetailsRoutingBgpMd5Password] = 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,
|
|
142
|
+
(_k, V1ExtranetsB2bPeeringConsumerMatchIdPostRequestSiteToSiteVpnIpsecGatewayDetailsRoutingBgpAddressFamiliesValue.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":
|
|
160
|
+
"md5Password": V1ExtranetsB2bPeeringConsumerMatchIdPostRequestSiteToSiteVpnIpsecGatewayDetailsRoutingBgpMd5Password.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"),
|
|
@@ -19,7 +19,7 @@ import json
|
|
|
19
19
|
|
|
20
20
|
from pydantic import BaseModel, ConfigDict
|
|
21
21
|
from typing import Any, ClassVar, Dict, List, Optional
|
|
22
|
-
from graphiant_sdk.models.
|
|
22
|
+
from graphiant_sdk.models.v2_assistant_conversation_interface_state_get200_response import V2AssistantConversationInterfaceStateGet200Response
|
|
23
23
|
from typing import Optional, Set
|
|
24
24
|
from typing_extensions import Self
|
|
25
25
|
|
|
@@ -27,7 +27,7 @@ class V1DevicesDeviceIdConfigPutRequestCoreCoreVrfBgpRedistributionValue(BaseMod
|
|
|
27
27
|
"""
|
|
28
28
|
V1DevicesDeviceIdConfigPutRequestCoreCoreVrfBgpRedistributionValue
|
|
29
29
|
""" # noqa: E501
|
|
30
|
-
protocol: Optional[
|
|
30
|
+
protocol: Optional[V2AssistantConversationInterfaceStateGet200Response] = None
|
|
31
31
|
__properties: ClassVar[List[str]] = ["protocol"]
|
|
32
32
|
|
|
33
33
|
model_config = ConfigDict(
|
|
@@ -84,7 +84,7 @@ class V1DevicesDeviceIdConfigPutRequestCoreCoreVrfBgpRedistributionValue(BaseMod
|
|
|
84
84
|
return cls.model_validate(obj)
|
|
85
85
|
|
|
86
86
|
_obj = cls.model_validate({
|
|
87
|
-
"protocol":
|
|
87
|
+
"protocol": V2AssistantConversationInterfaceStateGet200Response.from_dict(obj["protocol"]) if obj.get("protocol") is not None else None
|
|
88
88
|
})
|
|
89
89
|
return _obj
|
|
90
90
|
|
|
@@ -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.
|
|
23
|
+
from graphiant_sdk.models.v1_extranets_b2b_peering_consumer_match_id_post_request_site_to_site_vpn_ipsec_gateway_details_routing import V1ExtranetsB2bPeeringConsumerMatchIdPostRequestSiteToSiteVpnIpsecGatewayDetailsRouting
|
|
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[
|
|
45
|
+
routing: Optional[V1ExtranetsB2bPeeringConsumerMatchIdPostRequestSiteToSiteVpnIpsecGatewayDetailsRouting] = 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":
|
|
118
|
+
"routing": V1ExtranetsB2bPeeringConsumerMatchIdPostRequestSiteToSiteVpnIpsecGatewayDetailsRouting.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
|
})
|
|
@@ -0,0 +1,166 @@
|
|
|
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, StrictInt, StrictStr
|
|
21
|
+
from typing import Any, ClassVar, Dict, List, Optional
|
|
22
|
+
from graphiant_sdk.models.v1_extranets_b2b_consumer_post_request_site_information_inner import V1ExtranetsB2bConsumerPostRequestSiteInformationInner
|
|
23
|
+
from graphiant_sdk.models.v1_extranets_b2b_peering_consumer_customer_id_consumer_details_get200_response_ipsec_tunnel_config_inner import V1ExtranetsB2bPeeringConsumerCustomerIdConsumerDetailsGet200ResponseIpsecTunnelConfigInner
|
|
24
|
+
from graphiant_sdk.models.v1_extranets_b2b_peering_consumer_customer_id_consumer_details_get200_response_match_details import V1ExtranetsB2bPeeringConsumerCustomerIdConsumerDetailsGet200ResponseMatchDetails
|
|
25
|
+
from graphiant_sdk.models.v1_extranets_b2b_peering_consumer_match_id_post_request_policy_inner import V1ExtranetsB2bPeeringConsumerMatchIdPostRequestPolicyInner
|
|
26
|
+
from graphiant_sdk.models.v1_extranets_b2b_peering_consumer_match_id_post_request_site_to_site_vpn import V1ExtranetsB2bPeeringConsumerMatchIdPostRequestSiteToSiteVpn
|
|
27
|
+
from graphiant_sdk.models.v1_extranets_b2b_post_request_policy_global_object_device_summaries_value import V1ExtranetsB2bPostRequestPolicyGlobalObjectDeviceSummariesValue
|
|
28
|
+
from typing import Optional, Set
|
|
29
|
+
from typing_extensions import Self
|
|
30
|
+
|
|
31
|
+
class V1ExtranetsB2bPeeringConsumerCustomerIdConsumerDetailsGet200Response(BaseModel):
|
|
32
|
+
"""
|
|
33
|
+
V1ExtranetsB2bPeeringConsumerCustomerIdConsumerDetailsGet200Response
|
|
34
|
+
""" # noqa: E501
|
|
35
|
+
consumer_id: Optional[StrictInt] = Field(default=None, alias="consumerId")
|
|
36
|
+
consumer_name: Optional[StrictStr] = Field(default=None, alias="consumerName")
|
|
37
|
+
emails: Optional[List[StrictStr]] = None
|
|
38
|
+
global_object_device_summaries: Optional[Dict[str, V1ExtranetsB2bPostRequestPolicyGlobalObjectDeviceSummariesValue]] = Field(default=None, alias="globalObjectDeviceSummaries")
|
|
39
|
+
global_object_summaries: Optional[Dict[str, V1ExtranetsB2bPostRequestPolicyGlobalObjectDeviceSummariesValue]] = Field(default=None, alias="globalObjectSummaries")
|
|
40
|
+
ipsec_tunnel_config: Optional[List[V1ExtranetsB2bPeeringConsumerCustomerIdConsumerDetailsGet200ResponseIpsecTunnelConfigInner]] = Field(default=None, alias="ipsecTunnelConfig")
|
|
41
|
+
match_details: Optional[V1ExtranetsB2bPeeringConsumerCustomerIdConsumerDetailsGet200ResponseMatchDetails] = Field(default=None, alias="matchDetails")
|
|
42
|
+
peer_type: Optional[StrictStr] = Field(default=None, alias="peerType")
|
|
43
|
+
policy: Optional[List[V1ExtranetsB2bPeeringConsumerMatchIdPostRequestPolicyInner]] = None
|
|
44
|
+
site_information: Optional[List[V1ExtranetsB2bConsumerPostRequestSiteInformationInner]] = Field(default=None, alias="siteInformation")
|
|
45
|
+
site_to_site_vpn: Optional[V1ExtranetsB2bPeeringConsumerMatchIdPostRequestSiteToSiteVpn] = Field(default=None, alias="siteToSiteVpn")
|
|
46
|
+
status: Optional[StrictStr] = None
|
|
47
|
+
__properties: ClassVar[List[str]] = ["consumerId", "consumerName", "emails", "globalObjectDeviceSummaries", "globalObjectSummaries", "ipsecTunnelConfig", "matchDetails", "peerType", "policy", "siteInformation", "siteToSiteVpn", "status"]
|
|
48
|
+
|
|
49
|
+
model_config = ConfigDict(
|
|
50
|
+
populate_by_name=True,
|
|
51
|
+
validate_assignment=True,
|
|
52
|
+
protected_namespaces=(),
|
|
53
|
+
)
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
def to_str(self) -> str:
|
|
57
|
+
"""Returns the string representation of the model using alias"""
|
|
58
|
+
return pprint.pformat(self.model_dump(by_alias=True))
|
|
59
|
+
|
|
60
|
+
def to_json(self) -> str:
|
|
61
|
+
"""Returns the JSON representation of the model using alias"""
|
|
62
|
+
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
63
|
+
return json.dumps(self.to_dict())
|
|
64
|
+
|
|
65
|
+
@classmethod
|
|
66
|
+
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
67
|
+
"""Create an instance of V1ExtranetsB2bPeeringConsumerCustomerIdConsumerDetailsGet200Response from a JSON string"""
|
|
68
|
+
return cls.from_dict(json.loads(json_str))
|
|
69
|
+
|
|
70
|
+
def to_dict(self) -> Dict[str, Any]:
|
|
71
|
+
"""Return the dictionary representation of the model using alias.
|
|
72
|
+
|
|
73
|
+
This has the following differences from calling pydantic's
|
|
74
|
+
`self.model_dump(by_alias=True)`:
|
|
75
|
+
|
|
76
|
+
* `None` is only added to the output dict for nullable fields that
|
|
77
|
+
were set at model initialization. Other fields with value `None`
|
|
78
|
+
are ignored.
|
|
79
|
+
"""
|
|
80
|
+
excluded_fields: Set[str] = set([
|
|
81
|
+
])
|
|
82
|
+
|
|
83
|
+
_dict = self.model_dump(
|
|
84
|
+
by_alias=True,
|
|
85
|
+
exclude=excluded_fields,
|
|
86
|
+
exclude_none=True,
|
|
87
|
+
)
|
|
88
|
+
# override the default output from pydantic by calling `to_dict()` of each value in global_object_device_summaries (dict)
|
|
89
|
+
_field_dict = {}
|
|
90
|
+
if self.global_object_device_summaries:
|
|
91
|
+
for _key_global_object_device_summaries in self.global_object_device_summaries:
|
|
92
|
+
if self.global_object_device_summaries[_key_global_object_device_summaries]:
|
|
93
|
+
_field_dict[_key_global_object_device_summaries] = self.global_object_device_summaries[_key_global_object_device_summaries].to_dict()
|
|
94
|
+
_dict['globalObjectDeviceSummaries'] = _field_dict
|
|
95
|
+
# override the default output from pydantic by calling `to_dict()` of each value in global_object_summaries (dict)
|
|
96
|
+
_field_dict = {}
|
|
97
|
+
if self.global_object_summaries:
|
|
98
|
+
for _key_global_object_summaries in self.global_object_summaries:
|
|
99
|
+
if self.global_object_summaries[_key_global_object_summaries]:
|
|
100
|
+
_field_dict[_key_global_object_summaries] = self.global_object_summaries[_key_global_object_summaries].to_dict()
|
|
101
|
+
_dict['globalObjectSummaries'] = _field_dict
|
|
102
|
+
# override the default output from pydantic by calling `to_dict()` of each item in ipsec_tunnel_config (list)
|
|
103
|
+
_items = []
|
|
104
|
+
if self.ipsec_tunnel_config:
|
|
105
|
+
for _item_ipsec_tunnel_config in self.ipsec_tunnel_config:
|
|
106
|
+
if _item_ipsec_tunnel_config:
|
|
107
|
+
_items.append(_item_ipsec_tunnel_config.to_dict())
|
|
108
|
+
_dict['ipsecTunnelConfig'] = _items
|
|
109
|
+
# override the default output from pydantic by calling `to_dict()` of match_details
|
|
110
|
+
if self.match_details:
|
|
111
|
+
_dict['matchDetails'] = self.match_details.to_dict()
|
|
112
|
+
# override the default output from pydantic by calling `to_dict()` of each item in policy (list)
|
|
113
|
+
_items = []
|
|
114
|
+
if self.policy:
|
|
115
|
+
for _item_policy in self.policy:
|
|
116
|
+
if _item_policy:
|
|
117
|
+
_items.append(_item_policy.to_dict())
|
|
118
|
+
_dict['policy'] = _items
|
|
119
|
+
# override the default output from pydantic by calling `to_dict()` of each item in site_information (list)
|
|
120
|
+
_items = []
|
|
121
|
+
if self.site_information:
|
|
122
|
+
for _item_site_information in self.site_information:
|
|
123
|
+
if _item_site_information:
|
|
124
|
+
_items.append(_item_site_information.to_dict())
|
|
125
|
+
_dict['siteInformation'] = _items
|
|
126
|
+
# override the default output from pydantic by calling `to_dict()` of site_to_site_vpn
|
|
127
|
+
if self.site_to_site_vpn:
|
|
128
|
+
_dict['siteToSiteVpn'] = self.site_to_site_vpn.to_dict()
|
|
129
|
+
return _dict
|
|
130
|
+
|
|
131
|
+
@classmethod
|
|
132
|
+
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
133
|
+
"""Create an instance of V1ExtranetsB2bPeeringConsumerCustomerIdConsumerDetailsGet200Response from a dict"""
|
|
134
|
+
if obj is None:
|
|
135
|
+
return None
|
|
136
|
+
|
|
137
|
+
if not isinstance(obj, dict):
|
|
138
|
+
return cls.model_validate(obj)
|
|
139
|
+
|
|
140
|
+
_obj = cls.model_validate({
|
|
141
|
+
"consumerId": obj.get("consumerId"),
|
|
142
|
+
"consumerName": obj.get("consumerName"),
|
|
143
|
+
"emails": obj.get("emails"),
|
|
144
|
+
"globalObjectDeviceSummaries": dict(
|
|
145
|
+
(_k, V1ExtranetsB2bPostRequestPolicyGlobalObjectDeviceSummariesValue.from_dict(_v))
|
|
146
|
+
for _k, _v in obj["globalObjectDeviceSummaries"].items()
|
|
147
|
+
)
|
|
148
|
+
if obj.get("globalObjectDeviceSummaries") is not None
|
|
149
|
+
else None,
|
|
150
|
+
"globalObjectSummaries": dict(
|
|
151
|
+
(_k, V1ExtranetsB2bPostRequestPolicyGlobalObjectDeviceSummariesValue.from_dict(_v))
|
|
152
|
+
for _k, _v in obj["globalObjectSummaries"].items()
|
|
153
|
+
)
|
|
154
|
+
if obj.get("globalObjectSummaries") is not None
|
|
155
|
+
else None,
|
|
156
|
+
"ipsecTunnelConfig": [V1ExtranetsB2bPeeringConsumerCustomerIdConsumerDetailsGet200ResponseIpsecTunnelConfigInner.from_dict(_item) for _item in obj["ipsecTunnelConfig"]] if obj.get("ipsecTunnelConfig") is not None else None,
|
|
157
|
+
"matchDetails": V1ExtranetsB2bPeeringConsumerCustomerIdConsumerDetailsGet200ResponseMatchDetails.from_dict(obj["matchDetails"]) if obj.get("matchDetails") is not None else None,
|
|
158
|
+
"peerType": obj.get("peerType"),
|
|
159
|
+
"policy": [V1ExtranetsB2bPeeringConsumerMatchIdPostRequestPolicyInner.from_dict(_item) for _item in obj["policy"]] if obj.get("policy") is not None else None,
|
|
160
|
+
"siteInformation": [V1ExtranetsB2bConsumerPostRequestSiteInformationInner.from_dict(_item) for _item in obj["siteInformation"]] if obj.get("siteInformation") is not None else None,
|
|
161
|
+
"siteToSiteVpn": V1ExtranetsB2bPeeringConsumerMatchIdPostRequestSiteToSiteVpn.from_dict(obj["siteToSiteVpn"]) if obj.get("siteToSiteVpn") is not None else None,
|
|
162
|
+
"status": obj.get("status")
|
|
163
|
+
})
|
|
164
|
+
return _obj
|
|
165
|
+
|
|
166
|
+
|
|
@@ -0,0 +1,150 @@
|
|
|
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, StrictStr
|
|
21
|
+
from typing import Any, ClassVar, Dict, List, Optional
|
|
22
|
+
from typing_extensions import Annotated
|
|
23
|
+
from typing import Optional, Set
|
|
24
|
+
from typing_extensions import Self
|
|
25
|
+
|
|
26
|
+
class V1ExtranetsB2bPeeringConsumerCustomerIdConsumerDetailsGet200ResponseIpsecTunnelConfigInner(BaseModel):
|
|
27
|
+
"""
|
|
28
|
+
V1ExtranetsB2bPeeringConsumerCustomerIdConsumerDetailsGet200ResponseIpsecTunnelConfigInner
|
|
29
|
+
""" # noqa: E501
|
|
30
|
+
bgp_graphiant_asn: Optional[Annotated[int, Field(strict=True, ge=0)]] = Field(default=None, alias="bgpGraphiantAsn")
|
|
31
|
+
bgp_local_asn: Optional[Annotated[int, Field(strict=True, ge=0)]] = Field(default=None, alias="bgpLocalAsn")
|
|
32
|
+
bgp_neighbor_hold_time: Optional[Annotated[int, Field(strict=True, ge=0)]] = Field(default=None, alias="bgpNeighborHoldTime")
|
|
33
|
+
bgp_neighbor_ipv4: Optional[StrictStr] = Field(default=None, alias="bgpNeighborIpv4")
|
|
34
|
+
bgp_neighbor_ipv6: Optional[StrictStr] = Field(default=None, alias="bgpNeighborIpv6")
|
|
35
|
+
dpd_interval: Optional[Annotated[int, Field(strict=True, ge=0)]] = Field(default=None, alias="dpdInterval")
|
|
36
|
+
dpd_retries: Optional[Annotated[int, Field(strict=True, ge=0)]] = Field(default=None, alias="dpdRetries")
|
|
37
|
+
graphiant_destination_ip: Optional[StrictStr] = Field(default=None, alias="graphiantDestinationIp")
|
|
38
|
+
graphiant_ike_id: Optional[StrictStr] = Field(default=None, alias="graphiantIkeId")
|
|
39
|
+
graphiant_outer_tunnel_ip: Optional[StrictStr] = Field(default=None, alias="graphiantOuterTunnelIp")
|
|
40
|
+
graphiant_tunnel_ip: Optional[StrictStr] = Field(default=None, alias="graphiantTunnelIp")
|
|
41
|
+
graphiant_tunnel_ipv6: Optional[StrictStr] = Field(default=None, alias="graphiantTunnelIpv6")
|
|
42
|
+
ike_authentication_algorithm: Optional[StrictStr] = Field(default=None, alias="ikeAuthenticationAlgorithm")
|
|
43
|
+
ike_authentication_method: Optional[StrictStr] = Field(default=None, alias="ikeAuthenticationMethod")
|
|
44
|
+
ike_dh_algorithm: Optional[StrictStr] = Field(default=None, alias="ikeDhAlgorithm")
|
|
45
|
+
ike_encryption_algorithm: Optional[StrictStr] = Field(default=None, alias="ikeEncryptionAlgorithm")
|
|
46
|
+
ike_lifetime: Optional[StrictStr] = Field(default=None, alias="ikeLifetime")
|
|
47
|
+
ike_preshared_key: Optional[StrictStr] = Field(default=None, alias="ikePresharedKey")
|
|
48
|
+
ike_version: Optional[StrictInt] = Field(default=None, alias="ikeVersion")
|
|
49
|
+
ipsec_authentication_algorithm: Optional[StrictStr] = Field(default=None, alias="ipsecAuthenticationAlgorithm")
|
|
50
|
+
ipsec_encryption_algorithm: Optional[StrictStr] = Field(default=None, alias="ipsecEncryptionAlgorithm")
|
|
51
|
+
ipsec_extended_sequence_number: Optional[StrictBool] = Field(default=None, alias="ipsecExtendedSequenceNumber")
|
|
52
|
+
ipsec_lifetime: Optional[StrictStr] = Field(default=None, alias="ipsecLifetime")
|
|
53
|
+
ipsec_mode: Optional[StrictStr] = Field(default=None, alias="ipsecMode")
|
|
54
|
+
ipsec_pfs_algorithm: Optional[StrictStr] = Field(default=None, alias="ipsecPfsAlgorithm")
|
|
55
|
+
ipsec_protocol: Optional[StrictStr] = Field(default=None, alias="ipsecProtocol")
|
|
56
|
+
local_ike_id: Optional[StrictStr] = Field(default=None, alias="localIkeId")
|
|
57
|
+
local_outer_tunnel_ip: Optional[StrictStr] = Field(default=None, alias="localOuterTunnelIp")
|
|
58
|
+
local_tunnel_ip: Optional[StrictStr] = Field(default=None, alias="localTunnelIp")
|
|
59
|
+
local_tunnel_ipv6: Optional[StrictStr] = Field(default=None, alias="localTunnelIpv6")
|
|
60
|
+
tcp_mss: Optional[Annotated[int, Field(strict=True, ge=0)]] = Field(default=None, alias="tcpMss")
|
|
61
|
+
tunnel_mtu: Optional[Annotated[int, Field(strict=True, ge=0)]] = Field(default=None, alias="tunnelMtu")
|
|
62
|
+
__properties: ClassVar[List[str]] = ["bgpGraphiantAsn", "bgpLocalAsn", "bgpNeighborHoldTime", "bgpNeighborIpv4", "bgpNeighborIpv6", "dpdInterval", "dpdRetries", "graphiantDestinationIp", "graphiantIkeId", "graphiantOuterTunnelIp", "graphiantTunnelIp", "graphiantTunnelIpv6", "ikeAuthenticationAlgorithm", "ikeAuthenticationMethod", "ikeDhAlgorithm", "ikeEncryptionAlgorithm", "ikeLifetime", "ikePresharedKey", "ikeVersion", "ipsecAuthenticationAlgorithm", "ipsecEncryptionAlgorithm", "ipsecExtendedSequenceNumber", "ipsecLifetime", "ipsecMode", "ipsecPfsAlgorithm", "ipsecProtocol", "localIkeId", "localOuterTunnelIp", "localTunnelIp", "localTunnelIpv6", "tcpMss", "tunnelMtu"]
|
|
63
|
+
|
|
64
|
+
model_config = ConfigDict(
|
|
65
|
+
populate_by_name=True,
|
|
66
|
+
validate_assignment=True,
|
|
67
|
+
protected_namespaces=(),
|
|
68
|
+
)
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
def to_str(self) -> str:
|
|
72
|
+
"""Returns the string representation of the model using alias"""
|
|
73
|
+
return pprint.pformat(self.model_dump(by_alias=True))
|
|
74
|
+
|
|
75
|
+
def to_json(self) -> str:
|
|
76
|
+
"""Returns the JSON representation of the model using alias"""
|
|
77
|
+
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
78
|
+
return json.dumps(self.to_dict())
|
|
79
|
+
|
|
80
|
+
@classmethod
|
|
81
|
+
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
82
|
+
"""Create an instance of V1ExtranetsB2bPeeringConsumerCustomerIdConsumerDetailsGet200ResponseIpsecTunnelConfigInner from a JSON string"""
|
|
83
|
+
return cls.from_dict(json.loads(json_str))
|
|
84
|
+
|
|
85
|
+
def to_dict(self) -> Dict[str, Any]:
|
|
86
|
+
"""Return the dictionary representation of the model using alias.
|
|
87
|
+
|
|
88
|
+
This has the following differences from calling pydantic's
|
|
89
|
+
`self.model_dump(by_alias=True)`:
|
|
90
|
+
|
|
91
|
+
* `None` is only added to the output dict for nullable fields that
|
|
92
|
+
were set at model initialization. Other fields with value `None`
|
|
93
|
+
are ignored.
|
|
94
|
+
"""
|
|
95
|
+
excluded_fields: Set[str] = set([
|
|
96
|
+
])
|
|
97
|
+
|
|
98
|
+
_dict = self.model_dump(
|
|
99
|
+
by_alias=True,
|
|
100
|
+
exclude=excluded_fields,
|
|
101
|
+
exclude_none=True,
|
|
102
|
+
)
|
|
103
|
+
return _dict
|
|
104
|
+
|
|
105
|
+
@classmethod
|
|
106
|
+
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
107
|
+
"""Create an instance of V1ExtranetsB2bPeeringConsumerCustomerIdConsumerDetailsGet200ResponseIpsecTunnelConfigInner from a dict"""
|
|
108
|
+
if obj is None:
|
|
109
|
+
return None
|
|
110
|
+
|
|
111
|
+
if not isinstance(obj, dict):
|
|
112
|
+
return cls.model_validate(obj)
|
|
113
|
+
|
|
114
|
+
_obj = cls.model_validate({
|
|
115
|
+
"bgpGraphiantAsn": obj.get("bgpGraphiantAsn"),
|
|
116
|
+
"bgpLocalAsn": obj.get("bgpLocalAsn"),
|
|
117
|
+
"bgpNeighborHoldTime": obj.get("bgpNeighborHoldTime"),
|
|
118
|
+
"bgpNeighborIpv4": obj.get("bgpNeighborIpv4"),
|
|
119
|
+
"bgpNeighborIpv6": obj.get("bgpNeighborIpv6"),
|
|
120
|
+
"dpdInterval": obj.get("dpdInterval"),
|
|
121
|
+
"dpdRetries": obj.get("dpdRetries"),
|
|
122
|
+
"graphiantDestinationIp": obj.get("graphiantDestinationIp"),
|
|
123
|
+
"graphiantIkeId": obj.get("graphiantIkeId"),
|
|
124
|
+
"graphiantOuterTunnelIp": obj.get("graphiantOuterTunnelIp"),
|
|
125
|
+
"graphiantTunnelIp": obj.get("graphiantTunnelIp"),
|
|
126
|
+
"graphiantTunnelIpv6": obj.get("graphiantTunnelIpv6"),
|
|
127
|
+
"ikeAuthenticationAlgorithm": obj.get("ikeAuthenticationAlgorithm"),
|
|
128
|
+
"ikeAuthenticationMethod": obj.get("ikeAuthenticationMethod"),
|
|
129
|
+
"ikeDhAlgorithm": obj.get("ikeDhAlgorithm"),
|
|
130
|
+
"ikeEncryptionAlgorithm": obj.get("ikeEncryptionAlgorithm"),
|
|
131
|
+
"ikeLifetime": obj.get("ikeLifetime"),
|
|
132
|
+
"ikePresharedKey": obj.get("ikePresharedKey"),
|
|
133
|
+
"ikeVersion": obj.get("ikeVersion"),
|
|
134
|
+
"ipsecAuthenticationAlgorithm": obj.get("ipsecAuthenticationAlgorithm"),
|
|
135
|
+
"ipsecEncryptionAlgorithm": obj.get("ipsecEncryptionAlgorithm"),
|
|
136
|
+
"ipsecExtendedSequenceNumber": obj.get("ipsecExtendedSequenceNumber"),
|
|
137
|
+
"ipsecLifetime": obj.get("ipsecLifetime"),
|
|
138
|
+
"ipsecMode": obj.get("ipsecMode"),
|
|
139
|
+
"ipsecPfsAlgorithm": obj.get("ipsecPfsAlgorithm"),
|
|
140
|
+
"ipsecProtocol": obj.get("ipsecProtocol"),
|
|
141
|
+
"localIkeId": obj.get("localIkeId"),
|
|
142
|
+
"localOuterTunnelIp": obj.get("localOuterTunnelIp"),
|
|
143
|
+
"localTunnelIp": obj.get("localTunnelIp"),
|
|
144
|
+
"localTunnelIpv6": obj.get("localTunnelIpv6"),
|
|
145
|
+
"tcpMss": obj.get("tcpMss"),
|
|
146
|
+
"tunnelMtu": obj.get("tunnelMtu")
|
|
147
|
+
})
|
|
148
|
+
return _obj
|
|
149
|
+
|
|
150
|
+
|
|
@@ -0,0 +1,109 @@
|
|
|
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 graphiant_sdk.models.v1_extranets_b2b_peering_consumer_customer_id_consumer_details_get200_response_match_details_customer import V1ExtranetsB2bPeeringConsumerCustomerIdConsumerDetailsGet200ResponseMatchDetailsCustomer
|
|
23
|
+
from graphiant_sdk.models.v1_extranets_b2b_peering_consumer_customer_id_consumer_details_get200_response_match_details_service import V1ExtranetsB2bPeeringConsumerCustomerIdConsumerDetailsGet200ResponseMatchDetailsService
|
|
24
|
+
from graphiant_sdk.models.v1_extranets_b2b_peering_consumer_customer_id_consumer_details_get200_response_match_details_service_prefixes_inner import V1ExtranetsB2bPeeringConsumerCustomerIdConsumerDetailsGet200ResponseMatchDetailsServicePrefixesInner
|
|
25
|
+
from typing import Optional, Set
|
|
26
|
+
from typing_extensions import Self
|
|
27
|
+
|
|
28
|
+
class V1ExtranetsB2bPeeringConsumerCustomerIdConsumerDetailsGet200ResponseMatchDetails(BaseModel):
|
|
29
|
+
"""
|
|
30
|
+
V1ExtranetsB2bPeeringConsumerCustomerIdConsumerDetailsGet200ResponseMatchDetails
|
|
31
|
+
""" # noqa: E501
|
|
32
|
+
consumer_prefixes: Optional[List[StrictStr]] = Field(default=None, alias="consumerPrefixes")
|
|
33
|
+
customer: Optional[V1ExtranetsB2bPeeringConsumerCustomerIdConsumerDetailsGet200ResponseMatchDetailsCustomer] = None
|
|
34
|
+
service: Optional[V1ExtranetsB2bPeeringConsumerCustomerIdConsumerDetailsGet200ResponseMatchDetailsService] = None
|
|
35
|
+
service_prefixes: Optional[List[V1ExtranetsB2bPeeringConsumerCustomerIdConsumerDetailsGet200ResponseMatchDetailsServicePrefixesInner]] = Field(default=None, alias="servicePrefixes")
|
|
36
|
+
__properties: ClassVar[List[str]] = ["consumerPrefixes", "customer", "service", "servicePrefixes"]
|
|
37
|
+
|
|
38
|
+
model_config = ConfigDict(
|
|
39
|
+
populate_by_name=True,
|
|
40
|
+
validate_assignment=True,
|
|
41
|
+
protected_namespaces=(),
|
|
42
|
+
)
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
def to_str(self) -> str:
|
|
46
|
+
"""Returns the string representation of the model using alias"""
|
|
47
|
+
return pprint.pformat(self.model_dump(by_alias=True))
|
|
48
|
+
|
|
49
|
+
def to_json(self) -> str:
|
|
50
|
+
"""Returns the JSON representation of the model using alias"""
|
|
51
|
+
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
52
|
+
return json.dumps(self.to_dict())
|
|
53
|
+
|
|
54
|
+
@classmethod
|
|
55
|
+
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
56
|
+
"""Create an instance of V1ExtranetsB2bPeeringConsumerCustomerIdConsumerDetailsGet200ResponseMatchDetails from a JSON string"""
|
|
57
|
+
return cls.from_dict(json.loads(json_str))
|
|
58
|
+
|
|
59
|
+
def to_dict(self) -> Dict[str, Any]:
|
|
60
|
+
"""Return the dictionary representation of the model using alias.
|
|
61
|
+
|
|
62
|
+
This has the following differences from calling pydantic's
|
|
63
|
+
`self.model_dump(by_alias=True)`:
|
|
64
|
+
|
|
65
|
+
* `None` is only added to the output dict for nullable fields that
|
|
66
|
+
were set at model initialization. Other fields with value `None`
|
|
67
|
+
are ignored.
|
|
68
|
+
"""
|
|
69
|
+
excluded_fields: Set[str] = set([
|
|
70
|
+
])
|
|
71
|
+
|
|
72
|
+
_dict = self.model_dump(
|
|
73
|
+
by_alias=True,
|
|
74
|
+
exclude=excluded_fields,
|
|
75
|
+
exclude_none=True,
|
|
76
|
+
)
|
|
77
|
+
# override the default output from pydantic by calling `to_dict()` of customer
|
|
78
|
+
if self.customer:
|
|
79
|
+
_dict['customer'] = self.customer.to_dict()
|
|
80
|
+
# override the default output from pydantic by calling `to_dict()` of service
|
|
81
|
+
if self.service:
|
|
82
|
+
_dict['service'] = self.service.to_dict()
|
|
83
|
+
# override the default output from pydantic by calling `to_dict()` of each item in service_prefixes (list)
|
|
84
|
+
_items = []
|
|
85
|
+
if self.service_prefixes:
|
|
86
|
+
for _item_service_prefixes in self.service_prefixes:
|
|
87
|
+
if _item_service_prefixes:
|
|
88
|
+
_items.append(_item_service_prefixes.to_dict())
|
|
89
|
+
_dict['servicePrefixes'] = _items
|
|
90
|
+
return _dict
|
|
91
|
+
|
|
92
|
+
@classmethod
|
|
93
|
+
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
94
|
+
"""Create an instance of V1ExtranetsB2bPeeringConsumerCustomerIdConsumerDetailsGet200ResponseMatchDetails from a dict"""
|
|
95
|
+
if obj is None:
|
|
96
|
+
return None
|
|
97
|
+
|
|
98
|
+
if not isinstance(obj, dict):
|
|
99
|
+
return cls.model_validate(obj)
|
|
100
|
+
|
|
101
|
+
_obj = cls.model_validate({
|
|
102
|
+
"consumerPrefixes": obj.get("consumerPrefixes"),
|
|
103
|
+
"customer": V1ExtranetsB2bPeeringConsumerCustomerIdConsumerDetailsGet200ResponseMatchDetailsCustomer.from_dict(obj["customer"]) if obj.get("customer") is not None else None,
|
|
104
|
+
"service": V1ExtranetsB2bPeeringConsumerCustomerIdConsumerDetailsGet200ResponseMatchDetailsService.from_dict(obj["service"]) if obj.get("service") is not None else None,
|
|
105
|
+
"servicePrefixes": [V1ExtranetsB2bPeeringConsumerCustomerIdConsumerDetailsGet200ResponseMatchDetailsServicePrefixesInner.from_dict(_item) for _item in obj["servicePrefixes"]] if obj.get("servicePrefixes") is not None else None
|
|
106
|
+
})
|
|
107
|
+
return _obj
|
|
108
|
+
|
|
109
|
+
|