bytekit-sdk 0.3.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.
- bytekit/__init__.py +8 -0
- bytekit/api/__init__.py +1 -0
- bytekit/api/account/__init__.py +1 -0
- bytekit/api/account/get_account.py +157 -0
- bytekit/api/bulk/__init__.py +1 -0
- bytekit/api/bulk/create_bulk.py +204 -0
- bytekit/api/bulk/delete_bulk.py +177 -0
- bytekit/api/bulk/get_bulk.py +157 -0
- bytekit/api/bulk/list_bulk_screenshots.py +152 -0
- bytekit/api/fetch/__init__.py +1 -0
- bytekit/api/fetch/get_fetch.py +254 -0
- bytekit/api/fetch/post_fetch.py +178 -0
- bytekit/api/fetch_bulk/__init__.py +1 -0
- bytekit/api/fetch_bulk/create_fetch_bulk.py +180 -0
- bytekit/api/fetch_bulk/get_fetch_bulk.py +157 -0
- bytekit/api/monitors/__init__.py +1 -0
- bytekit/api/monitors/create_monitor.py +180 -0
- bytekit/api/monitors/delete_monitor.py +155 -0
- bytekit/api/monitors/get_monitor.py +157 -0
- bytekit/api/monitors/list_monitor_captures.py +188 -0
- bytekit/api/monitors/list_monitors.py +193 -0
- bytekit/api/monitors/update_monitor.py +191 -0
- bytekit/api/scrape/__init__.py +1 -0
- bytekit/api/scrape/create_scrape.py +197 -0
- bytekit/api/scrape/get_scrape.py +231 -0
- bytekit/api/scrape_bulk/__init__.py +1 -0
- bytekit/api/scrape_bulk/create_scrape_bulk.py +188 -0
- bytekit/api/scrape_bulk/get_scrape_bulk.py +157 -0
- bytekit/api/screenshots/__init__.py +1 -0
- bytekit/api/screenshots/create_screenshot.py +208 -0
- bytekit/api/screenshots/get_screenshot.py +177 -0
- bytekit/api/search/__init__.py +1 -0
- bytekit/api/search/create_search.py +225 -0
- bytekit/api/sitemap/__init__.py +1 -0
- bytekit/api/sitemap/create_sitemap.py +192 -0
- bytekit/api/sitemap/get_sitemap.py +157 -0
- bytekit/api/usage/__init__.py +1 -0
- bytekit/api/usage/get_usage.py +126 -0
- bytekit/api/usage/get_usage_by_endpoint.py +215 -0
- bytekit/api/usage/get_usage_daily.py +203 -0
- bytekit/api/webhooks/__init__.py +1 -0
- bytekit/api/webhooks/list_webhook_deliveries.py +214 -0
- bytekit/api/webhooks/retry_webhook_delivery.py +165 -0
- bytekit/client.py +418 -0
- bytekit/errors.py +18 -0
- bytekit/models/__init__.py +401 -0
- bytekit/models/account_bearer_response.py +207 -0
- bytekit/models/account_bearer_response_api_key.py +134 -0
- bytekit/models/account_bearer_response_api_key_environment.py +8 -0
- bytekit/models/account_bearer_response_auto_topup.py +83 -0
- bytekit/models/account_bearer_response_plan.py +150 -0
- bytekit/models/account_bearer_response_subscription.py +85 -0
- bytekit/models/account_bearer_response_subscription_plan.py +99 -0
- bytekit/models/account_bearer_response_subscription_status.py +10 -0
- bytekit/models/account_session_response.py +164 -0
- bytekit/models/account_session_response_notifications.py +51 -0
- bytekit/models/account_session_response_plan.py +150 -0
- bytekit/models/bandwidth_balance.py +91 -0
- bytekit/models/capture_response.py +216 -0
- bytekit/models/capture_response_outcome.py +10 -0
- bytekit/models/clip.py +83 -0
- bytekit/models/cookie.py +90 -0
- bytekit/models/create_bulk_body.py +155 -0
- bytekit/models/create_bulk_body_defaults.py +423 -0
- bytekit/models/create_bulk_body_defaults_device.py +9 -0
- bytekit/models/create_bulk_body_defaults_device_scale_factor_type_1.py +9 -0
- bytekit/models/create_bulk_body_defaults_device_scale_factor_type_2_type_1.py +9 -0
- bytekit/models/create_bulk_body_defaults_device_scale_factor_type_3_type_1.py +9 -0
- bytekit/models/create_bulk_body_defaults_formats_item.py +12 -0
- bytekit/models/create_bulk_body_defaults_type.py +9 -0
- bytekit/models/create_bulk_body_defaults_viewport_type_0.py +67 -0
- bytekit/models/create_bulk_body_defaults_wait_until.py +10 -0
- bytekit/models/create_bulk_body_items_item.py +380 -0
- bytekit/models/create_bulk_body_items_item_device.py +9 -0
- bytekit/models/create_bulk_body_items_item_formats_item.py +12 -0
- bytekit/models/create_bulk_body_items_item_scenario.py +10 -0
- bytekit/models/create_bulk_body_items_item_type.py +9 -0
- bytekit/models/create_bulk_body_items_item_viewport_type_0.py +67 -0
- bytekit/models/create_bulk_body_items_item_wait_until.py +10 -0
- bytekit/models/create_bulk_response_202.py +164 -0
- bytekit/models/create_bulk_response_202_status.py +10 -0
- bytekit/models/create_fetch_bulk_body.py +161 -0
- bytekit/models/create_fetch_bulk_body_defaults.py +91 -0
- bytekit/models/create_fetch_bulk_body_defaults_format.py +9 -0
- bytekit/models/create_fetch_bulk_body_metadata.py +44 -0
- bytekit/models/create_fetch_bulk_body_urls_item_type_1.py +102 -0
- bytekit/models/create_fetch_bulk_body_urls_item_type_1_format.py +9 -0
- bytekit/models/create_fetch_bulk_response_202.py +44 -0
- bytekit/models/create_scrape_bulk_body.py +179 -0
- bytekit/models/create_scrape_bulk_body_custom.py +52 -0
- bytekit/models/create_scrape_bulk_body_defaults.py +167 -0
- bytekit/models/create_scrape_bulk_body_defaults_formats_item.py +12 -0
- bytekit/models/create_scrape_bulk_body_defaults_headers.py +44 -0
- bytekit/models/create_scrape_bulk_body_items_item.py +226 -0
- bytekit/models/create_scrape_bulk_body_items_item_custom.py +50 -0
- bytekit/models/create_scrape_bulk_body_items_item_formats_item.py +12 -0
- bytekit/models/create_scrape_bulk_body_items_item_headers.py +44 -0
- bytekit/models/create_scrape_bulk_body_items_item_metadata.py +44 -0
- bytekit/models/create_scrape_bulk_response_202.py +166 -0
- bytekit/models/create_scrape_bulk_response_202_status.py +10 -0
- bytekit/models/create_search_body.py +140 -0
- bytekit/models/create_search_body_date_range.py +13 -0
- bytekit/models/create_search_body_type.py +10 -0
- bytekit/models/create_search_response_200.py +119 -0
- bytekit/models/create_search_response_200_results_item.py +161 -0
- bytekit/models/create_search_response_200_results_item_image.py +113 -0
- bytekit/models/create_search_response_502.py +46 -0
- bytekit/models/create_search_response_502_error.py +8 -0
- bytekit/models/credit_balance.py +91 -0
- bytekit/models/delete_bulk_response_200.py +164 -0
- bytekit/models/delete_bulk_response_200_status.py +11 -0
- bytekit/models/error.py +83 -0
- bytekit/models/error_error.py +100 -0
- bytekit/models/error_status.py +8 -0
- bytekit/models/fetch_request.py +276 -0
- bytekit/models/fetch_request_cache_ttl_type_1.py +8 -0
- bytekit/models/fetch_request_custom.py +48 -0
- bytekit/models/fetch_request_format.py +9 -0
- bytekit/models/fetch_request_markdown_images.py +11 -0
- bytekit/models/fetch_request_markdown_links.py +11 -0
- bytekit/models/fetch_request_markdown_mode.py +10 -0
- bytekit/models/get_bulk_response_200.py +164 -0
- bytekit/models/get_bulk_response_200_status.py +11 -0
- bytekit/models/get_fetch_bulk_response_200.py +44 -0
- bytekit/models/get_fetch_cache_ttl_type_1.py +8 -0
- bytekit/models/get_fetch_format.py +9 -0
- bytekit/models/get_scrape_bulk_response_200.py +164 -0
- bytekit/models/get_scrape_bulk_response_200_status.py +11 -0
- bytekit/models/get_usage_by_endpoint_response_200.py +114 -0
- bytekit/models/get_usage_by_endpoint_response_200_rows_item.py +90 -0
- bytekit/models/get_usage_by_endpoint_response_200_rows_item_endpoint.py +17 -0
- bytekit/models/get_usage_by_endpoint_response_200_totals.py +67 -0
- bytekit/models/get_usage_daily_response_200.py +97 -0
- bytekit/models/get_usage_daily_response_200_data_item.py +219 -0
- bytekit/models/get_usage_response_200.py +344 -0
- bytekit/models/get_usage_response_200_plan_type.py +10 -0
- bytekit/models/list_bulk_screenshots_response_200.py +44 -0
- bytekit/models/list_monitor_captures_response_200.py +101 -0
- bytekit/models/list_monitors_response_200.py +101 -0
- bytekit/models/list_monitors_status.py +12 -0
- bytekit/models/list_webhook_deliveries_response_200.py +101 -0
- bytekit/models/list_webhook_deliveries_status.py +11 -0
- bytekit/models/metadata.py +44 -0
- bytekit/models/monitor_create_request.py +219 -0
- bytekit/models/monitor_create_request_interval_type.py +11 -0
- bytekit/models/monitor_create_request_notify_on.py +9 -0
- bytekit/models/monitor_create_request_options.py +44 -0
- bytekit/models/monitor_create_request_scrape_options.py +44 -0
- bytekit/models/monitor_create_request_type.py +9 -0
- bytekit/models/monitor_create_request_webhook_headers.py +44 -0
- bytekit/models/monitor_create_response.py +423 -0
- bytekit/models/monitor_response.py +411 -0
- bytekit/models/monitor_response_interval_type.py +11 -0
- bytekit/models/monitor_response_metadata_type_0.py +44 -0
- bytekit/models/monitor_response_status.py +12 -0
- bytekit/models/monitor_response_type.py +9 -0
- bytekit/models/monitor_response_webhook_headers_type_0.py +44 -0
- bytekit/models/monitor_update_request.py +223 -0
- bytekit/models/monitor_update_request_interval_type.py +11 -0
- bytekit/models/monitor_update_request_notify_on.py +9 -0
- bytekit/models/monitor_update_request_options.py +44 -0
- bytekit/models/monitor_update_request_scrape_options.py +44 -0
- bytekit/models/monitor_update_request_status.py +9 -0
- bytekit/models/monitor_update_request_webhook_headers.py +44 -0
- bytekit/models/scrape_error_envelope.py +113 -0
- bytekit/models/scrape_error_envelope_error.py +93 -0
- bytekit/models/scrape_error_envelope_error_code.py +18 -0
- bytekit/models/scrape_error_envelope_schema_version.py +8 -0
- bytekit/models/scrape_error_envelope_status.py +8 -0
- bytekit/models/scrape_formats.py +183 -0
- bytekit/models/scrape_markdown_tokens.py +75 -0
- bytekit/models/scrape_metadata.py +262 -0
- bytekit/models/scrape_queued_envelope.py +124 -0
- bytekit/models/scrape_queued_envelope_schema_version.py +8 -0
- bytekit/models/scrape_queued_envelope_status.py +8 -0
- bytekit/models/scrape_request.py +485 -0
- bytekit/models/scrape_request_cache_ttl_type_1.py +8 -0
- bytekit/models/scrape_request_custom.py +48 -0
- bytekit/models/scrape_request_events_item.py +10 -0
- bytekit/models/scrape_request_formats_item.py +12 -0
- bytekit/models/scrape_request_headers.py +44 -0
- bytekit/models/scrape_request_markdown_images.py +11 -0
- bytekit/models/scrape_request_markdown_links.py +11 -0
- bytekit/models/scrape_request_markdown_mode.py +10 -0
- bytekit/models/scrape_request_token_encoding.py +9 -0
- bytekit/models/scrape_request_x_internal_scrape_path.py +8 -0
- bytekit/models/scrape_scored_image.py +128 -0
- bytekit/models/scrape_scored_link.py +94 -0
- bytekit/models/scrape_stats.py +75 -0
- bytekit/models/scrape_success_envelope.py +345 -0
- bytekit/models/scrape_success_envelope_cache.py +10 -0
- bytekit/models/scrape_success_envelope_custom.py +48 -0
- bytekit/models/scrape_success_envelope_schema_version.py +8 -0
- bytekit/models/scrape_success_envelope_status.py +8 -0
- bytekit/models/scrape_table.py +96 -0
- bytekit/models/scrape_table_kind.py +10 -0
- bytekit/models/scrape_warning.py +88 -0
- bytekit/models/scrape_warning_code.py +17 -0
- bytekit/models/screenshot_request.py +445 -0
- bytekit/models/screenshot_request_device.py +9 -0
- bytekit/models/screenshot_request_device_scale_factor_type_1.py +9 -0
- bytekit/models/screenshot_request_device_scale_factor_type_2_type_1.py +9 -0
- bytekit/models/screenshot_request_device_scale_factor_type_3_type_1.py +9 -0
- bytekit/models/screenshot_request_format.py +9 -0
- bytekit/models/screenshot_request_headers.py +44 -0
- bytekit/models/screenshot_request_wait_until.py +10 -0
- bytekit/models/screenshot_response.py +264 -0
- bytekit/models/screenshot_response_status.py +11 -0
- bytekit/models/sitemap_request.py +210 -0
- bytekit/models/sitemap_request_process_type_0.py +90 -0
- bytekit/models/sitemap_request_process_type_0_options.py +44 -0
- bytekit/models/sitemap_request_strategy.py +10 -0
- bytekit/models/sitemap_response.py +418 -0
- bytekit/models/sitemap_response_cache.py +10 -0
- bytekit/models/sitemap_response_metadata_type_0.py +44 -0
- bytekit/models/sitemap_response_process_type_0.py +44 -0
- bytekit/models/sitemap_response_sources_type_0.py +44 -0
- bytekit/models/sitemap_response_status.py +11 -0
- bytekit/models/viewport.py +67 -0
- bytekit/models/webhook_delivery_response.py +270 -0
- bytekit/models/webhook_delivery_response_event_type.py +14 -0
- bytekit/models/webhook_delivery_response_status.py +11 -0
- bytekit/py.typed +0 -0
- bytekit/types.py +54 -0
- bytekit_sdk-0.3.0.dist-info/METADATA +141 -0
- bytekit_sdk-0.3.0.dist-info/RECORD +227 -0
- bytekit_sdk-0.3.0.dist-info/WHEEL +4 -0
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import datetime
|
|
2
|
+
from collections.abc import Mapping
|
|
3
|
+
from typing import (
|
|
4
|
+
Any,
|
|
5
|
+
TypeVar,
|
|
6
|
+
Union,
|
|
7
|
+
cast,
|
|
8
|
+
)
|
|
9
|
+
|
|
10
|
+
from attrs import define as _attrs_define
|
|
11
|
+
from attrs import field as _attrs_field
|
|
12
|
+
from dateutil.parser import isoparse
|
|
13
|
+
|
|
14
|
+
from ..models.account_bearer_response_api_key_environment import (
|
|
15
|
+
AccountBearerResponseApiKeyEnvironment,
|
|
16
|
+
)
|
|
17
|
+
|
|
18
|
+
T = TypeVar("T", bound="AccountBearerResponseApiKey")
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
@_attrs_define
|
|
22
|
+
class AccountBearerResponseApiKey:
|
|
23
|
+
"""
|
|
24
|
+
Attributes:
|
|
25
|
+
id (str):
|
|
26
|
+
prefix (str):
|
|
27
|
+
label (Union[None, str]):
|
|
28
|
+
environment (AccountBearerResponseApiKeyEnvironment): Billing/key environment. Currently always `live` — the
|
|
29
|
+
only value the backend emits.
|
|
30
|
+
last_used_at (Union[None, datetime.datetime]):
|
|
31
|
+
created_at (datetime.datetime):
|
|
32
|
+
"""
|
|
33
|
+
|
|
34
|
+
id: str
|
|
35
|
+
prefix: str
|
|
36
|
+
label: Union[None, str]
|
|
37
|
+
environment: AccountBearerResponseApiKeyEnvironment
|
|
38
|
+
last_used_at: Union[None, datetime.datetime]
|
|
39
|
+
created_at: datetime.datetime
|
|
40
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
41
|
+
|
|
42
|
+
def to_dict(self) -> dict[str, Any]:
|
|
43
|
+
id = self.id
|
|
44
|
+
|
|
45
|
+
prefix = self.prefix
|
|
46
|
+
|
|
47
|
+
label: Union[None, str]
|
|
48
|
+
label = self.label
|
|
49
|
+
|
|
50
|
+
environment = self.environment.value
|
|
51
|
+
|
|
52
|
+
last_used_at: Union[None, str]
|
|
53
|
+
if isinstance(self.last_used_at, datetime.datetime):
|
|
54
|
+
last_used_at = self.last_used_at.isoformat()
|
|
55
|
+
else:
|
|
56
|
+
last_used_at = self.last_used_at
|
|
57
|
+
|
|
58
|
+
created_at = self.created_at.isoformat()
|
|
59
|
+
|
|
60
|
+
field_dict: dict[str, Any] = {}
|
|
61
|
+
field_dict.update(self.additional_properties)
|
|
62
|
+
field_dict.update(
|
|
63
|
+
{
|
|
64
|
+
"id": id,
|
|
65
|
+
"prefix": prefix,
|
|
66
|
+
"label": label,
|
|
67
|
+
"environment": environment,
|
|
68
|
+
"last_used_at": last_used_at,
|
|
69
|
+
"created_at": created_at,
|
|
70
|
+
}
|
|
71
|
+
)
|
|
72
|
+
|
|
73
|
+
return field_dict
|
|
74
|
+
|
|
75
|
+
@classmethod
|
|
76
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
77
|
+
d = dict(src_dict)
|
|
78
|
+
id = d.pop("id")
|
|
79
|
+
|
|
80
|
+
prefix = d.pop("prefix")
|
|
81
|
+
|
|
82
|
+
def _parse_label(data: object) -> Union[None, str]:
|
|
83
|
+
if data is None:
|
|
84
|
+
return data
|
|
85
|
+
return cast(Union[None, str], data)
|
|
86
|
+
|
|
87
|
+
label = _parse_label(d.pop("label"))
|
|
88
|
+
|
|
89
|
+
environment = AccountBearerResponseApiKeyEnvironment(d.pop("environment"))
|
|
90
|
+
|
|
91
|
+
def _parse_last_used_at(data: object) -> Union[None, datetime.datetime]:
|
|
92
|
+
if data is None:
|
|
93
|
+
return data
|
|
94
|
+
try:
|
|
95
|
+
if not isinstance(data, str):
|
|
96
|
+
raise TypeError()
|
|
97
|
+
last_used_at_type_0 = isoparse(data)
|
|
98
|
+
|
|
99
|
+
return last_used_at_type_0
|
|
100
|
+
except: # noqa: E722
|
|
101
|
+
pass
|
|
102
|
+
return cast(Union[None, datetime.datetime], data)
|
|
103
|
+
|
|
104
|
+
last_used_at = _parse_last_used_at(d.pop("last_used_at"))
|
|
105
|
+
|
|
106
|
+
created_at = isoparse(d.pop("created_at"))
|
|
107
|
+
|
|
108
|
+
account_bearer_response_api_key = cls(
|
|
109
|
+
id=id,
|
|
110
|
+
prefix=prefix,
|
|
111
|
+
label=label,
|
|
112
|
+
environment=environment,
|
|
113
|
+
last_used_at=last_used_at,
|
|
114
|
+
created_at=created_at,
|
|
115
|
+
)
|
|
116
|
+
|
|
117
|
+
account_bearer_response_api_key.additional_properties = d
|
|
118
|
+
return account_bearer_response_api_key
|
|
119
|
+
|
|
120
|
+
@property
|
|
121
|
+
def additional_keys(self) -> list[str]:
|
|
122
|
+
return list(self.additional_properties.keys())
|
|
123
|
+
|
|
124
|
+
def __getitem__(self, key: str) -> Any:
|
|
125
|
+
return self.additional_properties[key]
|
|
126
|
+
|
|
127
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
128
|
+
self.additional_properties[key] = value
|
|
129
|
+
|
|
130
|
+
def __delitem__(self, key: str) -> None:
|
|
131
|
+
del self.additional_properties[key]
|
|
132
|
+
|
|
133
|
+
def __contains__(self, key: str) -> bool:
|
|
134
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
from collections.abc import Mapping
|
|
2
|
+
from typing import Any, TypeVar
|
|
3
|
+
|
|
4
|
+
from attrs import define as _attrs_define
|
|
5
|
+
from attrs import field as _attrs_field
|
|
6
|
+
|
|
7
|
+
T = TypeVar("T", bound="AccountBearerResponseAutoTopup")
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
@_attrs_define
|
|
11
|
+
class AccountBearerResponseAutoTopup:
|
|
12
|
+
"""
|
|
13
|
+
Attributes:
|
|
14
|
+
enabled (bool):
|
|
15
|
+
threshold_bytes (int):
|
|
16
|
+
amount_bytes (int):
|
|
17
|
+
monthly_cap_cents (int):
|
|
18
|
+
"""
|
|
19
|
+
|
|
20
|
+
enabled: bool
|
|
21
|
+
threshold_bytes: int
|
|
22
|
+
amount_bytes: int
|
|
23
|
+
monthly_cap_cents: int
|
|
24
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
25
|
+
|
|
26
|
+
def to_dict(self) -> dict[str, Any]:
|
|
27
|
+
enabled = self.enabled
|
|
28
|
+
|
|
29
|
+
threshold_bytes = self.threshold_bytes
|
|
30
|
+
|
|
31
|
+
amount_bytes = self.amount_bytes
|
|
32
|
+
|
|
33
|
+
monthly_cap_cents = self.monthly_cap_cents
|
|
34
|
+
|
|
35
|
+
field_dict: dict[str, Any] = {}
|
|
36
|
+
field_dict.update(self.additional_properties)
|
|
37
|
+
field_dict.update(
|
|
38
|
+
{
|
|
39
|
+
"enabled": enabled,
|
|
40
|
+
"threshold_bytes": threshold_bytes,
|
|
41
|
+
"amount_bytes": amount_bytes,
|
|
42
|
+
"monthly_cap_cents": monthly_cap_cents,
|
|
43
|
+
}
|
|
44
|
+
)
|
|
45
|
+
|
|
46
|
+
return field_dict
|
|
47
|
+
|
|
48
|
+
@classmethod
|
|
49
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
50
|
+
d = dict(src_dict)
|
|
51
|
+
enabled = d.pop("enabled")
|
|
52
|
+
|
|
53
|
+
threshold_bytes = d.pop("threshold_bytes")
|
|
54
|
+
|
|
55
|
+
amount_bytes = d.pop("amount_bytes")
|
|
56
|
+
|
|
57
|
+
monthly_cap_cents = d.pop("monthly_cap_cents")
|
|
58
|
+
|
|
59
|
+
account_bearer_response_auto_topup = cls(
|
|
60
|
+
enabled=enabled,
|
|
61
|
+
threshold_bytes=threshold_bytes,
|
|
62
|
+
amount_bytes=amount_bytes,
|
|
63
|
+
monthly_cap_cents=monthly_cap_cents,
|
|
64
|
+
)
|
|
65
|
+
|
|
66
|
+
account_bearer_response_auto_topup.additional_properties = d
|
|
67
|
+
return account_bearer_response_auto_topup
|
|
68
|
+
|
|
69
|
+
@property
|
|
70
|
+
def additional_keys(self) -> list[str]:
|
|
71
|
+
return list(self.additional_properties.keys())
|
|
72
|
+
|
|
73
|
+
def __getitem__(self, key: str) -> Any:
|
|
74
|
+
return self.additional_properties[key]
|
|
75
|
+
|
|
76
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
77
|
+
self.additional_properties[key] = value
|
|
78
|
+
|
|
79
|
+
def __delitem__(self, key: str) -> None:
|
|
80
|
+
del self.additional_properties[key]
|
|
81
|
+
|
|
82
|
+
def __contains__(self, key: str) -> bool:
|
|
83
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
from collections.abc import Mapping
|
|
2
|
+
from typing import (
|
|
3
|
+
Any,
|
|
4
|
+
TypeVar,
|
|
5
|
+
Union,
|
|
6
|
+
cast,
|
|
7
|
+
)
|
|
8
|
+
|
|
9
|
+
from attrs import define as _attrs_define
|
|
10
|
+
from attrs import field as _attrs_field
|
|
11
|
+
|
|
12
|
+
T = TypeVar("T", bound="AccountBearerResponsePlan")
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
@_attrs_define
|
|
16
|
+
class AccountBearerResponsePlan:
|
|
17
|
+
"""
|
|
18
|
+
Attributes:
|
|
19
|
+
id (str):
|
|
20
|
+
slug (str):
|
|
21
|
+
name (str):
|
|
22
|
+
included_screenshots (int):
|
|
23
|
+
has_overage (bool):
|
|
24
|
+
overage_price_cents (Union[None, int]):
|
|
25
|
+
max_concurrency (int):
|
|
26
|
+
rate_limit_per_sec (int):
|
|
27
|
+
max_bulk_size (int):
|
|
28
|
+
max_monitors (int):
|
|
29
|
+
retention_days (int):
|
|
30
|
+
"""
|
|
31
|
+
|
|
32
|
+
id: str
|
|
33
|
+
slug: str
|
|
34
|
+
name: str
|
|
35
|
+
included_screenshots: int
|
|
36
|
+
has_overage: bool
|
|
37
|
+
overage_price_cents: Union[None, int]
|
|
38
|
+
max_concurrency: int
|
|
39
|
+
rate_limit_per_sec: int
|
|
40
|
+
max_bulk_size: int
|
|
41
|
+
max_monitors: int
|
|
42
|
+
retention_days: int
|
|
43
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
44
|
+
|
|
45
|
+
def to_dict(self) -> dict[str, Any]:
|
|
46
|
+
id = self.id
|
|
47
|
+
|
|
48
|
+
slug = self.slug
|
|
49
|
+
|
|
50
|
+
name = self.name
|
|
51
|
+
|
|
52
|
+
included_screenshots = self.included_screenshots
|
|
53
|
+
|
|
54
|
+
has_overage = self.has_overage
|
|
55
|
+
|
|
56
|
+
overage_price_cents: Union[None, int]
|
|
57
|
+
overage_price_cents = self.overage_price_cents
|
|
58
|
+
|
|
59
|
+
max_concurrency = self.max_concurrency
|
|
60
|
+
|
|
61
|
+
rate_limit_per_sec = self.rate_limit_per_sec
|
|
62
|
+
|
|
63
|
+
max_bulk_size = self.max_bulk_size
|
|
64
|
+
|
|
65
|
+
max_monitors = self.max_monitors
|
|
66
|
+
|
|
67
|
+
retention_days = self.retention_days
|
|
68
|
+
|
|
69
|
+
field_dict: dict[str, Any] = {}
|
|
70
|
+
field_dict.update(self.additional_properties)
|
|
71
|
+
field_dict.update(
|
|
72
|
+
{
|
|
73
|
+
"id": id,
|
|
74
|
+
"slug": slug,
|
|
75
|
+
"name": name,
|
|
76
|
+
"included_screenshots": included_screenshots,
|
|
77
|
+
"has_overage": has_overage,
|
|
78
|
+
"overage_price_cents": overage_price_cents,
|
|
79
|
+
"max_concurrency": max_concurrency,
|
|
80
|
+
"rate_limit_per_sec": rate_limit_per_sec,
|
|
81
|
+
"max_bulk_size": max_bulk_size,
|
|
82
|
+
"max_monitors": max_monitors,
|
|
83
|
+
"retention_days": retention_days,
|
|
84
|
+
}
|
|
85
|
+
)
|
|
86
|
+
|
|
87
|
+
return field_dict
|
|
88
|
+
|
|
89
|
+
@classmethod
|
|
90
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
91
|
+
d = dict(src_dict)
|
|
92
|
+
id = d.pop("id")
|
|
93
|
+
|
|
94
|
+
slug = d.pop("slug")
|
|
95
|
+
|
|
96
|
+
name = d.pop("name")
|
|
97
|
+
|
|
98
|
+
included_screenshots = d.pop("included_screenshots")
|
|
99
|
+
|
|
100
|
+
has_overage = d.pop("has_overage")
|
|
101
|
+
|
|
102
|
+
def _parse_overage_price_cents(data: object) -> Union[None, int]:
|
|
103
|
+
if data is None:
|
|
104
|
+
return data
|
|
105
|
+
return cast(Union[None, int], data)
|
|
106
|
+
|
|
107
|
+
overage_price_cents = _parse_overage_price_cents(d.pop("overage_price_cents"))
|
|
108
|
+
|
|
109
|
+
max_concurrency = d.pop("max_concurrency")
|
|
110
|
+
|
|
111
|
+
rate_limit_per_sec = d.pop("rate_limit_per_sec")
|
|
112
|
+
|
|
113
|
+
max_bulk_size = d.pop("max_bulk_size")
|
|
114
|
+
|
|
115
|
+
max_monitors = d.pop("max_monitors")
|
|
116
|
+
|
|
117
|
+
retention_days = d.pop("retention_days")
|
|
118
|
+
|
|
119
|
+
account_bearer_response_plan = cls(
|
|
120
|
+
id=id,
|
|
121
|
+
slug=slug,
|
|
122
|
+
name=name,
|
|
123
|
+
included_screenshots=included_screenshots,
|
|
124
|
+
has_overage=has_overage,
|
|
125
|
+
overage_price_cents=overage_price_cents,
|
|
126
|
+
max_concurrency=max_concurrency,
|
|
127
|
+
rate_limit_per_sec=rate_limit_per_sec,
|
|
128
|
+
max_bulk_size=max_bulk_size,
|
|
129
|
+
max_monitors=max_monitors,
|
|
130
|
+
retention_days=retention_days,
|
|
131
|
+
)
|
|
132
|
+
|
|
133
|
+
account_bearer_response_plan.additional_properties = d
|
|
134
|
+
return account_bearer_response_plan
|
|
135
|
+
|
|
136
|
+
@property
|
|
137
|
+
def additional_keys(self) -> list[str]:
|
|
138
|
+
return list(self.additional_properties.keys())
|
|
139
|
+
|
|
140
|
+
def __getitem__(self, key: str) -> Any:
|
|
141
|
+
return self.additional_properties[key]
|
|
142
|
+
|
|
143
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
144
|
+
self.additional_properties[key] = value
|
|
145
|
+
|
|
146
|
+
def __delitem__(self, key: str) -> None:
|
|
147
|
+
del self.additional_properties[key]
|
|
148
|
+
|
|
149
|
+
def __contains__(self, key: str) -> bool:
|
|
150
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
from collections.abc import Mapping
|
|
2
|
+
from typing import (
|
|
3
|
+
TYPE_CHECKING,
|
|
4
|
+
Any,
|
|
5
|
+
TypeVar,
|
|
6
|
+
)
|
|
7
|
+
|
|
8
|
+
from attrs import define as _attrs_define
|
|
9
|
+
from attrs import field as _attrs_field
|
|
10
|
+
|
|
11
|
+
from ..models.account_bearer_response_subscription_status import (
|
|
12
|
+
AccountBearerResponseSubscriptionStatus,
|
|
13
|
+
)
|
|
14
|
+
|
|
15
|
+
if TYPE_CHECKING:
|
|
16
|
+
from ..models.account_bearer_response_subscription_plan import (
|
|
17
|
+
AccountBearerResponseSubscriptionPlan,
|
|
18
|
+
)
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
T = TypeVar("T", bound="AccountBearerResponseSubscription")
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
@_attrs_define
|
|
25
|
+
class AccountBearerResponseSubscription:
|
|
26
|
+
"""
|
|
27
|
+
Attributes:
|
|
28
|
+
status (AccountBearerResponseSubscriptionStatus):
|
|
29
|
+
plan (AccountBearerResponseSubscriptionPlan):
|
|
30
|
+
"""
|
|
31
|
+
|
|
32
|
+
status: AccountBearerResponseSubscriptionStatus
|
|
33
|
+
plan: "AccountBearerResponseSubscriptionPlan"
|
|
34
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
35
|
+
|
|
36
|
+
def to_dict(self) -> dict[str, Any]:
|
|
37
|
+
status = self.status.value
|
|
38
|
+
|
|
39
|
+
plan = self.plan.to_dict()
|
|
40
|
+
|
|
41
|
+
field_dict: dict[str, Any] = {}
|
|
42
|
+
field_dict.update(self.additional_properties)
|
|
43
|
+
field_dict.update(
|
|
44
|
+
{
|
|
45
|
+
"status": status,
|
|
46
|
+
"plan": plan,
|
|
47
|
+
}
|
|
48
|
+
)
|
|
49
|
+
|
|
50
|
+
return field_dict
|
|
51
|
+
|
|
52
|
+
@classmethod
|
|
53
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
54
|
+
from ..models.account_bearer_response_subscription_plan import (
|
|
55
|
+
AccountBearerResponseSubscriptionPlan,
|
|
56
|
+
)
|
|
57
|
+
|
|
58
|
+
d = dict(src_dict)
|
|
59
|
+
status = AccountBearerResponseSubscriptionStatus(d.pop("status"))
|
|
60
|
+
|
|
61
|
+
plan = AccountBearerResponseSubscriptionPlan.from_dict(d.pop("plan"))
|
|
62
|
+
|
|
63
|
+
account_bearer_response_subscription = cls(
|
|
64
|
+
status=status,
|
|
65
|
+
plan=plan,
|
|
66
|
+
)
|
|
67
|
+
|
|
68
|
+
account_bearer_response_subscription.additional_properties = d
|
|
69
|
+
return account_bearer_response_subscription
|
|
70
|
+
|
|
71
|
+
@property
|
|
72
|
+
def additional_keys(self) -> list[str]:
|
|
73
|
+
return list(self.additional_properties.keys())
|
|
74
|
+
|
|
75
|
+
def __getitem__(self, key: str) -> Any:
|
|
76
|
+
return self.additional_properties[key]
|
|
77
|
+
|
|
78
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
79
|
+
self.additional_properties[key] = value
|
|
80
|
+
|
|
81
|
+
def __delitem__(self, key: str) -> None:
|
|
82
|
+
del self.additional_properties[key]
|
|
83
|
+
|
|
84
|
+
def __contains__(self, key: str) -> bool:
|
|
85
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
from collections.abc import Mapping
|
|
2
|
+
from typing import Any, TypeVar
|
|
3
|
+
|
|
4
|
+
from attrs import define as _attrs_define
|
|
5
|
+
from attrs import field as _attrs_field
|
|
6
|
+
|
|
7
|
+
T = TypeVar("T", bound="AccountBearerResponseSubscriptionPlan")
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
@_attrs_define
|
|
11
|
+
class AccountBearerResponseSubscriptionPlan:
|
|
12
|
+
"""
|
|
13
|
+
Attributes:
|
|
14
|
+
slug (str):
|
|
15
|
+
name (str):
|
|
16
|
+
included_bytes (int):
|
|
17
|
+
included_credits (int):
|
|
18
|
+
topup_price_per_mb_cents (float):
|
|
19
|
+
credit_topup_price_per_k_cents (float):
|
|
20
|
+
"""
|
|
21
|
+
|
|
22
|
+
slug: str
|
|
23
|
+
name: str
|
|
24
|
+
included_bytes: int
|
|
25
|
+
included_credits: int
|
|
26
|
+
topup_price_per_mb_cents: float
|
|
27
|
+
credit_topup_price_per_k_cents: float
|
|
28
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
29
|
+
|
|
30
|
+
def to_dict(self) -> dict[str, Any]:
|
|
31
|
+
slug = self.slug
|
|
32
|
+
|
|
33
|
+
name = self.name
|
|
34
|
+
|
|
35
|
+
included_bytes = self.included_bytes
|
|
36
|
+
|
|
37
|
+
included_credits = self.included_credits
|
|
38
|
+
|
|
39
|
+
topup_price_per_mb_cents = self.topup_price_per_mb_cents
|
|
40
|
+
|
|
41
|
+
credit_topup_price_per_k_cents = self.credit_topup_price_per_k_cents
|
|
42
|
+
|
|
43
|
+
field_dict: dict[str, Any] = {}
|
|
44
|
+
field_dict.update(self.additional_properties)
|
|
45
|
+
field_dict.update(
|
|
46
|
+
{
|
|
47
|
+
"slug": slug,
|
|
48
|
+
"name": name,
|
|
49
|
+
"included_bytes": included_bytes,
|
|
50
|
+
"included_credits": included_credits,
|
|
51
|
+
"topup_price_per_mb_cents": topup_price_per_mb_cents,
|
|
52
|
+
"credit_topup_price_per_k_cents": credit_topup_price_per_k_cents,
|
|
53
|
+
}
|
|
54
|
+
)
|
|
55
|
+
|
|
56
|
+
return field_dict
|
|
57
|
+
|
|
58
|
+
@classmethod
|
|
59
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
60
|
+
d = dict(src_dict)
|
|
61
|
+
slug = d.pop("slug")
|
|
62
|
+
|
|
63
|
+
name = d.pop("name")
|
|
64
|
+
|
|
65
|
+
included_bytes = d.pop("included_bytes")
|
|
66
|
+
|
|
67
|
+
included_credits = d.pop("included_credits")
|
|
68
|
+
|
|
69
|
+
topup_price_per_mb_cents = d.pop("topup_price_per_mb_cents")
|
|
70
|
+
|
|
71
|
+
credit_topup_price_per_k_cents = d.pop("credit_topup_price_per_k_cents")
|
|
72
|
+
|
|
73
|
+
account_bearer_response_subscription_plan = cls(
|
|
74
|
+
slug=slug,
|
|
75
|
+
name=name,
|
|
76
|
+
included_bytes=included_bytes,
|
|
77
|
+
included_credits=included_credits,
|
|
78
|
+
topup_price_per_mb_cents=topup_price_per_mb_cents,
|
|
79
|
+
credit_topup_price_per_k_cents=credit_topup_price_per_k_cents,
|
|
80
|
+
)
|
|
81
|
+
|
|
82
|
+
account_bearer_response_subscription_plan.additional_properties = d
|
|
83
|
+
return account_bearer_response_subscription_plan
|
|
84
|
+
|
|
85
|
+
@property
|
|
86
|
+
def additional_keys(self) -> list[str]:
|
|
87
|
+
return list(self.additional_properties.keys())
|
|
88
|
+
|
|
89
|
+
def __getitem__(self, key: str) -> Any:
|
|
90
|
+
return self.additional_properties[key]
|
|
91
|
+
|
|
92
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
93
|
+
self.additional_properties[key] = value
|
|
94
|
+
|
|
95
|
+
def __delitem__(self, key: str) -> None:
|
|
96
|
+
del self.additional_properties[key]
|
|
97
|
+
|
|
98
|
+
def __contains__(self, key: str) -> bool:
|
|
99
|
+
return key in self.additional_properties
|