qcs_api_client 0.27.3__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 (172) hide show
  1. qcs_api_client/__init__.py +1 -0
  2. qcs_api_client/api/__init__.py +1 -0
  3. qcs_api_client/api/account/__init__.py +1 -0
  4. qcs_api_client/api/account/activate_user.py +155 -0
  5. qcs_api_client/api/account/add_group_user.py +156 -0
  6. qcs_api_client/api/account/dismiss_viewer_announcement.py +145 -0
  7. qcs_api_client/api/account/get_group_balance.py +149 -0
  8. qcs_api_client/api/account/get_group_billing_customer.py +145 -0
  9. qcs_api_client/api/account/get_group_upcoming_billing_invoice.py +145 -0
  10. qcs_api_client/api/account/get_user_balance.py +149 -0
  11. qcs_api_client/api/account/get_user_billing_customer.py +145 -0
  12. qcs_api_client/api/account/get_user_event_billing_price.py +170 -0
  13. qcs_api_client/api/account/get_user_upcoming_billing_invoice.py +145 -0
  14. qcs_api_client/api/account/get_viewer_user_onboarding_completed.py +124 -0
  15. qcs_api_client/api/account/list_group_billing_invoice_lines.py +189 -0
  16. qcs_api_client/api/account/list_group_billing_invoices.py +177 -0
  17. qcs_api_client/api/account/list_group_upcoming_billing_invoice_lines.py +177 -0
  18. qcs_api_client/api/account/list_group_users.py +185 -0
  19. qcs_api_client/api/account/list_user_billing_invoice_lines.py +189 -0
  20. qcs_api_client/api/account/list_user_billing_invoices.py +177 -0
  21. qcs_api_client/api/account/list_user_groups.py +181 -0
  22. qcs_api_client/api/account/list_user_upcoming_billing_invoice_lines.py +177 -0
  23. qcs_api_client/api/account/list_viewer_announcements.py +178 -0
  24. qcs_api_client/api/account/put_viewer_user_onboarding_completed.py +150 -0
  25. qcs_api_client/api/account/remove_group_user.py +158 -0
  26. qcs_api_client/api/account/update_viewer_user_profile.py +150 -0
  27. qcs_api_client/api/authentication/__init__.py +1 -0
  28. qcs_api_client/api/authentication/auth_email_password_reset_token.py +153 -0
  29. qcs_api_client/api/authentication/auth_get_user.py +128 -0
  30. qcs_api_client/api/authentication/auth_reset_password.py +152 -0
  31. qcs_api_client/api/authentication/auth_reset_password_with_token.py +154 -0
  32. qcs_api_client/api/client_applications/__init__.py +1 -0
  33. qcs_api_client/api/client_applications/check_client_application.py +154 -0
  34. qcs_api_client/api/client_applications/get_client_application.py +151 -0
  35. qcs_api_client/api/client_applications/list_client_applications.py +129 -0
  36. qcs_api_client/api/default/__init__.py +1 -0
  37. qcs_api_client/api/default/get_health.py +123 -0
  38. qcs_api_client/api/default/health_check.py +124 -0
  39. qcs_api_client/api/default/health_check_deprecated.py +126 -0
  40. qcs_api_client/api/endpoints/__init__.py +1 -0
  41. qcs_api_client/api/endpoints/create_endpoint.py +157 -0
  42. qcs_api_client/api/endpoints/delete_endpoint.py +148 -0
  43. qcs_api_client/api/endpoints/get_default_endpoint.py +154 -0
  44. qcs_api_client/api/endpoints/get_endpoint.py +150 -0
  45. qcs_api_client/api/endpoints/list_endpoints.py +182 -0
  46. qcs_api_client/api/endpoints/restart_endpoint.py +168 -0
  47. qcs_api_client/api/engagements/__init__.py +1 -0
  48. qcs_api_client/api/engagements/create_engagement.py +196 -0
  49. qcs_api_client/api/quantum_processors/__init__.py +1 -0
  50. qcs_api_client/api/quantum_processors/get_instruction_set_architecture.py +144 -0
  51. qcs_api_client/api/quantum_processors/get_quantum_processor.py +148 -0
  52. qcs_api_client/api/quantum_processors/get_quantum_processor_accessors.py +150 -0
  53. qcs_api_client/api/quantum_processors/list_instruction_set_architectures.py +164 -0
  54. qcs_api_client/api/quantum_processors/list_quantum_processors.py +170 -0
  55. qcs_api_client/api/reservations/__init__.py +1 -0
  56. qcs_api_client/api/reservations/create_reservation.py +200 -0
  57. qcs_api_client/api/reservations/delete_reservation.py +149 -0
  58. qcs_api_client/api/reservations/find_available_reservations.py +211 -0
  59. qcs_api_client/api/reservations/get_quantum_processor_calendar.py +149 -0
  60. qcs_api_client/api/reservations/get_reservation.py +149 -0
  61. qcs_api_client/api/reservations/list_group_reservations.py +309 -0
  62. qcs_api_client/api/reservations/list_reservations.py +335 -0
  63. qcs_api_client/client/__init__.py +12 -0
  64. qcs_api_client/client/auth.py +78 -0
  65. qcs_api_client/client/client.py +48 -0
  66. qcs_api_client/errors.py +16 -0
  67. qcs_api_client/models/__init__.py +185 -0
  68. qcs_api_client/models/account_balance.py +72 -0
  69. qcs_api_client/models/account_type.py +9 -0
  70. qcs_api_client/models/activate_user_request.py +93 -0
  71. qcs_api_client/models/add_group_user_request.py +95 -0
  72. qcs_api_client/models/announcement.py +97 -0
  73. qcs_api_client/models/announcements_response.py +93 -0
  74. qcs_api_client/models/architecture.py +134 -0
  75. qcs_api_client/models/auth_email_password_reset_token_request.py +69 -0
  76. qcs_api_client/models/auth_reset_password_request.py +77 -0
  77. qcs_api_client/models/auth_reset_password_with_token_request.py +78 -0
  78. qcs_api_client/models/available_reservation.py +104 -0
  79. qcs_api_client/models/billing_customer.py +78 -0
  80. qcs_api_client/models/billing_invoice.py +130 -0
  81. qcs_api_client/models/billing_invoice_line.py +165 -0
  82. qcs_api_client/models/billing_invoice_line_line_item_type.py +9 -0
  83. qcs_api_client/models/billing_invoice_line_metadata.py +55 -0
  84. qcs_api_client/models/billing_invoice_status.py +12 -0
  85. qcs_api_client/models/billing_price.py +234 -0
  86. qcs_api_client/models/billing_price_object.py +8 -0
  87. qcs_api_client/models/billing_price_price_type.py +9 -0
  88. qcs_api_client/models/billing_price_recurrence.py +124 -0
  89. qcs_api_client/models/billing_price_recurrence_aggregate_usage.py +11 -0
  90. qcs_api_client/models/billing_price_recurrence_interval.py +11 -0
  91. qcs_api_client/models/billing_price_recurrence_usage_type.py +9 -0
  92. qcs_api_client/models/billing_price_scheme.py +9 -0
  93. qcs_api_client/models/billing_price_tiers_mode.py +9 -0
  94. qcs_api_client/models/billing_product.py +109 -0
  95. qcs_api_client/models/billing_product_object.py +8 -0
  96. qcs_api_client/models/billing_upcoming_invoice.py +122 -0
  97. qcs_api_client/models/characteristic.py +125 -0
  98. qcs_api_client/models/check_client_application_request.py +77 -0
  99. qcs_api_client/models/check_client_application_response.py +85 -0
  100. qcs_api_client/models/checksum_description.py +78 -0
  101. qcs_api_client/models/checksum_description_type.py +8 -0
  102. qcs_api_client/models/client_application.py +130 -0
  103. qcs_api_client/models/client_applications_download_link.py +100 -0
  104. qcs_api_client/models/code.py +17 -0
  105. qcs_api_client/models/create_endpoint_parameters.py +93 -0
  106. qcs_api_client/models/create_engagement_request.py +116 -0
  107. qcs_api_client/models/create_reservation_request.py +124 -0
  108. qcs_api_client/models/dictionary.py +55 -0
  109. qcs_api_client/models/edge.py +78 -0
  110. qcs_api_client/models/endpoint.py +140 -0
  111. qcs_api_client/models/endpoint_addresses.py +77 -0
  112. qcs_api_client/models/engagement_credentials.py +87 -0
  113. qcs_api_client/models/engagement_with_credentials.py +169 -0
  114. qcs_api_client/models/error.py +112 -0
  115. qcs_api_client/models/event_billing_price_rate.py +107 -0
  116. qcs_api_client/models/family.py +11 -0
  117. qcs_api_client/models/find_available_reservations_response.py +92 -0
  118. qcs_api_client/models/get_account_event_billing_price_request.py +81 -0
  119. qcs_api_client/models/group.py +112 -0
  120. qcs_api_client/models/health.py +69 -0
  121. qcs_api_client/models/instruction_set_architecture.py +142 -0
  122. qcs_api_client/models/invite_user_request.py +87 -0
  123. qcs_api_client/models/list_account_billing_invoice_lines_response.py +92 -0
  124. qcs_api_client/models/list_account_billing_invoices_response.py +92 -0
  125. qcs_api_client/models/list_client_applications_response.py +83 -0
  126. qcs_api_client/models/list_endpoints_response.py +93 -0
  127. qcs_api_client/models/list_group_reservations_show_deleted.py +9 -0
  128. qcs_api_client/models/list_group_users_response.py +92 -0
  129. qcs_api_client/models/list_groups_response.py +92 -0
  130. qcs_api_client/models/list_instruction_set_architecture_response.py +94 -0
  131. qcs_api_client/models/list_quantum_processor_accessors_response.py +92 -0
  132. qcs_api_client/models/list_quantum_processors_response.py +92 -0
  133. qcs_api_client/models/list_reservations_response.py +91 -0
  134. qcs_api_client/models/list_reservations_show_deleted.py +9 -0
  135. qcs_api_client/models/node.py +76 -0
  136. qcs_api_client/models/nomad_job_datacenters.py +10 -0
  137. qcs_api_client/models/operation.py +138 -0
  138. qcs_api_client/models/operation_site.py +93 -0
  139. qcs_api_client/models/parameter.py +70 -0
  140. qcs_api_client/models/product.py +10 -0
  141. qcs_api_client/models/quantum_processor.py +70 -0
  142. qcs_api_client/models/quantum_processor_accessor.py +112 -0
  143. qcs_api_client/models/quantum_processor_accessor_type.py +9 -0
  144. qcs_api_client/models/quantum_processor_calendar.py +69 -0
  145. qcs_api_client/models/remove_group_user_request.py +95 -0
  146. qcs_api_client/models/reservation.py +218 -0
  147. qcs_api_client/models/restart_endpoint_request.py +67 -0
  148. qcs_api_client/models/tier.py +113 -0
  149. qcs_api_client/models/update_viewer_user_profile_request.py +85 -0
  150. qcs_api_client/models/user.py +110 -0
  151. qcs_api_client/models/user_credentials.py +75 -0
  152. qcs_api_client/models/user_credentials_password.py +69 -0
  153. qcs_api_client/models/user_profile.py +93 -0
  154. qcs_api_client/models/validation_error.py +89 -0
  155. qcs_api_client/models/validation_error_in.py +11 -0
  156. qcs_api_client/models/validation_location.py +11 -0
  157. qcs_api_client/models/viewer_user_onboarding_completed.py +69 -0
  158. qcs_api_client/operations/__init__.py +8 -0
  159. qcs_api_client/operations/asyncio/__init__.py +121 -0
  160. qcs_api_client/operations/asyncio_from_dict/__init__.py +139 -0
  161. qcs_api_client/operations/sync/__init__.py +117 -0
  162. qcs_api_client/operations/sync_from_dict/__init__.py +133 -0
  163. qcs_api_client/py.typed +1 -0
  164. qcs_api_client/types.py +74 -0
  165. qcs_api_client/util/__init__.py +0 -0
  166. qcs_api_client/util/errors.py +32 -0
  167. qcs_api_client/util/retry.py +26 -0
  168. qcs_api_client/util/serialization.py +5 -0
  169. qcs_api_client-0.27.3.dist-info/METADATA +101 -0
  170. qcs_api_client-0.27.3.dist-info/RECORD +172 -0
  171. qcs_api_client-0.27.3.dist-info/WHEEL +4 -0
  172. qcs_api_client-0.27.3.dist-info/licenses/LICENSE +201 -0
