graphiant-sdk 25.7.1__py3-none-any.whl → 25.8.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 (67) hide show
  1. graphiant_sdk/__init__.py +21 -6
  2. graphiant_sdk/api/default_api.py +15423 -9804
  3. graphiant_sdk/api_client.py +1 -1
  4. graphiant_sdk/configuration.py +1 -1
  5. graphiant_sdk/models/__init__.py +20 -5
  6. graphiant_sdk/models/v1_auth_mfa_patch_request.py +87 -0
  7. graphiant_sdk/models/v1_backbone_health_device_device_id_post200_response.py +3 -3
  8. graphiant_sdk/models/v1_bwtracker_enterprise_details_post200_response_bwusage_details.py +11 -2
  9. graphiant_sdk/models/v1_bwtracker_region_site_gateway_summary_post200_response.py +91 -0
  10. graphiant_sdk/models/v1_bwtracker_region_site_gateway_summary_post200_response_bwusage_summary.py +102 -0
  11. graphiant_sdk/models/v1_devices_device_id_config_put_request_edge_interfaces_value_interface.py +6 -2
  12. graphiant_sdk/models/v1_devices_running_version_post200_response_versions_inner.py +3 -3
  13. graphiant_sdk/models/v1_devices_upgrade_schedule_put_request.py +14 -4
  14. graphiant_sdk/models/v1_edges_hardware_assigned_get200_response_edges_summary_inner_upgrade_summary.py +17 -5
  15. graphiant_sdk/models/v1_edges_hardware_assigned_get200_response_edges_summary_inner_upgrade_summary_last_running_version.py +91 -0
  16. graphiant_sdk/models/v1_edges_hardware_assigned_get200_response_edges_summary_inner_upgrade_summary_schedule.py +3 -3
  17. graphiant_sdk/models/v1_global_site_lists_get200_response.py +97 -0
  18. graphiant_sdk/models/v1_global_site_lists_get200_response_entries_inner.py +103 -0
  19. graphiant_sdk/models/v1_global_site_lists_id_get200_response.py +97 -0
  20. graphiant_sdk/models/v1_global_site_lists_id_sites_get200_response_entries_inner.py +3 -3
  21. graphiant_sdk/models/v1_global_site_lists_post_request.py +99 -0
  22. graphiant_sdk/models/v1_global_site_lists_post_request_entries_inner.py +93 -0
  23. graphiant_sdk/models/v1_global_site_lists_post_request_entries_inner_tag.py +91 -0
  24. graphiant_sdk/models/v1_groups_id_members_delete_post_request.py +87 -0
  25. graphiant_sdk/models/v1_groups_id_members_get200_response_users_inner.py +7 -1
  26. graphiant_sdk/models/v1_groups_id_members_post_request.py +5 -3
  27. graphiant_sdk/models/v1_onboarding_cloudinit_get200_response.py +95 -0
  28. graphiant_sdk/models/v1_onboarding_cloudinit_get200_response_cloudinit_tokens_inner.py +105 -0
  29. graphiant_sdk/models/v1_onboarding_cloudinit_get200_response_cloudinit_tokens_inner_cloudinit_config.py +103 -0
  30. graphiant_sdk/models/v1_onboarding_cloudinit_get200_response_cloudinit_tokens_inner_cloudinit_config_interfaces_inner.py +100 -0
  31. graphiant_sdk/models/v1_onboarding_cloudinit_get200_response_cloudinit_tokens_inner_cloudinit_config_interfaces_inner_ipv4.py +91 -0
  32. graphiant_sdk/models/v1_onboarding_cloudinit_get200_response_cloudinit_tokens_inner_token.py +98 -0
  33. graphiant_sdk/models/v1_software_auto_upgrade_default_get200_response.py +7 -7
  34. graphiant_sdk/models/v1_software_auto_upgrade_default_get200_response_profile.py +97 -0
  35. graphiant_sdk/models/v1_software_auto_upgrade_default_get200_response_profile_occurrence.py +93 -0
  36. graphiant_sdk/models/v1_software_releases_summary_get200_response_summaries_inner.py +6 -1
  37. graphiant_sdk/models/v1_troubleshooting_device_device_id_post200_response.py +3 -3
  38. graphiant_sdk/models/v2_assistant_add_to_conversation_post200_response.py +4 -2
  39. graphiant_sdk/models/v2_assistant_conversation_context_history_post_request.py +87 -0
  40. graphiant_sdk/models/v2_assistant_get_conversations_post200_response.py +5 -3
  41. graphiant_sdk/models/v2_assistant_get_conversations_post200_response_conversation_list_inner.py +5 -3
  42. graphiant_sdk-25.8.1.dist-info/METADATA +384 -0
  43. {graphiant_sdk-25.7.1.dist-info → graphiant_sdk-25.8.1.dist-info}/RECORD +66 -26
  44. test/test_v1_auth_mfa_patch_request.py +53 -0
  45. test/test_v1_bwtracker_region_site_gateway_summary_post200_response.py +61 -0
  46. test/test_v1_bwtracker_region_site_gateway_summary_post200_response_bwusage_summary.py +60 -0
  47. test/test_v1_edges_hardware_assigned_get200_response_edges_summary_inner_upgrade_summary_last_running_version.py +53 -0
  48. test/test_v1_global_site_lists_get200_response.py +63 -0
  49. test/test_v1_global_site_lists_get200_response_entries_inner.py +59 -0
  50. test/test_v1_global_site_lists_id_get200_response.py +59 -0
  51. test/test_v1_global_site_lists_post_request.py +60 -0
  52. test/test_v1_global_site_lists_post_request_entries_inner.py +55 -0
  53. test/test_v1_global_site_lists_post_request_entries_inner_tag.py +53 -0
  54. test/test_v1_groups_id_members_delete_post_request.py +53 -0
  55. test/test_v1_onboarding_cloudinit_get200_response.py +82 -0
  56. test/test_v1_onboarding_cloudinit_get200_response_cloudinit_tokens_inner.py +79 -0
  57. test/test_v1_onboarding_cloudinit_get200_response_cloudinit_tokens_inner_cloudinit_config.py +67 -0
  58. test/test_v1_onboarding_cloudinit_get200_response_cloudinit_tokens_inner_cloudinit_config_interfaces_inner.py +60 -0
  59. test/test_v1_onboarding_cloudinit_get200_response_cloudinit_tokens_inner_cloudinit_config_interfaces_inner_ipv4.py +53 -0
  60. test/test_v1_onboarding_cloudinit_get200_response_cloudinit_tokens_inner_token.py +57 -0
  61. test/test_v1_software_auto_upgrade_default_get200_response_profile.py +58 -0
  62. test/test_v1_software_auto_upgrade_default_get200_response_profile_occurrence.py +54 -0
  63. test/test_v2_assistant_conversation_context_history_post_request.py +51 -0
  64. graphiant_sdk-25.7.1.dist-info/METADATA +0 -119
  65. {graphiant_sdk-25.7.1.dist-info → graphiant_sdk-25.8.1.dist-info}/WHEEL +0 -0
  66. {graphiant_sdk-25.7.1.dist-info → graphiant_sdk-25.8.1.dist-info}/licenses/LICENSE +0 -0
  67. {graphiant_sdk-25.7.1.dist-info → graphiant_sdk-25.8.1.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,53 @@
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
+ import unittest
16
+
17
+ from graphiant_sdk.models.v1_onboarding_cloudinit_get200_response_cloudinit_tokens_inner_cloudinit_config_interfaces_inner_ipv4 import V1OnboardingCloudinitGet200ResponseCloudinitTokensInnerCloudinitConfigInterfacesInnerIpv4
18
+
19
+ class TestV1OnboardingCloudinitGet200ResponseCloudinitTokensInnerCloudinitConfigInterfacesInnerIpv4(unittest.TestCase):
20
+ """V1OnboardingCloudinitGet200ResponseCloudinitTokensInnerCloudinitConfigInterfacesInnerIpv4 unit test stubs"""
21
+
22
+ def setUp(self):
23
+ pass
24
+
25
+ def tearDown(self):
26
+ pass
27
+
28
+ def make_instance(self, include_optional) -> V1OnboardingCloudinitGet200ResponseCloudinitTokensInnerCloudinitConfigInterfacesInnerIpv4:
29
+ """Test V1OnboardingCloudinitGet200ResponseCloudinitTokensInnerCloudinitConfigInterfacesInnerIpv4
30
+ include_optional is a boolean, when False only required
31
+ params are included, when True both required and
32
+ optional params are included """
33
+ # uncomment below to create an instance of `V1OnboardingCloudinitGet200ResponseCloudinitTokensInnerCloudinitConfigInterfacesInnerIpv4`
34
+ """
35
+ model = V1OnboardingCloudinitGet200ResponseCloudinitTokensInnerCloudinitConfigInterfacesInnerIpv4()
36
+ if include_optional:
37
+ return V1OnboardingCloudinitGet200ResponseCloudinitTokensInnerCloudinitConfigInterfacesInnerIpv4(
38
+ gateway_addr = 'example string',
39
+ ip_addr = 'example string',
40
+ type = 'example string'
41
+ )
42
+ else:
43
+ return V1OnboardingCloudinitGet200ResponseCloudinitTokensInnerCloudinitConfigInterfacesInnerIpv4(
44
+ )
45
+ """
46
+
47
+ def testV1OnboardingCloudinitGet200ResponseCloudinitTokensInnerCloudinitConfigInterfacesInnerIpv4(self):
48
+ """Test V1OnboardingCloudinitGet200ResponseCloudinitTokensInnerCloudinitConfigInterfacesInnerIpv4"""
49
+ # inst_req_only = self.make_instance(include_optional=False)
50
+ # inst_req_and_optional = self.make_instance(include_optional=True)
51
+
52
+ if __name__ == '__main__':
53
+ unittest.main()
@@ -0,0 +1,57 @@
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
+ import unittest
16
+
17
+ from graphiant_sdk.models.v1_onboarding_cloudinit_get200_response_cloudinit_tokens_inner_token import V1OnboardingCloudinitGet200ResponseCloudinitTokensInnerToken
18
+
19
+ class TestV1OnboardingCloudinitGet200ResponseCloudinitTokensInnerToken(unittest.TestCase):
20
+ """V1OnboardingCloudinitGet200ResponseCloudinitTokensInnerToken unit test stubs"""
21
+
22
+ def setUp(self):
23
+ pass
24
+
25
+ def tearDown(self):
26
+ pass
27
+
28
+ def make_instance(self, include_optional) -> V1OnboardingCloudinitGet200ResponseCloudinitTokensInnerToken:
29
+ """Test V1OnboardingCloudinitGet200ResponseCloudinitTokensInnerToken
30
+ include_optional is a boolean, when False only required
31
+ params are included, when True both required and
32
+ optional params are included """
33
+ # uncomment below to create an instance of `V1OnboardingCloudinitGet200ResponseCloudinitTokensInnerToken`
34
+ """
35
+ model = V1OnboardingCloudinitGet200ResponseCloudinitTokensInnerToken()
36
+ if include_optional:
37
+ return V1OnboardingCloudinitGet200ResponseCloudinitTokensInnerToken(
38
+ created_by_ts = graphiant_sdk.models._v1_alarm_history_get_200_response_history_inner_time._v1_alarm_history_get_200_response_history_inner_time(
39
+ nanos = 123,
40
+ seconds = 1234567891011, ),
41
+ expiry_by_ts = graphiant_sdk.models._v1_alarm_history_get_200_response_history_inner_time._v1_alarm_history_get_200_response_history_inner_time(
42
+ nanos = 123,
43
+ seconds = 1234567891011, ),
44
+ token = 'example string'
45
+ )
46
+ else:
47
+ return V1OnboardingCloudinitGet200ResponseCloudinitTokensInnerToken(
48
+ )
49
+ """
50
+
51
+ def testV1OnboardingCloudinitGet200ResponseCloudinitTokensInnerToken(self):
52
+ """Test V1OnboardingCloudinitGet200ResponseCloudinitTokensInnerToken"""
53
+ # inst_req_only = self.make_instance(include_optional=False)
54
+ # inst_req_and_optional = self.make_instance(include_optional=True)
55
+
56
+ if __name__ == '__main__':
57
+ unittest.main()
@@ -0,0 +1,58 @@
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
+ import unittest
16
+
17
+ from graphiant_sdk.models.v1_software_auto_upgrade_default_get200_response_profile import V1SoftwareAutoUpgradeDefaultGet200ResponseProfile
18
+
19
+ class TestV1SoftwareAutoUpgradeDefaultGet200ResponseProfile(unittest.TestCase):
20
+ """V1SoftwareAutoUpgradeDefaultGet200ResponseProfile unit test stubs"""
21
+
22
+ def setUp(self):
23
+ pass
24
+
25
+ def tearDown(self):
26
+ pass
27
+
28
+ def make_instance(self, include_optional) -> V1SoftwareAutoUpgradeDefaultGet200ResponseProfile:
29
+ """Test V1SoftwareAutoUpgradeDefaultGet200ResponseProfile
30
+ include_optional is a boolean, when False only required
31
+ params are included, when True both required and
32
+ optional params are included """
33
+ # uncomment below to create an instance of `V1SoftwareAutoUpgradeDefaultGet200ResponseProfile`
34
+ """
35
+ model = V1SoftwareAutoUpgradeDefaultGet200ResponseProfile()
36
+ if include_optional:
37
+ return V1SoftwareAutoUpgradeDefaultGet200ResponseProfile(
38
+ action = 'ENUM_VALUE',
39
+ name = 'example string',
40
+ occurrence = graphiant_sdk.models._v1_software_auto_upgrade_default_get_200_response_profile_occurrence._v1_software_auto_upgrade_default_get_200_response_profile_occurrence(
41
+ day_of_week = 'ENUM_VALUE',
42
+ hour = 123,
43
+ minute = 123,
44
+ occurrence_in_month = 123, ),
45
+ release = 'ENUM_VALUE'
46
+ )
47
+ else:
48
+ return V1SoftwareAutoUpgradeDefaultGet200ResponseProfile(
49
+ )
50
+ """
51
+
52
+ def testV1SoftwareAutoUpgradeDefaultGet200ResponseProfile(self):
53
+ """Test V1SoftwareAutoUpgradeDefaultGet200ResponseProfile"""
54
+ # inst_req_only = self.make_instance(include_optional=False)
55
+ # inst_req_and_optional = self.make_instance(include_optional=True)
56
+
57
+ if __name__ == '__main__':
58
+ unittest.main()
@@ -0,0 +1,54 @@
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
+ import unittest
16
+
17
+ from graphiant_sdk.models.v1_software_auto_upgrade_default_get200_response_profile_occurrence import V1SoftwareAutoUpgradeDefaultGet200ResponseProfileOccurrence
18
+
19
+ class TestV1SoftwareAutoUpgradeDefaultGet200ResponseProfileOccurrence(unittest.TestCase):
20
+ """V1SoftwareAutoUpgradeDefaultGet200ResponseProfileOccurrence unit test stubs"""
21
+
22
+ def setUp(self):
23
+ pass
24
+
25
+ def tearDown(self):
26
+ pass
27
+
28
+ def make_instance(self, include_optional) -> V1SoftwareAutoUpgradeDefaultGet200ResponseProfileOccurrence:
29
+ """Test V1SoftwareAutoUpgradeDefaultGet200ResponseProfileOccurrence
30
+ include_optional is a boolean, when False only required
31
+ params are included, when True both required and
32
+ optional params are included """
33
+ # uncomment below to create an instance of `V1SoftwareAutoUpgradeDefaultGet200ResponseProfileOccurrence`
34
+ """
35
+ model = V1SoftwareAutoUpgradeDefaultGet200ResponseProfileOccurrence()
36
+ if include_optional:
37
+ return V1SoftwareAutoUpgradeDefaultGet200ResponseProfileOccurrence(
38
+ day_of_week = 'ENUM_VALUE',
39
+ hour = 123,
40
+ minute = 123,
41
+ occurrence_in_month = 123
42
+ )
43
+ else:
44
+ return V1SoftwareAutoUpgradeDefaultGet200ResponseProfileOccurrence(
45
+ )
46
+ """
47
+
48
+ def testV1SoftwareAutoUpgradeDefaultGet200ResponseProfileOccurrence(self):
49
+ """Test V1SoftwareAutoUpgradeDefaultGet200ResponseProfileOccurrence"""
50
+ # inst_req_only = self.make_instance(include_optional=False)
51
+ # inst_req_and_optional = self.make_instance(include_optional=True)
52
+
53
+ if __name__ == '__main__':
54
+ unittest.main()
@@ -0,0 +1,51 @@
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
+ import unittest
16
+
17
+ from graphiant_sdk.models.v2_assistant_conversation_context_history_post_request import V2AssistantConversationContextHistoryPostRequest
18
+
19
+ class TestV2AssistantConversationContextHistoryPostRequest(unittest.TestCase):
20
+ """V2AssistantConversationContextHistoryPostRequest unit test stubs"""
21
+
22
+ def setUp(self):
23
+ pass
24
+
25
+ def tearDown(self):
26
+ pass
27
+
28
+ def make_instance(self, include_optional) -> V2AssistantConversationContextHistoryPostRequest:
29
+ """Test V2AssistantConversationContextHistoryPostRequest
30
+ include_optional is a boolean, when False only required
31
+ params are included, when True both required and
32
+ optional params are included """
33
+ # uncomment below to create an instance of `V2AssistantConversationContextHistoryPostRequest`
34
+ """
35
+ model = V2AssistantConversationContextHistoryPostRequest()
36
+ if include_optional:
37
+ return V2AssistantConversationContextHistoryPostRequest(
38
+ enable = True
39
+ )
40
+ else:
41
+ return V2AssistantConversationContextHistoryPostRequest(
42
+ )
43
+ """
44
+
45
+ def testV2AssistantConversationContextHistoryPostRequest(self):
46
+ """Test V2AssistantConversationContextHistoryPostRequest"""
47
+ # inst_req_only = self.make_instance(include_optional=False)
48
+ # inst_req_and_optional = self.make_instance(include_optional=True)
49
+
50
+ if __name__ == '__main__':
51
+ unittest.main()
@@ -1,119 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: graphiant_sdk
3
- Version: 25.7.1
4
- Summary: Python SDK for Graphiant NaaS
5
- Home-page: https://www.graphiant.com
6
- Author: Graphiant Inc
7
- Author-email: support@graphiant.com
8
- License: MIT
9
- Project-URL: Source Code, https://github.com/Graphiant-Inc/graphiant-sdk-python
10
- Keywords: SDK,Graphiant,NaaS
11
- Classifier: Programming Language :: Python :: 3
12
- Classifier: License :: OSI Approved :: MIT License
13
- Classifier: Operating System :: OS Independent
14
- Description-Content-Type: text/markdown
15
- License-File: LICENSE
16
- Requires-Dist: urllib3<3.0.0,>=2.1.0
17
- Requires-Dist: python-dateutil>=2.8.2
18
- Requires-Dist: pydantic>=2
19
- Requires-Dist: typing-extensions>=4.7.1
20
- Dynamic: author
21
- Dynamic: author-email
22
- Dynamic: classifier
23
- Dynamic: description
24
- Dynamic: description-content-type
25
- Dynamic: home-page
26
- Dynamic: keywords
27
- Dynamic: license
28
- Dynamic: license-file
29
- Dynamic: project-url
30
- Dynamic: requires-dist
31
- Dynamic: summary
32
-
33
- # Graphiant-SDK-Python
34
-
35
- Python SDK for [Graphiant NaaS](https://www.graphiant.com).
36
-
37
- Refer [Graphiant-SDK-Python User Guide](https://docs.graphiant.com/docs/graphiant-sdk-python) under [Automation Section](https://docs.graphiant.com/docs/automation) in [Graphiant Docs](https://docs.graphiant.com/) for getting started instructions.
38
-
39
- ## Install
40
-
41
- Graphiant-SDK package can be installed using pip. Refer [graphiant-sdk](https://pypi.org/project/graphiant-sdk/) package on public PyPi server.
42
-
43
- ```sh
44
- pip install graphiant-sdk
45
- ```
46
-
47
- ## Build
48
-
49
- Steps to build and install Graphiant-SDK package from source code.
50
-
51
- ### Prerequisites
52
-
53
- python version 3.12+
54
-
55
- ### Create and activate python virtual environment
56
- ```sh
57
- python3 -m venv venv
58
- source venv/bin/activate
59
- ```
60
-
61
- ### Install dependencies
62
- ```sh
63
- pip install --upgrade pip setuptools wheel
64
- ```
65
-
66
- ### Clone the graphiant-sdk-python repository
67
- ```sh
68
- git clone git@github.com:Graphiant-Inc/graphiant-sdk-python.git
69
- ```
70
-
71
- ### Build graphiant-sdk distribution
72
- ```sh
73
- cd graphiant-sdk-python
74
- pip install -r requirements.txt
75
- python setup.py sdist bdist_wheel
76
- ```
77
-
78
- ### Install graphiant-sdk locally
79
-
80
- Install using the source archive:
81
-
82
- ```sh
83
- pip install dist/*.tar.gz
84
- ```
85
-
86
- ## Generate
87
-
88
- Steps to generate Graphiant-SDK-Python locally using Graphiant API docs.
89
-
90
- ```sh
91
- brew install openapi-generator
92
- ```
93
-
94
- ```sh
95
- openapi-generator generate -i graphiant_api_docs_v25.7.1.json -g python --git-user-id Graphiant-Inc --git-repo-id graphiant-sdk-python --package-name graphiant_sdk --additional-properties=packageVersion=25.7.1
96
- ```
97
- Note: Latest version of Graphiant API docs can be downloaded from Graphiant portal under "Support Hub" > "Developer Tools".
98
-
99
- ## License
100
-
101
- Copyright (c) 2025 Graphiant-Inc
102
-
103
- Permission is hereby granted, free of charge, to any person obtaining a copy
104
- of this software and associated documentation files (the "Software"), to deal
105
- in the Software without restriction, including without limitation the rights
106
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
107
- copies of the Software, and to permit persons to whom the Software is
108
- furnished to do so, subject to the following conditions:
109
-
110
- The above copyright notice and this permission notice shall be included in all
111
- copies or substantial portions of the Software.
112
-
113
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
114
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
115
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
116
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
117
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
118
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
119
- SOFTWARE.