tesla-api-sdk 1.0.0__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 (119) hide show
  1. tesla_api_sdk-1.0.0.dist-info/METADATA +145 -0
  2. tesla_api_sdk-1.0.0.dist-info/RECORD +119 -0
  3. tesla_api_sdk-1.0.0.dist-info/WHEEL +5 -0
  4. tesla_api_sdk-1.0.0.dist-info/licenses/LICENSE +28 -0
  5. tesla_api_sdk-1.0.0.dist-info/top_level.txt +1 -0
  6. teslafleetmanagementapi/__init__.py +13 -0
  7. teslafleetmanagementapi/api_helper.py +19 -0
  8. teslafleetmanagementapi/configuration.py +270 -0
  9. teslafleetmanagementapi/controllers/__init__.py +11 -0
  10. teslafleetmanagementapi/controllers/base_controller.py +70 -0
  11. teslafleetmanagementapi/controllers/charging_controller.py +140 -0
  12. teslafleetmanagementapi/controllers/energy_controller.py +572 -0
  13. teslafleetmanagementapi/controllers/oauth_authorization_controller.py +165 -0
  14. teslafleetmanagementapi/controllers/partner_controller.py +181 -0
  15. teslafleetmanagementapi/controllers/user_controller.py +158 -0
  16. teslafleetmanagementapi/controllers/vehicles_controller.py +832 -0
  17. teslafleetmanagementapi/exceptions/__init__.py +6 -0
  18. teslafleetmanagementapi/exceptions/api_exception.py +36 -0
  19. teslafleetmanagementapi/exceptions/oauth_provider_exception.py +75 -0
  20. teslafleetmanagementapi/http/__init__.py +11 -0
  21. teslafleetmanagementapi/http/api_response.py +67 -0
  22. teslafleetmanagementapi/http/auth/__init__.py +6 -0
  23. teslafleetmanagementapi/http/auth/bearer_auth.py +103 -0
  24. teslafleetmanagementapi/http/auth/oauth_2.py +311 -0
  25. teslafleetmanagementapi/http/http_call_back.py +20 -0
  26. teslafleetmanagementapi/http/http_client_provider.py +23 -0
  27. teslafleetmanagementapi/http/http_method_enum.py +25 -0
  28. teslafleetmanagementapi/http/http_request.py +55 -0
  29. teslafleetmanagementapi/http/http_response.py +45 -0
  30. teslafleetmanagementapi/http/proxy_settings.py +50 -0
  31. teslafleetmanagementapi/logging/__init__.py +6 -0
  32. teslafleetmanagementapi/logging/configuration/__init__.py +5 -0
  33. teslafleetmanagementapi/logging/configuration/api_logging_configuration.py +398 -0
  34. teslafleetmanagementapi/logging/sdk_logger.py +28 -0
  35. teslafleetmanagementapi/models/__init__.py +85 -0
  36. teslafleetmanagementapi/models/api_1_dx_vehicles_options_response.py +110 -0
  37. teslafleetmanagementapi/models/api_1_dx_warranty_details_response.py +110 -0
  38. teslafleetmanagementapi/models/api_1_vehicles_mobile_enabled_response.py +109 -0
  39. teslafleetmanagementapi/models/api_1_vehicles_nearby_charging_sites_response.py +109 -0
  40. teslafleetmanagementapi/models/api_1_vehicles_response.py +162 -0
  41. teslafleetmanagementapi/models/api_1_vehicles_response_get_vehicle.py +109 -0
  42. teslafleetmanagementapi/models/api_1_vehicles_wake_up_response.py +109 -0
  43. teslafleetmanagementapi/models/backup_request.py +92 -0
  44. teslafleetmanagementapi/models/backup_response.py +95 -0
  45. teslafleetmanagementapi/models/calendar_history_response.py +96 -0
  46. teslafleetmanagementapi/models/charge_duration.py +92 -0
  47. teslafleetmanagementapi/models/charge_history.py +125 -0
  48. teslafleetmanagementapi/models/charge_history_response.py +96 -0
  49. teslafleetmanagementapi/models/charge_start_time.py +92 -0
  50. teslafleetmanagementapi/models/charging_dimension.py +128 -0
  51. teslafleetmanagementapi/models/charging_fee.py +641 -0
  52. teslafleetmanagementapi/models/charging_history_data.py +98 -0
  53. teslafleetmanagementapi/models/charging_history_item.py +336 -0
  54. teslafleetmanagementapi/models/charging_history_response.py +96 -0
  55. teslafleetmanagementapi/models/charging_invoice.py +151 -0
  56. teslafleetmanagementapi/models/charging_location.py +293 -0
  57. teslafleetmanagementapi/models/charging_period.py +136 -0
  58. teslafleetmanagementapi/models/charging_session.py +355 -0
  59. teslafleetmanagementapi/models/charging_sessions_data.py +182 -0
  60. teslafleetmanagementapi/models/charging_sessions_response.py +96 -0
  61. teslafleetmanagementapi/models/default_real_mode.py +45 -0
  62. teslafleetmanagementapi/models/driver.py +289 -0
  63. teslafleetmanagementapi/models/drivers_response.py +135 -0
  64. teslafleetmanagementapi/models/enterprise_payer_request.py +141 -0
  65. teslafleetmanagementapi/models/event.py +107 -0
  66. teslafleetmanagementapi/models/fleet_status_request.py +105 -0
  67. teslafleetmanagementapi/models/fleet_telemetry_error.py +118 -0
  68. teslafleetmanagementapi/models/fleet_telemetry_errors_response.py +96 -0
  69. teslafleetmanagementapi/models/fleet_telemetry_jws_request.py +128 -0
  70. teslafleetmanagementapi/models/generic_update_response.py +95 -0
  71. teslafleetmanagementapi/models/kind.py +45 -0
  72. teslafleetmanagementapi/models/kind_get_wall_connector_charging_history.py +42 -0
  73. teslafleetmanagementapi/models/live_status_response.py +96 -0
  74. teslafleetmanagementapi/models/location.py +128 -0
  75. teslafleetmanagementapi/models/location_1.py +128 -0
  76. teslafleetmanagementapi/models/me_response.py +95 -0
  77. teslafleetmanagementapi/models/mobile_enabled.py +128 -0
  78. teslafleetmanagementapi/models/oauth_provider_error.py +67 -0
  79. teslafleetmanagementapi/models/oauth_token.py +115 -0
  80. teslafleetmanagementapi/models/off_grid_vehicle_charging_reserve_request.py +95 -0
  81. teslafleetmanagementapi/models/operation_request.py +93 -0
  82. teslafleetmanagementapi/models/orders_response.py +111 -0
  83. teslafleetmanagementapi/models/pagination.py +225 -0
  84. teslafleetmanagementapi/models/price_component.py +151 -0
  85. teslafleetmanagementapi/models/products_response.py +128 -0
  86. teslafleetmanagementapi/models/public_key_response.py +96 -0
  87. teslafleetmanagementapi/models/region_response.py +96 -0
  88. teslafleetmanagementapi/models/register_partner_request.py +92 -0
  89. teslafleetmanagementapi/models/register_partner_response.py +96 -0
  90. teslafleetmanagementapi/models/response.py +105 -0
  91. teslafleetmanagementapi/models/response_1.py +92 -0
  92. teslafleetmanagementapi/models/response_2.py +95 -0
  93. teslafleetmanagementapi/models/response_3.py +164 -0
  94. teslafleetmanagementapi/models/response_api_1_dx_vehicles_options_response.py +112 -0
  95. teslafleetmanagementapi/models/response_api_1_dx_warranty_details_response.py +169 -0
  96. teslafleetmanagementapi/models/response_calendar_history_response.py +110 -0
  97. teslafleetmanagementapi/models/response_charge_history_response.py +98 -0
  98. teslafleetmanagementapi/models/response_fleet_telemetry_errors_response.py +98 -0
  99. teslafleetmanagementapi/models/response_live_status_response.py +310 -0
  100. teslafleetmanagementapi/models/response_me_response.py +131 -0
  101. teslafleetmanagementapi/models/response_orders_response.py +209 -0
  102. teslafleetmanagementapi/models/response_public_key_response.py +92 -0
  103. teslafleetmanagementapi/models/response_region_response.py +105 -0
  104. teslafleetmanagementapi/models/response_register_partner_response.py +331 -0
  105. teslafleetmanagementapi/models/signaling.py +118 -0
  106. teslafleetmanagementapi/models/simple_ok_response.py +105 -0
  107. teslafleetmanagementapi/models/site_info_response.py +105 -0
  108. teslafleetmanagementapi/models/storm_mode_request.py +92 -0
  109. teslafleetmanagementapi/models/tariff_element.py +136 -0
  110. teslafleetmanagementapi/models/tariffs.py +136 -0
  111. teslafleetmanagementapi/models/time_of_use_settings_request.py +95 -0
  112. teslafleetmanagementapi/models/total_cost.py +151 -0
  113. teslafleetmanagementapi/models/tou_settings.py +105 -0
  114. teslafleetmanagementapi/models/vehicle_base.py +266 -0
  115. teslafleetmanagementapi/models/vehicle_option.py +178 -0
  116. teslafleetmanagementapi/models/warranty_item.py +249 -0
  117. teslafleetmanagementapi/teslafleetmanagementapi_client.py +128 -0
  118. teslafleetmanagementapi/utilities/__init__.py +6 -0
  119. teslafleetmanagementapi/utilities/file_wrapper.py +45 -0