@@ -0,0 +1,69 @@
1
+ from __future__ import annotations
2
+
3
+ from collections.abc import Callable, Mapping
4
+ from typing import Any, TypeVar
5
+
6
+ from attrs import define as _attrs_define
7
+ from attrs import field as _attrs_field
8
+
9
+ from ..types import UNSET
10
+ from ..util.serialization import is_not_none
11
+
12
+ T = TypeVar("T", bound="Health")
13
+
14
+
15
+ @_attrs_define
16
+ class Health:
17
+ """
18
+ Attributes:
19
+ status (str): Example: PASS.
20
+ """
21
+
22
+ status: str
23
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
24
+
25
+ def to_dict(self, pick_by_predicate: Callable[[str, Any], bool] | None = is_not_none) -> dict[str, Any]:
26
+ status = self.status
27
+
28
+ field_dict: dict[str, Any] = {}
29
+ field_dict.update(self.additional_properties)
30
+ field_dict.update(
31
+ {
32
+ "status": status,
33
+ }
34
+ )
35
+
36
+ if pick_by_predicate is not None:
37
+ field_dict = {k: v for k, v in field_dict.items() if pick_by_predicate(v)}
38
+ else:
39
+ field_dict = {k: v for k, v in field_dict.items() if v != UNSET}
40
+
41
+ return field_dict
42
+
43
+ @classmethod
44
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
45
+ d = dict(src_dict)
46
+ status = d.pop("status")
47
+
48
+ health = cls(
49
+ status=status,
50
+ )
51
+
52
+ health.additional_properties = d
53
+ return health
54
+
55
+ @property
56
+ def additional_keys(self) -> list[str]:
57
+ return list(self.additional_properties.keys())
58
+
59
+ def __getitem__(self, key: str) -> Any:
60
+ return self.additional_properties[key]
61
+
62
+ def __setitem__(self, key: str, value: Any) -> None:
63
+ self.additional_properties[key] = value
64
+
65
+ def __delitem__(self, key: str) -> None:
66
+ del self.additional_properties[key]
67
+
68
+ def __contains__(self, key: str) -> bool:
69
+ return key in self.additional_properties
@@ -0,0 +1,142 @@
1
+ from __future__ import annotations
2
+
3
+ from collections.abc import Callable, Mapping
4
+ from typing import TYPE_CHECKING, Any, TypeVar
5
+
6
+ from attrs import define as _attrs_define
7
+ from attrs import field as _attrs_field
8
+
9
+ from ..types import UNSET
10
+ from ..util.serialization import is_not_none
11
+
12
+ if TYPE_CHECKING:
13
+ from ..models.architecture import Architecture
14
+ from ..models.operation import Operation
15
+
16
+
17
+ T = TypeVar("T", bound="InstructionSetArchitecture")
18
+
19
+
20
+ @_attrs_define
21
+ class InstructionSetArchitecture:
22
+ """The native instruction set architecture of a quantum processor, annotated with characteristics.
23
+
24
+ The operations described by the `instructions` field are named by their QUIL instruction name,
25
+ while the operation described by the `benchmarks` field are named by their benchmark routine
26
+ and are a future extension point that will be populated in future iterations.
27
+
28
+ The characteristics that annotate both instructions and benchmarks assist the user to generate
29
+ the best native QUIL program for a desired task, and so are provided as part of the native ISA.
30
+
31
+ Attributes:
32
+ architecture (Architecture): Represents the logical underlying architecture of a quantum processor.
33
+
34
+ The architecture is defined in detail by the nodes and edges that constitute the quantum
35
+ processor. This defines the set of all nodes that could be operated upon, and indicates to
36
+ some approximation their physical layout. The main purpose of this is to support geometry
37
+ calculations that are independent of the available operations, and rendering ISA-based
38
+ information. Architecture layouts are defined by the `family`, as follows.
39
+
40
+ The "Aspen" family of quantum processor indicates a 2D planar grid layout of octagon unit
41
+ cells. The `node_id` in this architecture is computed as `100 p_y + 10 p_x + p_u` where
42
+ `p_y` is the zero-based Y position in the unit cell grid, `p_x` is the zero-based
43
+ X position in the unit cell grid, and `p_u` is the zero-based position in the octagon
44
+ unit cell and always ranges from 0 to 7. This scheme has a natural size limit of a 10x10
45
+ unit cell grid, which permits the architecture to scale up to 800 nodes.
46
+
47
+ Note that the operations that are actually available are defined entirely by `Operation`
48
+ instances. The presence of a node or edge in the `Architecture` model provides no guarantee
49
+ that any 1Q or 2Q operation will be available to users writing QUIL programs.
50
+ benchmarks (list[Operation]): The list of benchmarks that have characterized the quantum processor.
51
+ instructions (list[Operation]): The list of native QUIL instructions supported by the quantum processor.
52
+ name (str): The name of the quantum processor.
53
+ """
54
+
55
+ architecture: Architecture
56
+ benchmarks: list[Operation]
57
+ instructions: list[Operation]
58
+ name: str
59
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
60
+
61
+ def to_dict(self, pick_by_predicate: Callable[[str, Any], bool] | None = is_not_none) -> dict[str, Any]:
62
+ architecture = self.architecture.to_dict()
63
+
64
+ benchmarks = []
65
+ for benchmarks_item_data in self.benchmarks:
66
+ benchmarks_item = benchmarks_item_data.to_dict()
67
+ benchmarks.append(benchmarks_item)
68
+
69
+ instructions = []
70
+ for instructions_item_data in self.instructions:
71
+ instructions_item = instructions_item_data.to_dict()
72
+ instructions.append(instructions_item)
73
+
74
+ name = self.name
75
+
76
+ field_dict: dict[str, Any] = {}
77
+ field_dict.update(self.additional_properties)
78
+ field_dict.update(
79
+ {
80
+ "architecture": architecture,
81
+ "benchmarks": benchmarks,
82
+ "instructions": instructions,
83
+ "name": name,
84
+ }
85
+ )
86
+
87
+ if pick_by_predicate is not None:
88
+ field_dict = {k: v for k, v in field_dict.items() if pick_by_predicate(v)}
89
+ else:
90
+ field_dict = {k: v for k, v in field_dict.items() if v != UNSET}
91
+
92
+ return field_dict
93
+
94
+ @classmethod
95
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
96
+ from ..models.architecture import Architecture
97
+ from ..models.operation import Operation
98
+
99
+ d = dict(src_dict)
100
+ architecture = Architecture.from_dict(d.pop("architecture"))
101
+
102
+ benchmarks = []
103
+ _benchmarks = d.pop("benchmarks")
104
+ for benchmarks_item_data in _benchmarks:
105
+ benchmarks_item = Operation.from_dict(benchmarks_item_data)
106
+
107
+ benchmarks.append(benchmarks_item)
108
+
109
+ instructions = []
110
+ _instructions = d.pop("instructions")
111
+ for instructions_item_data in _instructions:
112
+ instructions_item = Operation.from_dict(instructions_item_data)
113
+
114
+ instructions.append(instructions_item)
115
+
116
+ name = d.pop("name")
117
+
118
+ instruction_set_architecture = cls(
119
+ architecture=architecture,
120
+ benchmarks=benchmarks,
121
+ instructions=instructions,
122
+ name=name,
123
+ )
124
+
125
+ instruction_set_architecture.additional_properties = d
126
+ return instruction_set_architecture
127
+
128
+ @property
129
+ def additional_keys(self) -> list[str]:
130
+ return list(self.additional_properties.keys())
131
+
132
+ def __getitem__(self, key: str) -> Any:
133
+ return self.additional_properties[key]
134
+
135
+ def __setitem__(self, key: str, value: Any) -> None:
136
+ self.additional_properties[key] = value
137
+
138
+ def __delitem__(self, key: str) -> None:
139
+ del self.additional_properties[key]
140
+
141
+ def __contains__(self, key: str) -> bool:
142
+ return key in self.additional_properties
@@ -0,0 +1,87 @@
1
+ from __future__ import annotations
2
+
3
+ from collections.abc import Callable, Mapping
4
+ from typing import Any, TypeVar
5
+
6
+ from attrs import define as _attrs_define
7
+ from attrs import field as _attrs_field
8
+
9
+ from ..types import UNSET, Unset
10
+ from ..util.serialization import is_not_none
11
+
12
+ T = TypeVar("T", bound="InviteUserRequest")
13
+
14
+
15
+ @_attrs_define
16
+ class InviteUserRequest:
17
+ """
18
+ Attributes:
19
+ email (str):
20
+ billing_organization_id (int | Unset):
21
+ group_name (str | Unset):
22
+ """
23
+
24
+ email: str
25
+ billing_organization_id: int | Unset = UNSET
26
+ group_name: str | Unset = UNSET
27
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
28
+
29
+ def to_dict(self, pick_by_predicate: Callable[[str, Any], bool] | None = is_not_none) -> dict[str, Any]:
30
+ email = self.email
31
+
32
+ billing_organization_id = self.billing_organization_id
33
+
34
+ group_name = self.group_name
35
+
36
+ field_dict: dict[str, Any] = {}
37
+ field_dict.update(self.additional_properties)
38
+ field_dict.update(
39
+ {
40
+ "email": email,
41
+ }
42
+ )
43
+ if billing_organization_id is not UNSET:
44
+ field_dict["billingOrganizationId"] = billing_organization_id
45
+ if group_name is not UNSET:
46
+ field_dict["groupName"] = group_name
47
+
48
+ if pick_by_predicate is not None:
49
+ field_dict = {k: v for k, v in field_dict.items() if pick_by_predicate(v)}
50
+ else:
51
+ field_dict = {k: v for k, v in field_dict.items() if v != UNSET}
52
+
53
+ return field_dict
54
+
55
+ @classmethod
56
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
57
+ d = dict(src_dict)
58
+ email = d.pop("email")
59
+
60
+ billing_organization_id = d.pop("billingOrganizationId", UNSET)
61
+
62
+ group_name = d.pop("groupName", UNSET)
63
+
64
+ invite_user_request = cls(
65
+ email=email,
66
+ billing_organization_id=billing_organization_id,
67
+ group_name=group_name,
68
+ )
69
+
70
+ invite_user_request.additional_properties = d
71
+ return invite_user_request
72
+
73
+ @property
74
+ def additional_keys(self) -> list[str]:
75
+ return list(self.additional_properties.keys())
76
+
77
+ def __getitem__(self, key: str) -> Any:
78
+ return self.additional_properties[key]
79
+
80
+ def __setitem__(self, key: str, value: Any) -> None:
81
+ self.additional_properties[key] = value
82
+
83
+ def __delitem__(self, key: str) -> None:
84
+ del self.additional_properties[key]
85
+
86
+ def __contains__(self, key: str) -> bool:
87
+ return key in self.additional_properties
@@ -0,0 +1,92 @@
1
+ from __future__ import annotations
2
+
3
+ from collections.abc import Callable, Mapping
4
+ from typing import TYPE_CHECKING, Any, TypeVar
5
+
6
+ from attrs import define as _attrs_define
7
+ from attrs import field as _attrs_field
8
+
9
+ from ..types import UNSET, Unset
10
+ from ..util.serialization import is_not_none
11
+
12
+ if TYPE_CHECKING:
13
+ from ..models.billing_invoice_line import BillingInvoiceLine
14
+
15
+
16
+ T = TypeVar("T", bound="ListAccountBillingInvoiceLinesResponse")
17
+
18
+
19
+ @_attrs_define
20
+ class ListAccountBillingInvoiceLinesResponse:
21
+ """
22
+ Attributes:
23
+ billing_invoice_lines (list[BillingInvoiceLine]):
24
+ next_page_token (str | Unset):
25
+ """
26
+
27
+ billing_invoice_lines: list[BillingInvoiceLine]
28
+ next_page_token: str | Unset = UNSET
29
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
30
+
31
+ def to_dict(self, pick_by_predicate: Callable[[str, Any], bool] | None = is_not_none) -> dict[str, Any]:
32
+ billing_invoice_lines = []
33
+ for billing_invoice_lines_item_data in self.billing_invoice_lines:
34
+ billing_invoice_lines_item = billing_invoice_lines_item_data.to_dict()
35
+ billing_invoice_lines.append(billing_invoice_lines_item)
36
+
37
+ next_page_token = self.next_page_token
38
+
39
+ field_dict: dict[str, Any] = {}
40
+ field_dict.update(self.additional_properties)
41
+ field_dict.update(
42
+ {
43
+ "billingInvoiceLines": billing_invoice_lines,
44
+ }
45
+ )
46
+ if next_page_token is not UNSET:
47
+ field_dict["nextPageToken"] = next_page_token
48
+
49
+ if pick_by_predicate is not None:
50
+ field_dict = {k: v for k, v in field_dict.items() if pick_by_predicate(v)}
51
+ else:
52
+ field_dict = {k: v for k, v in field_dict.items() if v != UNSET}
53
+
54
+ return field_dict
55
+
56
+ @classmethod
57
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
58
+ from ..models.billing_invoice_line import BillingInvoiceLine
59
+
60
+ d = dict(src_dict)
61
+ billing_invoice_lines = []
62
+ _billing_invoice_lines = d.pop("billingInvoiceLines")
63
+ for billing_invoice_lines_item_data in _billing_invoice_lines:
64
+ billing_invoice_lines_item = BillingInvoiceLine.from_dict(billing_invoice_lines_item_data)
65
+
66
+ billing_invoice_lines.append(billing_invoice_lines_item)
67
+
68
+ next_page_token = d.pop("nextPageToken", UNSET)
69
+
70
+ list_account_billing_invoice_lines_response = cls(
71
+ billing_invoice_lines=billing_invoice_lines,
72
+ next_page_token=next_page_token,
73
+ )
74
+
75
+ list_account_billing_invoice_lines_response.additional_properties = d
76
+ return list_account_billing_invoice_lines_response
77
+
78
+ @property
79
+ def additional_keys(self) -> list[str]:
80
+ return list(self.additional_properties.keys())
81
+
82
+ def __getitem__(self, key: str) -> Any:
83
+ return self.additional_properties[key]
84
+
85
+ def __setitem__(self, key: str, value: Any) -> None:
86
+ self.additional_properties[key] = value
87
+
88
+ def __delitem__(self, key: str) -> None:
89
+ del self.additional_properties[key]
90
+
91
+ def __contains__(self, key: str) -> bool:
92
+ return key in self.additional_properties
@@ -0,0 +1,92 @@
1
+ from __future__ import annotations
2
+
3
+ from collections.abc import Callable, Mapping
4
+ from typing import TYPE_CHECKING, Any, TypeVar
5
+
6
+ from attrs import define as _attrs_define
7
+ from attrs import field as _attrs_field
8
+
9
+ from ..types import UNSET, Unset
10
+ from ..util.serialization import is_not_none
11
+
12
+ if TYPE_CHECKING:
13
+ from ..models.billing_invoice import BillingInvoice
14
+
15
+
16
+ T = TypeVar("T", bound="ListAccountBillingInvoicesResponse")
17
+
18
+
19
+ @_attrs_define
20
+ class ListAccountBillingInvoicesResponse:
21
+ """
22
+ Attributes:
23
+ billing_invoices (list[BillingInvoice]):
24
+ next_page_token (str | Unset):
25
+ """
26
+
27
+ billing_invoices: list[BillingInvoice]
28
+ next_page_token: str | Unset = UNSET
29
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
30
+
31
+ def to_dict(self, pick_by_predicate: Callable[[str, Any], bool] | None = is_not_none) -> dict[str, Any]:
32
+ billing_invoices = []
33
+ for billing_invoices_item_data in self.billing_invoices:
34
+ billing_invoices_item = billing_invoices_item_data.to_dict()
35
+ billing_invoices.append(billing_invoices_item)
36
+
37
+ next_page_token = self.next_page_token
38
+
39
+ field_dict: dict[str, Any] = {}
40
+ field_dict.update(self.additional_properties)
41
+ field_dict.update(
42
+ {
43
+ "billingInvoices": billing_invoices,
44
+ }
45
+ )
46
+ if next_page_token is not UNSET:
47
+ field_dict["nextPageToken"] = next_page_token
48
+
49
+ if pick_by_predicate is not None:
50
+ field_dict = {k: v for k, v in field_dict.items() if pick_by_predicate(v)}
51
+ else:
52
+ field_dict = {k: v for k, v in field_dict.items() if v != UNSET}
53
+
54
+ return field_dict
55
+
56
+ @classmethod
57
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
58
+ from ..models.billing_invoice import BillingInvoice
59
+
60
+ d = dict(src_dict)
61
+ billing_invoices = []
62
+ _billing_invoices = d.pop("billingInvoices")
63
+ for billing_invoices_item_data in _billing_invoices:
64
+ billing_invoices_item = BillingInvoice.from_dict(billing_invoices_item_data)
65
+
66
+ billing_invoices.append(billing_invoices_item)
67
+
68
+ next_page_token = d.pop("nextPageToken", UNSET)
69
+
70
+ list_account_billing_invoices_response = cls(
71
+ billing_invoices=billing_invoices,
72
+ next_page_token=next_page_token,
73
+ )
74
+
75
+ list_account_billing_invoices_response.additional_properties = d
76
+ return list_account_billing_invoices_response
77
+
78
+ @property
79
+ def additional_keys(self) -> list[str]:
80
+ return list(self.additional_properties.keys())
81
+
82
+ def __getitem__(self, key: str) -> Any:
83
+ return self.additional_properties[key]
84
+
85
+ def __setitem__(self, key: str, value: Any) -> None:
86
+ self.additional_properties[key] = value
87
+
88
+ def __delitem__(self, key: str) -> None:
89
+ del self.additional_properties[key]
90
+
91
+ def __contains__(self, key: str) -> bool:
92
+ return key in self.additional_properties
@@ -0,0 +1,83 @@
1
+ from __future__ import annotations
2
+
3
+ from collections.abc import Callable, Mapping
4
+ from typing import TYPE_CHECKING, Any, TypeVar
5
+
6
+ from attrs import define as _attrs_define
7
+ from attrs import field as _attrs_field
8
+
9
+ from ..types import UNSET
10
+ from ..util.serialization import is_not_none
11
+
12
+ if TYPE_CHECKING:
13
+ from ..models.client_application import ClientApplication
14
+
15
+
16
+ T = TypeVar("T", bound="ListClientApplicationsResponse")
17
+
18
+
19
+ @_attrs_define
20
+ class ListClientApplicationsResponse:
21
+ """
22
+ Attributes:
23
+ client_applications (list[ClientApplication]):
24
+ """
25
+
26
+ client_applications: list[ClientApplication]
27
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
28
+
29
+ def to_dict(self, pick_by_predicate: Callable[[str, Any], bool] | None = is_not_none) -> dict[str, Any]:
30
+ client_applications = []
31
+ for client_applications_item_data in self.client_applications:
32
+ client_applications_item = client_applications_item_data.to_dict()
33
+ client_applications.append(client_applications_item)
34
+
35
+ field_dict: dict[str, Any] = {}
36
+ field_dict.update(self.additional_properties)
37
+ field_dict.update(
38
+ {
39
+ "clientApplications": client_applications,
40
+ }
41
+ )
42
+
43
+ if pick_by_predicate is not None:
44
+ field_dict = {k: v for k, v in field_dict.items() if pick_by_predicate(v)}
45
+ else:
46
+ field_dict = {k: v for k, v in field_dict.items() if v != UNSET}
47
+
48
+ return field_dict
49
+
50
+ @classmethod
51
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
52
+ from ..models.client_application import ClientApplication
53
+
54
+ d = dict(src_dict)
55
+ client_applications = []
56
+ _client_applications = d.pop("clientApplications")
57
+ for client_applications_item_data in _client_applications:
58
+ client_applications_item = ClientApplication.from_dict(client_applications_item_data)
59
+
60
+ client_applications.append(client_applications_item)
61
+
62
+ list_client_applications_response = cls(
63
+ client_applications=client_applications,
64
+ )
65
+
66
+ list_client_applications_response.additional_properties = d
67
+ return list_client_applications_response
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,93 @@
1
+ from __future__ import annotations
2
+
3
+ from collections.abc import Callable, Mapping
4
+ from typing import TYPE_CHECKING, Any, TypeVar
5
+
6
+ from attrs import define as _attrs_define
7
+ from attrs import field as _attrs_field
8
+
9
+ from ..types import UNSET, Unset
10
+ from ..util.serialization import is_not_none
11
+
12
+ if TYPE_CHECKING:
13
+ from ..models.endpoint import Endpoint
14
+
15
+
16
+ T = TypeVar("T", bound="ListEndpointsResponse")
17
+
18
+
19
+ @_attrs_define
20
+ class ListEndpointsResponse:
21
+ """
22
+ Attributes:
23
+ endpoints (list[Endpoint]):
24
+ next_page_token (str | Unset): Opaque token indicating the start of the next page of results to return; do not
25
+ decode
26
+ """
27
+
28
+ endpoints: list[Endpoint]
29
+ next_page_token: str | Unset = UNSET
30
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
31
+
32
+ def to_dict(self, pick_by_predicate: Callable[[str, Any], bool] | None = is_not_none) -> dict[str, Any]:
33
+ endpoints = []
34
+ for endpoints_item_data in self.endpoints:
35
+ endpoints_item = endpoints_item_data.to_dict()
36
+ endpoints.append(endpoints_item)
37
+
38
+ next_page_token = self.next_page_token
39
+
40
+ field_dict: dict[str, Any] = {}
41
+ field_dict.update(self.additional_properties)
42
+ field_dict.update(
43
+ {
44
+ "endpoints": endpoints,
45
+ }
46
+ )
47
+ if next_page_token is not UNSET:
48
+ field_dict["nextPageToken"] = next_page_token
49
+
50
+ if pick_by_predicate is not None:
51
+ field_dict = {k: v for k, v in field_dict.items() if pick_by_predicate(v)}
52
+ else:
53
+ field_dict = {k: v for k, v in field_dict.items() if v != UNSET}
54
+
55
+ return field_dict
56
+
57
+ @classmethod
58
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
59
+ from ..models.endpoint import Endpoint
60
+
61
+ d = dict(src_dict)
62
+ endpoints = []
63
+ _endpoints = d.pop("endpoints")
64
+ for endpoints_item_data in _endpoints:
65
+ endpoints_item = Endpoint.from_dict(endpoints_item_data)
66
+
67
+ endpoints.append(endpoints_item)
68
+
69
+ next_page_token = d.pop("nextPageToken", UNSET)
70
+
71
+ list_endpoints_response = cls(
72
+ endpoints=endpoints,
73
+ next_page_token=next_page_token,
74
+ )
75
+
76
+ list_endpoints_response.additional_properties = d
77
+ return list_endpoints_response
78
+
79
+ @property
80
+ def additional_keys(self) -> list[str]:
81
+ return list(self.additional_properties.keys())
82
+
83
+ def __getitem__(self, key: str) -> Any:
84
+ return self.additional_properties[key]
85
+
86
+ def __setitem__(self, key: str, value: Any) -> None:
87
+ self.additional_properties[key] = value
88
+
89
+ def __delitem__(self, key: str) -> None:
90
+ del self.additional_properties[key]
91
+
92
+ def __contains__(self, key: str) -> bool:
93
+ return key in self.additional_properties
@@ -0,0 +1,9 @@
1
+ from enum import Enum
2
+
3
+
4
+ class ListGroupReservationsShowDeleted(str, Enum):
5
+ FALSE = "false"
6
+ TRUE = "true"
7
+
8
+ def __str__(self) -> str:
9
+ return str(self.value)