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.
- qcs_api_client/__init__.py +1 -0
- qcs_api_client/api/__init__.py +1 -0
- qcs_api_client/api/account/__init__.py +1 -0
- qcs_api_client/api/account/activate_user.py +155 -0
- qcs_api_client/api/account/add_group_user.py +156 -0
- qcs_api_client/api/account/dismiss_viewer_announcement.py +145 -0
- qcs_api_client/api/account/get_group_balance.py +149 -0
- qcs_api_client/api/account/get_group_billing_customer.py +145 -0
- qcs_api_client/api/account/get_group_upcoming_billing_invoice.py +145 -0
- qcs_api_client/api/account/get_user_balance.py +149 -0
- qcs_api_client/api/account/get_user_billing_customer.py +145 -0
- qcs_api_client/api/account/get_user_event_billing_price.py +170 -0
- qcs_api_client/api/account/get_user_upcoming_billing_invoice.py +145 -0
- qcs_api_client/api/account/get_viewer_user_onboarding_completed.py +124 -0
- qcs_api_client/api/account/list_group_billing_invoice_lines.py +189 -0
- qcs_api_client/api/account/list_group_billing_invoices.py +177 -0
- qcs_api_client/api/account/list_group_upcoming_billing_invoice_lines.py +177 -0
- qcs_api_client/api/account/list_group_users.py +185 -0
- qcs_api_client/api/account/list_user_billing_invoice_lines.py +189 -0
- qcs_api_client/api/account/list_user_billing_invoices.py +177 -0
- qcs_api_client/api/account/list_user_groups.py +181 -0
- qcs_api_client/api/account/list_user_upcoming_billing_invoice_lines.py +177 -0
- qcs_api_client/api/account/list_viewer_announcements.py +178 -0
- qcs_api_client/api/account/put_viewer_user_onboarding_completed.py +150 -0
- qcs_api_client/api/account/remove_group_user.py +158 -0
- qcs_api_client/api/account/update_viewer_user_profile.py +150 -0
- qcs_api_client/api/authentication/__init__.py +1 -0
- qcs_api_client/api/authentication/auth_email_password_reset_token.py +153 -0
- qcs_api_client/api/authentication/auth_get_user.py +128 -0
- qcs_api_client/api/authentication/auth_reset_password.py +152 -0
- qcs_api_client/api/authentication/auth_reset_password_with_token.py +154 -0
- qcs_api_client/api/client_applications/__init__.py +1 -0
- qcs_api_client/api/client_applications/check_client_application.py +154 -0
- qcs_api_client/api/client_applications/get_client_application.py +151 -0
- qcs_api_client/api/client_applications/list_client_applications.py +129 -0
- qcs_api_client/api/default/__init__.py +1 -0
- qcs_api_client/api/default/get_health.py +123 -0
- qcs_api_client/api/default/health_check.py +124 -0
- qcs_api_client/api/default/health_check_deprecated.py +126 -0
- qcs_api_client/api/endpoints/__init__.py +1 -0
- qcs_api_client/api/endpoints/create_endpoint.py +157 -0
- qcs_api_client/api/endpoints/delete_endpoint.py +148 -0
- qcs_api_client/api/endpoints/get_default_endpoint.py +154 -0
- qcs_api_client/api/endpoints/get_endpoint.py +150 -0
- qcs_api_client/api/endpoints/list_endpoints.py +182 -0
- qcs_api_client/api/endpoints/restart_endpoint.py +168 -0
- qcs_api_client/api/engagements/__init__.py +1 -0
- qcs_api_client/api/engagements/create_engagement.py +196 -0
- qcs_api_client/api/quantum_processors/__init__.py +1 -0
- qcs_api_client/api/quantum_processors/get_instruction_set_architecture.py +144 -0
- qcs_api_client/api/quantum_processors/get_quantum_processor.py +148 -0
- qcs_api_client/api/quantum_processors/get_quantum_processor_accessors.py +150 -0
- qcs_api_client/api/quantum_processors/list_instruction_set_architectures.py +164 -0
- qcs_api_client/api/quantum_processors/list_quantum_processors.py +170 -0
- qcs_api_client/api/reservations/__init__.py +1 -0
- qcs_api_client/api/reservations/create_reservation.py +200 -0
- qcs_api_client/api/reservations/delete_reservation.py +149 -0
- qcs_api_client/api/reservations/find_available_reservations.py +211 -0
- qcs_api_client/api/reservations/get_quantum_processor_calendar.py +149 -0
- qcs_api_client/api/reservations/get_reservation.py +149 -0
- qcs_api_client/api/reservations/list_group_reservations.py +309 -0
- qcs_api_client/api/reservations/list_reservations.py +335 -0
- qcs_api_client/client/__init__.py +12 -0
- qcs_api_client/client/auth.py +78 -0
- qcs_api_client/client/client.py +48 -0
- qcs_api_client/errors.py +16 -0
- qcs_api_client/models/__init__.py +185 -0
- qcs_api_client/models/account_balance.py +72 -0
- qcs_api_client/models/account_type.py +9 -0
- qcs_api_client/models/activate_user_request.py +93 -0
- qcs_api_client/models/add_group_user_request.py +95 -0
- qcs_api_client/models/announcement.py +97 -0
- qcs_api_client/models/announcements_response.py +93 -0
- qcs_api_client/models/architecture.py +134 -0
- qcs_api_client/models/auth_email_password_reset_token_request.py +69 -0
- qcs_api_client/models/auth_reset_password_request.py +77 -0
- qcs_api_client/models/auth_reset_password_with_token_request.py +78 -0
- qcs_api_client/models/available_reservation.py +104 -0
- qcs_api_client/models/billing_customer.py +78 -0
- qcs_api_client/models/billing_invoice.py +130 -0
- qcs_api_client/models/billing_invoice_line.py +165 -0
- qcs_api_client/models/billing_invoice_line_line_item_type.py +9 -0
- qcs_api_client/models/billing_invoice_line_metadata.py +55 -0
- qcs_api_client/models/billing_invoice_status.py +12 -0
- qcs_api_client/models/billing_price.py +234 -0
- qcs_api_client/models/billing_price_object.py +8 -0
- qcs_api_client/models/billing_price_price_type.py +9 -0
- qcs_api_client/models/billing_price_recurrence.py +124 -0
- qcs_api_client/models/billing_price_recurrence_aggregate_usage.py +11 -0
- qcs_api_client/models/billing_price_recurrence_interval.py +11 -0
- qcs_api_client/models/billing_price_recurrence_usage_type.py +9 -0
- qcs_api_client/models/billing_price_scheme.py +9 -0
- qcs_api_client/models/billing_price_tiers_mode.py +9 -0
- qcs_api_client/models/billing_product.py +109 -0
- qcs_api_client/models/billing_product_object.py +8 -0
- qcs_api_client/models/billing_upcoming_invoice.py +122 -0
- qcs_api_client/models/characteristic.py +125 -0
- qcs_api_client/models/check_client_application_request.py +77 -0
- qcs_api_client/models/check_client_application_response.py +85 -0
- qcs_api_client/models/checksum_description.py +78 -0
- qcs_api_client/models/checksum_description_type.py +8 -0
- qcs_api_client/models/client_application.py +130 -0
- qcs_api_client/models/client_applications_download_link.py +100 -0
- qcs_api_client/models/code.py +17 -0
- qcs_api_client/models/create_endpoint_parameters.py +93 -0
- qcs_api_client/models/create_engagement_request.py +116 -0
- qcs_api_client/models/create_reservation_request.py +124 -0
- qcs_api_client/models/dictionary.py +55 -0
- qcs_api_client/models/edge.py +78 -0
- qcs_api_client/models/endpoint.py +140 -0
- qcs_api_client/models/endpoint_addresses.py +77 -0
- qcs_api_client/models/engagement_credentials.py +87 -0
- qcs_api_client/models/engagement_with_credentials.py +169 -0
- qcs_api_client/models/error.py +112 -0
- qcs_api_client/models/event_billing_price_rate.py +107 -0
- qcs_api_client/models/family.py +11 -0
- qcs_api_client/models/find_available_reservations_response.py +92 -0
- qcs_api_client/models/get_account_event_billing_price_request.py +81 -0
- qcs_api_client/models/group.py +112 -0
- qcs_api_client/models/health.py +69 -0
- qcs_api_client/models/instruction_set_architecture.py +142 -0
- qcs_api_client/models/invite_user_request.py +87 -0
- qcs_api_client/models/list_account_billing_invoice_lines_response.py +92 -0
- qcs_api_client/models/list_account_billing_invoices_response.py +92 -0
- qcs_api_client/models/list_client_applications_response.py +83 -0
- qcs_api_client/models/list_endpoints_response.py +93 -0
- qcs_api_client/models/list_group_reservations_show_deleted.py +9 -0
- qcs_api_client/models/list_group_users_response.py +92 -0
- qcs_api_client/models/list_groups_response.py +92 -0
- qcs_api_client/models/list_instruction_set_architecture_response.py +94 -0
- qcs_api_client/models/list_quantum_processor_accessors_response.py +92 -0
- qcs_api_client/models/list_quantum_processors_response.py +92 -0
- qcs_api_client/models/list_reservations_response.py +91 -0
- qcs_api_client/models/list_reservations_show_deleted.py +9 -0
- qcs_api_client/models/node.py +76 -0
- qcs_api_client/models/nomad_job_datacenters.py +10 -0
- qcs_api_client/models/operation.py +138 -0
- qcs_api_client/models/operation_site.py +93 -0
- qcs_api_client/models/parameter.py +70 -0
- qcs_api_client/models/product.py +10 -0
- qcs_api_client/models/quantum_processor.py +70 -0
- qcs_api_client/models/quantum_processor_accessor.py +112 -0
- qcs_api_client/models/quantum_processor_accessor_type.py +9 -0
- qcs_api_client/models/quantum_processor_calendar.py +69 -0
- qcs_api_client/models/remove_group_user_request.py +95 -0
- qcs_api_client/models/reservation.py +218 -0
- qcs_api_client/models/restart_endpoint_request.py +67 -0
- qcs_api_client/models/tier.py +113 -0
- qcs_api_client/models/update_viewer_user_profile_request.py +85 -0
- qcs_api_client/models/user.py +110 -0
- qcs_api_client/models/user_credentials.py +75 -0
- qcs_api_client/models/user_credentials_password.py +69 -0
- qcs_api_client/models/user_profile.py +93 -0
- qcs_api_client/models/validation_error.py +89 -0
- qcs_api_client/models/validation_error_in.py +11 -0
- qcs_api_client/models/validation_location.py +11 -0
- qcs_api_client/models/viewer_user_onboarding_completed.py +69 -0
- qcs_api_client/operations/__init__.py +8 -0
- qcs_api_client/operations/asyncio/__init__.py +121 -0
- qcs_api_client/operations/asyncio_from_dict/__init__.py +139 -0
- qcs_api_client/operations/sync/__init__.py +117 -0
- qcs_api_client/operations/sync_from_dict/__init__.py +133 -0
- qcs_api_client/py.typed +1 -0
- qcs_api_client/types.py +74 -0
- qcs_api_client/util/__init__.py +0 -0
- qcs_api_client/util/errors.py +32 -0
- qcs_api_client/util/retry.py +26 -0
- qcs_api_client/util/serialization.py +5 -0
- qcs_api_client-0.27.3.dist-info/METADATA +101 -0
- qcs_api_client-0.27.3.dist-info/RECORD +172 -0
- qcs_api_client-0.27.3.dist-info/WHEEL +4 -0
- 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
|