@@ -0,0 +1,105 @@
1
+ """teslafleetmanagementapi.
2
+
3
+ This file was automatically generated by APIMATIC v3.0 ( https://www.apimatic.io ).
4
+ """
5
+
6
+ # ruff: noqa: E501
7
+ from teslafleetmanagementapi.api_helper import (
8
+ APIHelper,
9
+ )
10
+
11
+
12
+ class SimpleOkResponse(object):
13
+ """Implementation of the 'SimpleOkResponse' model.
14
+
15
+ Attributes:
16
+ response (str): The model property of type str.
17
+ additional_properties (Dict[str, Any]): The additional properties for the
18
+ model.
19
+
20
+ """
21
+
22
+ # Create a mapping from Model property names to API property names
23
+ _names = {
24
+ "response": "response",
25
+ }
26
+
27
+ _optionals = [
28
+ "response",
29
+ ]
30
+
31
+ def __init__(
32
+ self,
33
+ response=APIHelper.SKIP,
34
+ additional_properties=None):
35
+ """Initialize a SimpleOkResponse instance."""
36
+ # Initialize members of the class
37
+ if response is not APIHelper.SKIP:
38
+ self.response = response
39
+
40
+ # Add additional model properties to the instance
41
+ if additional_properties is None:
42
+ additional_properties = {}
43
+ self.additional_properties = additional_properties
44
+
45
+ @classmethod
46
+ def from_dictionary(cls,
47
+ dictionary):
48
+ """Create an instance of this model from a dictionary
49
+
50
+ Args:
51
+ dictionary (dictionary): A dictionary representation of the object
52
+ as obtained from the deserialization of the server's response. The
53
+ keys MUST match property names in the API description.
54
+
55
+ Returns:
56
+ object: An instance of this structure class.
57
+
58
+ """
59
+ if not isinstance(dictionary, dict) or dictionary is None:
60
+ return None
61
+
62
+ # Extract variables from the dictionary
63
+ response =\
64
+ dictionary.get("response")\
65
+ if dictionary.get("response")\
66
+ else APIHelper.SKIP
67
+
68
+ additional_properties = APIHelper.get_additional_properties(
69
+ dictionary={k: v for k, v in dictionary.items()
70
+ if k not in cls._names.values()},
71
+ unboxing_function=lambda value: value)
72
+
73
+ # Return an object of this model
74
+ return cls(response,
75
+ additional_properties)
76
+
77
+ def __repr__(self):
78
+ """Return a unambiguous string representation."""
79
+ _response=(
80
+ self.response
81
+ if hasattr(self, "response")
82
+ else None
83
+ )
84
+ _additional_properties=self.additional_properties
85
+ return (
86
+ f"{self.__class__.__name__}("
87
+ f"response={_response!r}, "
88
+ f"additional_properties={_additional_properties!r}, "
89
+ f")"
90
+ )
91
+
92
+ def __str__(self):
93
+ """Return a human-readable string representation."""
94
+ _response=(
95
+ self.response
96
+ if hasattr(self, "response")
97
+ else None
98
+ )
99
+ _additional_properties=self.additional_properties
100
+ return (
101
+ f"{self.__class__.__name__}("
102
+ f"response={_response!s}, "
103
+ f"additional_properties={_additional_properties!s}, "
104
+ f")"
105
+ )
@@ -0,0 +1,105 @@
1
+ """teslafleetmanagementapi.
2
+
3
+ This file was automatically generated by APIMATIC v3.0 ( https://www.apimatic.io ).
4
+ """
5
+
6
+ # ruff: noqa: E501
7
+ from teslafleetmanagementapi.api_helper import (
8
+ APIHelper,
9
+ )
10
+
11
+
12
+ class SiteInfoResponse(object):
13
+ """Implementation of the 'SiteInfoResponse' model.
14
+
15
+ Attributes:
16
+ response (Any): The model property of type Any.
17
+ additional_properties (Dict[str, Any]): The additional properties for the
18
+ model.
19
+
20
+ """
21
+
22
+ # Create a mapping from Model property names to API property names
23
+ _names = {
24
+ "response": "response",
25
+ }
26
+
27
+ _optionals = [
28
+ "response",
29
+ ]
30
+
31
+ def __init__(
32
+ self,
33
+ response=APIHelper.SKIP,
34
+ additional_properties=None):
35
+ """Initialize a SiteInfoResponse instance."""
36
+ # Initialize members of the class
37
+ if response is not APIHelper.SKIP:
38
+ self.response = response
39
+
40
+ # Add additional model properties to the instance
41
+ if additional_properties is None:
42
+ additional_properties = {}
43
+ self.additional_properties = additional_properties
44
+
45
+ @classmethod
46
+ def from_dictionary(cls,
47
+ dictionary):
48
+ """Create an instance of this model from a dictionary
49
+
50
+ Args:
51
+ dictionary (dictionary): A dictionary representation of the object
52
+ as obtained from the deserialization of the server's response. The
53
+ keys MUST match property names in the API description.
54
+
55
+ Returns:
56
+ object: An instance of this structure class.
57
+
58
+ """
59
+ if not isinstance(dictionary, dict) or dictionary is None:
60
+ return None
61
+
62
+ # Extract variables from the dictionary
63
+ response =\
64
+ dictionary.get("response")\
65
+ if dictionary.get("response")\
66
+ else APIHelper.SKIP
67
+
68
+ additional_properties = APIHelper.get_additional_properties(
69
+ dictionary={k: v for k, v in dictionary.items()
70
+ if k not in cls._names.values()},
71
+ unboxing_function=lambda value: value)
72
+
73
+ # Return an object of this model
74
+ return cls(response,
75
+ additional_properties)
76
+
77
+ def __repr__(self):
78
+ """Return a unambiguous string representation."""
79
+ _response=(
80
+ self.response
81
+ if hasattr(self, "response")
82
+ else None
83
+ )
84
+ _additional_properties=self.additional_properties
85
+ return (
86
+ f"{self.__class__.__name__}("
87
+ f"response={_response!r}, "
88
+ f"additional_properties={_additional_properties!r}, "
89
+ f")"
90
+ )
91
+
92
+ def __str__(self):
93
+ """Return a human-readable string representation."""
94
+ _response=(
95
+ self.response
96
+ if hasattr(self, "response")
97
+ else None
98
+ )
99
+ _additional_properties=self.additional_properties
100
+ return (
101
+ f"{self.__class__.__name__}("
102
+ f"response={_response!s}, "
103
+ f"additional_properties={_additional_properties!s}, "
104
+ f")"
105
+ )
@@ -0,0 +1,92 @@
1
+ """teslafleetmanagementapi.
2
+
3
+ This file was automatically generated by APIMATIC v3.0 ( https://www.apimatic.io ).
4
+ """
5
+
6
+ # ruff: noqa: E501
7
+ from teslafleetmanagementapi.api_helper import (
8
+ APIHelper,
9
+ )
10
+
11
+
12
+ class StormModeRequest(object):
13
+ """Implementation of the 'StormModeRequest' model.
14
+
15
+ Attributes:
16
+ enabled (bool): The model property of type bool.
17
+ additional_properties (Dict[str, Any]): The additional properties for the
18
+ model.
19
+
20
+ """
21
+
22
+ # Create a mapping from Model property names to API property names
23
+ _names = {
24
+ "enabled": "enabled",
25
+ }
26
+
27
+ def __init__(
28
+ self,
29
+ enabled=None,
30
+ additional_properties=None):
31
+ """Initialize a StormModeRequest instance."""
32
+ # Initialize members of the class
33
+ self.enabled = enabled
34
+
35
+ # Add additional model properties to the instance
36
+ if additional_properties is None:
37
+ additional_properties = {}
38
+ self.additional_properties = additional_properties
39
+
40
+ @classmethod
41
+ def from_dictionary(cls,
42
+ dictionary):
43
+ """Create an instance of this model from a dictionary
44
+
45
+ Args:
46
+ dictionary (dictionary): A dictionary representation of the object
47
+ as obtained from the deserialization of the server's response. The
48
+ keys MUST match property names in the API description.
49
+
50
+ Returns:
51
+ object: An instance of this structure class.
52
+
53
+ """
54
+ if not isinstance(dictionary, dict) or dictionary is None:
55
+ return None
56
+
57
+ # Extract variables from the dictionary
58
+ enabled =\
59
+ dictionary.get("enabled")\
60
+ if "enabled" in dictionary.keys()\
61
+ else None
62
+
63
+ additional_properties = APIHelper.get_additional_properties(
64
+ dictionary={k: v for k, v in dictionary.items()
65
+ if k not in cls._names.values()},
66
+ unboxing_function=lambda value: value)
67
+
68
+ # Return an object of this model
69
+ return cls(enabled,
70
+ additional_properties)
71
+
72
+ def __repr__(self):
73
+ """Return a unambiguous string representation."""
74
+ _enabled=self.enabled
75
+ _additional_properties=self.additional_properties
76
+ return (
77
+ f"{self.__class__.__name__}("
78
+ f"enabled={_enabled!r}, "
79
+ f"additional_properties={_additional_properties!r}, "
80
+ f")"
81
+ )
82
+
83
+ def __str__(self):
84
+ """Return a human-readable string representation."""
85
+ _enabled=self.enabled
86
+ _additional_properties=self.additional_properties
87
+ return (
88
+ f"{self.__class__.__name__}("
89
+ f"enabled={_enabled!s}, "
90
+ f"additional_properties={_additional_properties!s}, "
91
+ f")"
92
+ )
@@ -0,0 +1,136 @@
1
+ """teslafleetmanagementapi.
2
+
3
+ This file was automatically generated by APIMATIC v3.0 ( https://www.apimatic.io ).
4
+ """
5
+
6
+ # ruff: noqa: E501
7
+ from teslafleetmanagementapi.api_helper import (
8
+ APIHelper,
9
+ )
10
+ from teslafleetmanagementapi.models.price_component import (
11
+ PriceComponent,
12
+ )
13
+
14
+
15
+ class TariffElement(object):
16
+ """Implementation of the 'TariffElement' model.
17
+
18
+ Attributes:
19
+ price_components (List[PriceComponent]): The model property of type
20
+ List[PriceComponent].
21
+ restrictions (Dict[str, Any]): The model property of type Dict[str, Any].
22
+ additional_properties (Dict[str, Any]): The additional properties for the
23
+ model.
24
+
25
+ """
26
+
27
+ # Create a mapping from Model property names to API property names
28
+ _names = {
29
+ "price_components": "price_components",
30
+ "restrictions": "restrictions",
31
+ }
32
+
33
+ _optionals = [
34
+ "price_components",
35
+ "restrictions",
36
+ ]
37
+
38
+ def __init__(
39
+ self,
40
+ price_components=APIHelper.SKIP,
41
+ restrictions=APIHelper.SKIP,
42
+ additional_properties=None):
43
+ """Initialize a TariffElement instance."""
44
+ # Initialize members of the class
45
+ if price_components is not APIHelper.SKIP:
46
+ self.price_components = price_components
47
+ if restrictions is not APIHelper.SKIP:
48
+ self.restrictions = restrictions
49
+
50
+ # Add additional model properties to the instance
51
+ if additional_properties is None:
52
+ additional_properties = {}
53
+ self.additional_properties = additional_properties
54
+
55
+ @classmethod
56
+ def from_dictionary(cls,
57
+ dictionary):
58
+ """Create an instance of this model from a dictionary
59
+
60
+ Args:
61
+ dictionary (dictionary): A dictionary representation of the object
62
+ as obtained from the deserialization of the server's response. The
63
+ keys MUST match property names in the API description.
64
+
65
+ Returns:
66
+ object: An instance of this structure class.
67
+
68
+ """
69
+ if not isinstance(dictionary, dict) or dictionary is None:
70
+ return None
71
+
72
+ # Extract variables from the dictionary
73
+ price_components = None
74
+ if dictionary.get("price_components") is not None:
75
+ price_components = [
76
+ PriceComponent.from_dictionary(x)
77
+ for x in dictionary.get("price_components")
78
+ ]
79
+ else:
80
+ price_components = APIHelper.SKIP
81
+ restrictions =\
82
+ dictionary.get("restrictions")\
83
+ if dictionary.get("restrictions")\
84
+ else APIHelper.SKIP
85
+
86
+ additional_properties = APIHelper.get_additional_properties(
87
+ dictionary={k: v for k, v in dictionary.items()
88
+ if k not in cls._names.values()},
89
+ unboxing_function=lambda value: value)
90
+
91
+ # Return an object of this model
92
+ return cls(price_components,
93
+ restrictions,
94
+ additional_properties)
95
+
96
+ def __repr__(self):
97
+ """Return a unambiguous string representation."""
98
+ _price_components=(
99
+ self.price_components
100
+ if hasattr(self, "price_components")
101
+ else None
102
+ )
103
+ _restrictions=(
104
+ self.restrictions
105
+ if hasattr(self, "restrictions")
106
+ else None
107
+ )
108
+ _additional_properties=self.additional_properties
109
+ return (
110
+ f"{self.__class__.__name__}("
111
+ f"price_components={_price_components!r}, "
112
+ f"restrictions={_restrictions!r}, "
113
+ f"additional_properties={_additional_properties!r}, "
114
+ f")"
115
+ )
116
+
117
+ def __str__(self):
118
+ """Return a human-readable string representation."""
119
+ _price_components=(
120
+ self.price_components
121
+ if hasattr(self, "price_components")
122
+ else None
123
+ )
124
+ _restrictions=(
125
+ self.restrictions
126
+ if hasattr(self, "restrictions")
127
+ else None
128
+ )
129
+ _additional_properties=self.additional_properties
130
+ return (
131
+ f"{self.__class__.__name__}("
132
+ f"price_components={_price_components!s}, "
133
+ f"restrictions={_restrictions!s}, "
134
+ f"additional_properties={_additional_properties!s}, "
135
+ f")"
136
+ )
@@ -0,0 +1,136 @@
1
+ """teslafleetmanagementapi.
2
+
3
+ This file was automatically generated by APIMATIC v3.0 ( https://www.apimatic.io ).
4
+ """
5
+
6
+ # ruff: noqa: E501
7
+ from teslafleetmanagementapi.api_helper import (
8
+ APIHelper,
9
+ )
10
+ from teslafleetmanagementapi.models.tariff_element import (
11
+ TariffElement,
12
+ )
13
+
14
+
15
+ class Tariffs(object):
16
+ """Implementation of the 'Tariffs' model.
17
+
18
+ Attributes:
19
+ currency (str): The model property of type str.
20
+ elements (List[TariffElement]): The model property of type
21
+ List[TariffElement].
22
+ additional_properties (Dict[str, Any]): The additional properties for the
23
+ model.
24
+
25
+ """
26
+
27
+ # Create a mapping from Model property names to API property names
28
+ _names = {
29
+ "currency": "currency",
30
+ "elements": "elements",
31
+ }
32
+
33
+ _optionals = [
34
+ "currency",
35
+ "elements",
36
+ ]
37
+
38
+ def __init__(
39
+ self,
40
+ currency=APIHelper.SKIP,
41
+ elements=APIHelper.SKIP,
42
+ additional_properties=None):
43
+ """Initialize a Tariffs instance."""
44
+ # Initialize members of the class
45
+ if currency is not APIHelper.SKIP:
46
+ self.currency = currency
47
+ if elements is not APIHelper.SKIP:
48
+ self.elements = elements
49
+
50
+ # Add additional model properties to the instance
51
+ if additional_properties is None:
52
+ additional_properties = {}
53
+ self.additional_properties = additional_properties
54
+
55
+ @classmethod
56
+ def from_dictionary(cls,
57
+ dictionary):
58
+ """Create an instance of this model from a dictionary
59
+
60
+ Args:
61
+ dictionary (dictionary): A dictionary representation of the object
62
+ as obtained from the deserialization of the server's response. The
63
+ keys MUST match property names in the API description.
64
+
65
+ Returns:
66
+ object: An instance of this structure class.
67
+
68
+ """
69
+ if not isinstance(dictionary, dict) or dictionary is None:
70
+ return None
71
+
72
+ # Extract variables from the dictionary
73
+ currency =\
74
+ dictionary.get("currency")\
75
+ if dictionary.get("currency")\
76
+ else APIHelper.SKIP
77
+ elements = None
78
+ if dictionary.get("elements") is not None:
79
+ elements = [
80
+ TariffElement.from_dictionary(x)
81
+ for x in dictionary.get("elements")
82
+ ]
83
+ else:
84
+ elements = APIHelper.SKIP
85
+
86
+ additional_properties = APIHelper.get_additional_properties(
87
+ dictionary={k: v for k, v in dictionary.items()
88
+ if k not in cls._names.values()},
89
+ unboxing_function=lambda value: value)
90
+
91
+ # Return an object of this model
92
+ return cls(currency,
93
+ elements,
94
+ additional_properties)
95
+
96
+ def __repr__(self):
97
+ """Return a unambiguous string representation."""
98
+ _currency=(
99
+ self.currency
100
+ if hasattr(self, "currency")
101
+ else None
102
+ )
103
+ _elements=(
104
+ self.elements
105
+ if hasattr(self, "elements")
106
+ else None
107
+ )
108
+ _additional_properties=self.additional_properties
109
+ return (
110
+ f"{self.__class__.__name__}("
111
+ f"currency={_currency!r}, "
112
+ f"elements={_elements!r}, "
113
+ f"additional_properties={_additional_properties!r}, "
114
+ f")"
115
+ )
116
+
117
+ def __str__(self):
118
+ """Return a human-readable string representation."""
119
+ _currency=(
120
+ self.currency
121
+ if hasattr(self, "currency")
122
+ else None
123
+ )
124
+ _elements=(
125
+ self.elements
126
+ if hasattr(self, "elements")
127
+ else None
128
+ )
129
+ _additional_properties=self.additional_properties
130
+ return (
131
+ f"{self.__class__.__name__}("
132
+ f"currency={_currency!s}, "
133
+ f"elements={_elements!s}, "
134
+ f"additional_properties={_additional_properties!s}, "
135
+ f")"
136
+ )
@@ -0,0 +1,95 @@
1
+ """teslafleetmanagementapi.
2
+
3
+ This file was automatically generated by APIMATIC v3.0 ( https://www.apimatic.io ).
4
+ """
5
+
6
+ # ruff: noqa: E501
7
+ from teslafleetmanagementapi.api_helper import (
8
+ APIHelper,
9
+ )
10
+ from teslafleetmanagementapi.models.tou_settings import (
11
+ TouSettings,
12
+ )
13
+
14
+
15
+ class TimeOfUseSettingsRequest(object):
16
+ """Implementation of the 'TimeOfUseSettingsRequest' model.
17
+
18
+ Attributes:
19
+ tou_settings (TouSettings): The model property of type TouSettings.
20
+ additional_properties (Dict[str, Any]): The additional properties for the
21
+ model.
22
+
23
+ """
24
+
25
+ # Create a mapping from Model property names to API property names
26
+ _names = {
27
+ "tou_settings": "tou_settings",
28
+ }
29
+
30
+ def __init__(
31
+ self,
32
+ tou_settings=None,
33
+ additional_properties=None):
34
+ """Initialize a TimeOfUseSettingsRequest instance."""
35
+ # Initialize members of the class
36
+ self.tou_settings = tou_settings
37
+
38
+ # Add additional model properties to the instance
39
+ if additional_properties is None:
40
+ additional_properties = {}
41
+ self.additional_properties = additional_properties
42
+
43
+ @classmethod
44
+ def from_dictionary(cls,
45
+ dictionary):
46
+ """Create an instance of this model from a dictionary
47
+
48
+ Args:
49
+ dictionary (dictionary): A dictionary representation of the object
50
+ as obtained from the deserialization of the server's response. The
51
+ keys MUST match property names in the API description.
52
+
53
+ Returns:
54
+ object: An instance of this structure class.
55
+
56
+ """
57
+ if not isinstance(dictionary, dict) or dictionary is None:
58
+ return None
59
+
60
+ # Extract variables from the dictionary
61
+ tou_settings =\
62
+ TouSettings.from_dictionary(
63
+ dictionary.get("tou_settings"))\
64
+ if dictionary.get("tou_settings") else None
65
+
66
+ additional_properties = APIHelper.get_additional_properties(
67
+ dictionary={k: v for k, v in dictionary.items()
68
+ if k not in cls._names.values()},
69
+ unboxing_function=lambda value: value)
70
+
71
+ # Return an object of this model
72
+ return cls(tou_settings,
73
+ additional_properties)
74
+
75
+ def __repr__(self):
76
+ """Return a unambiguous string representation."""
77
+ _tou_settings=self.tou_settings
78
+ _additional_properties=self.additional_properties
79
+ return (
80
+ f"{self.__class__.__name__}("
81
+ f"tou_settings={_tou_settings!r}, "
82
+ f"additional_properties={_additional_properties!r}, "
83
+ f")"
84
+ )
85
+
86
+ def __str__(self):
87
+ """Return a human-readable string representation."""
88
+ _tou_settings=self.tou_settings
89
+ _additional_properties=self.additional_properties
90
+ return (
91
+ f"{self.__class__.__name__}("
92
+ f"tou_settings={_tou_settings!s}, "
93
+ f"additional_properties={_additional_properties!s}, "
94
+ f")"
95
+ )