waldur-api-client 7.7.5__py3-none-any.whl → 7.7.6__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.
Potentially problematic release.
This version of waldur-api-client might be problematic. Click here for more details.
- waldur_api_client/api/marketplace_offering_users/marketplace_offering_users_checklist_retrieve.py +154 -0
- waldur_api_client/api/marketplace_offering_users/marketplace_offering_users_checklist_review_retrieve.py +154 -0
- waldur_api_client/api/marketplace_offering_users/marketplace_offering_users_completion_review_status_retrieve.py +154 -0
- waldur_api_client/api/marketplace_offering_users/marketplace_offering_users_completion_status_retrieve.py +154 -0
- waldur_api_client/api/marketplace_offering_users/marketplace_offering_users_submit_answers.py +179 -0
- waldur_api_client/api/marketplace_robot_accounts/marketplace_robot_accounts_list.py +23 -0
- waldur_api_client/api/marketplace_robot_accounts/marketplace_robot_accounts_retrieve.py +30 -1
- waldur_api_client/api/marketplace_service_providers/marketplace_service_providers_project_service_accounts_list.py +276 -0
- waldur_api_client/api/marketplace_service_providers/service_provider_compliance_overview.py +189 -0
- waldur_api_client/api/marketplace_service_providers/service_provider_offering_users_compliance.py +222 -0
- waldur_api_client/api/public_maintenance_announcements/__init__.py +1 -0
- waldur_api_client/api/public_maintenance_announcements/public_maintenance_announcements_count.py +325 -0
- waldur_api_client/api/public_maintenance_announcements/public_maintenance_announcements_list.py +328 -0
- waldur_api_client/api/public_maintenance_announcements/public_maintenance_announcements_retrieve.py +144 -0
- waldur_api_client/models/__init__.py +56 -4
- waldur_api_client/models/admin_announcement.py +109 -1
- waldur_api_client/models/admin_announcement_maintenance_affected_offerings_item.py +103 -0
- waldur_api_client/models/admin_announcements_list_field_item.py +8 -0
- waldur_api_client/models/admin_announcements_retrieve_field_item.py +8 -0
- waldur_api_client/models/azure_sql_server_create_order_attributes.py +80 -0
- waldur_api_client/models/azure_virtual_machine_create_order_attributes.py +96 -0
- waldur_api_client/models/basic_user.py +30 -21
- waldur_api_client/models/booking_offerings_list_field_item.py +1 -0
- waldur_api_client/models/booking_offerings_retrieve_field_item.py +1 -0
- waldur_api_client/models/create_router.py +1 -1
- waldur_api_client/models/create_router_request.py +1 -1
- waldur_api_client/models/customer.py +0 -30
- waldur_api_client/models/customers_list_field_item.py +0 -2
- waldur_api_client/models/customers_retrieve_field_item.py +0 -2
- waldur_api_client/models/fingerprint.py +19 -17
- waldur_api_client/models/instance_flavor_change_request.py +1 -1
- waldur_api_client/models/marketplace_managed_rancher_create_order_attributes.py +144 -0
- waldur_api_client/models/marketplace_provider_offerings_list_customer_service_accounts_retrieve_field_item.py +1 -0
- waldur_api_client/models/marketplace_provider_offerings_list_field_item.py +1 -0
- waldur_api_client/models/marketplace_provider_offerings_list_project_service_accounts_retrieve_field_item.py +1 -0
- waldur_api_client/models/marketplace_provider_offerings_retrieve_field_item.py +1 -0
- waldur_api_client/models/marketplace_provider_offerings_stats_retrieve_field_item.py +1 -0
- waldur_api_client/models/marketplace_provider_offerings_user_has_resource_access_retrieve_field_item.py +1 -0
- waldur_api_client/models/marketplace_public_offerings_list_field_item.py +1 -0
- waldur_api_client/models/marketplace_public_offerings_retrieve_field_item.py +1 -0
- waldur_api_client/models/marketplace_rancher_create_order_attributes.py +142 -0
- waldur_api_client/models/marketplace_robot_accounts_list_field_item.py +32 -0
- waldur_api_client/models/marketplace_robot_accounts_retrieve_field_item.py +32 -0
- waldur_api_client/models/offering.py +9 -0
- waldur_api_client/models/offering_create.py +8 -0
- waldur_api_client/models/open_stack_backend_instance.py +2 -2
- waldur_api_client/models/open_stack_backend_volumes.py +3 -3
- waldur_api_client/models/open_stack_backup.py +1 -1
- waldur_api_client/models/open_stack_backup_restoration.py +8 -5
- waldur_api_client/models/open_stack_backup_restoration_request.py +28 -3
- waldur_api_client/models/open_stack_fixed_ip.py +2 -2
- waldur_api_client/models/open_stack_fixed_ip_request.py +2 -2
- waldur_api_client/models/open_stack_floating_ip.py +5 -4
- waldur_api_client/models/open_stack_instance.py +17 -15
- waldur_api_client/models/open_stack_instance_allowed_address_pairs_update_request.py +3 -2
- waldur_api_client/models/open_stack_instance_availability_zone.py +1 -1
- waldur_api_client/models/open_stack_instance_create_order_attributes.py +280 -0
- waldur_api_client/models/open_stack_instance_request.py +4 -3
- waldur_api_client/models/open_stack_instance_security_groups_update_request.py +1 -1
- waldur_api_client/models/open_stack_nested_floating_ip.py +3 -3
- waldur_api_client/models/open_stack_nested_instance.py +1 -1
- waldur_api_client/models/open_stack_nested_port.py +5 -5
- waldur_api_client/models/open_stack_nested_port_request.py +1 -1
- waldur_api_client/models/open_stack_nested_security_group.py +1 -53
- waldur_api_client/models/open_stack_nested_security_group_request.py +59 -0
- waldur_api_client/models/open_stack_nested_sub_net.py +4 -4
- waldur_api_client/models/open_stack_nested_sub_net_request.py +4 -4
- waldur_api_client/models/open_stack_nested_volume.py +3 -3
- waldur_api_client/models/open_stack_nested_volume_request.py +3 -3
- waldur_api_client/models/open_stack_network.py +3 -3
- waldur_api_client/models/open_stack_port.py +10 -9
- waldur_api_client/models/open_stack_port_ip_update_request.py +2 -2
- waldur_api_client/models/open_stack_port_request.py +3 -3
- waldur_api_client/models/open_stack_router.py +2 -2
- waldur_api_client/models/open_stack_router_interface_request.py +4 -2
- waldur_api_client/models/open_stack_security_group_rule_create.py +6 -5
- waldur_api_client/models/open_stack_security_group_rule_create_request.py +6 -5
- waldur_api_client/models/open_stack_security_group_rule_update_request.py +6 -5
- waldur_api_client/models/open_stack_server_group.py +2 -1
- waldur_api_client/models/open_stack_server_group_request.py +2 -1
- waldur_api_client/models/open_stack_snapshot.py +2 -2
- waldur_api_client/models/open_stack_snapshot_restoration.py +1 -1
- waldur_api_client/models/open_stack_sub_net.py +5 -5
- waldur_api_client/models/open_stack_sub_net_request.py +2 -2
- waldur_api_client/models/open_stack_tenant.py +3 -3
- waldur_api_client/models/open_stack_tenant_create_order_attributes.py +109 -0
- waldur_api_client/models/open_stack_volume.py +9 -9
- waldur_api_client/models/open_stack_volume_create_order_attributes.py +152 -0
- waldur_api_client/models/open_stack_volume_request.py +1 -1
- waldur_api_client/models/order_create_request.py +165 -4
- waldur_api_client/models/patched_open_stack_instance_request.py +4 -3
- waldur_api_client/models/patched_open_stack_server_group_request.py +2 -1
- waldur_api_client/models/patched_open_stack_sub_net_request.py +2 -2
- waldur_api_client/models/patched_open_stack_volume_request.py +1 -1
- waldur_api_client/models/permission_request.py +2 -2
- waldur_api_client/models/provider_offering_details.py +9 -0
- waldur_api_client/models/public_maintenance_announcement.py +217 -0
- waldur_api_client/models/public_maintenance_announcement_state_enum.py +10 -0
- waldur_api_client/models/public_maintenance_announcements_count_o_item.py +15 -0
- waldur_api_client/models/public_maintenance_announcements_count_state_item.py +12 -0
- waldur_api_client/models/public_maintenance_announcements_list_o_item.py +15 -0
- waldur_api_client/models/public_maintenance_announcements_list_state_item.py +12 -0
- waldur_api_client/models/public_offering_details.py +9 -0
- waldur_api_client/models/rancher_cluster_security_group_rule.py +5 -4
- waldur_api_client/models/rancher_cluster_security_group_rule_request.py +5 -4
- waldur_api_client/models/remote_project_update_request.py +2 -2
- waldur_api_client/models/robot_account_details.py +226 -144
- waldur_api_client/models/service_provider_compliance_overview.py +122 -0
- waldur_api_client/models/service_provider_offering_user_compliance.py +179 -0
- waldur_api_client/models/service_provider_offering_user_compliance_state_enum.py +17 -0
- waldur_api_client/models/slurm_invoices_slurm_package_create_order_attributes.py +72 -0
- waldur_api_client/models/v_mware_virtual_machine_create_order_attributes.py +225 -0
- waldur_api_client/models/v_mware_virtual_machine_create_order_attributes_guest_os_type_1.py +155 -0
- waldur_api_client/models/v_mware_virtual_machine_create_order_attributes_guest_os_type_2_type_1.py +155 -0
- waldur_api_client/models/v_mware_virtual_machine_create_order_attributes_guest_os_type_3_type_1.py +155 -0
- waldur_api_client/models/volume_attach_request.py +1 -1
- {waldur_api_client-7.7.5.dist-info → waldur_api_client-7.7.6.dist-info}/METADATA +1 -1
- {waldur_api_client-7.7.5.dist-info → waldur_api_client-7.7.6.dist-info}/RECORD +120 -85
- waldur_api_client/models/nested_security_group_rule.py +0 -222
- waldur_api_client/models/nested_security_group_rule_request.py +0 -187
- {waldur_api_client-7.7.5.dist-info → waldur_api_client-7.7.6.dist-info}/LICENSE +0 -0
- {waldur_api_client-7.7.5.dist-info → waldur_api_client-7.7.6.dist-info}/WHEEL +0 -0
|
@@ -21,10 +21,11 @@ class RancherClusterSecurityGroupRule:
|
|
|
21
21
|
uuid (UUID):
|
|
22
22
|
ethertype (Union[Unset, EthertypeEnum]):
|
|
23
23
|
direction (Union[Unset, DirectionEnum]):
|
|
24
|
-
protocol (Union[BlankEnum, ProtocolEnum, Unset]):
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
24
|
+
protocol (Union[BlankEnum, ProtocolEnum, Unset]): The network protocol (TCP, UDP, ICMP, or empty for any
|
|
25
|
+
protocol)
|
|
26
|
+
from_port (Union[None, Unset, int]): Starting port number in the range (1-65535)
|
|
27
|
+
to_port (Union[None, Unset, int]): Ending port number in the range (1-65535)
|
|
28
|
+
cidr (Union[None, Unset, str]): CIDR notation for the source/destination network address range
|
|
28
29
|
description (Union[Unset, str]):
|
|
29
30
|
"""
|
|
30
31
|
|
|
@@ -19,10 +19,11 @@ class RancherClusterSecurityGroupRuleRequest:
|
|
|
19
19
|
Attributes:
|
|
20
20
|
ethertype (Union[Unset, EthertypeEnum]):
|
|
21
21
|
direction (Union[Unset, DirectionEnum]):
|
|
22
|
-
protocol (Union[BlankEnum, ProtocolEnum, Unset]):
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
22
|
+
protocol (Union[BlankEnum, ProtocolEnum, Unset]): The network protocol (TCP, UDP, ICMP, or empty for any
|
|
23
|
+
protocol)
|
|
24
|
+
from_port (Union[None, Unset, int]): Starting port number in the range (1-65535)
|
|
25
|
+
to_port (Union[None, Unset, int]): Ending port number in the range (1-65535)
|
|
26
|
+
cidr (Union[None, Unset, str]): CIDR notation for the source/destination network address range
|
|
26
27
|
description (Union[Unset, str]):
|
|
27
28
|
"""
|
|
28
29
|
|
|
@@ -23,12 +23,12 @@ class RemoteProjectUpdateRequest:
|
|
|
23
23
|
offering_name (str):
|
|
24
24
|
offering_uuid (UUID):
|
|
25
25
|
created (datetime.datetime):
|
|
26
|
-
reviewed_at (Union[None, datetime.datetime]):
|
|
26
|
+
reviewed_at (Union[None, datetime.datetime]): Timestamp when the review was completed
|
|
27
27
|
reviewed_by_full_name (str):
|
|
28
28
|
reviewed_by_uuid (UUID):
|
|
29
29
|
old_oecd_fos_2007_label (str):
|
|
30
30
|
new_oecd_fos_2007_label (str):
|
|
31
|
-
review_comment (Union[None, Unset, str]):
|
|
31
|
+
review_comment (Union[None, Unset, str]): Optional comment provided during review
|
|
32
32
|
old_name (Union[Unset, str]):
|
|
33
33
|
new_name (Union[Unset, str]):
|
|
34
34
|
old_description (Union[Unset, str]):
|
|
@@ -24,58 +24,58 @@ T = TypeVar("T", bound="RobotAccountDetails")
|
|
|
24
24
|
class RobotAccountDetails:
|
|
25
25
|
"""
|
|
26
26
|
Attributes:
|
|
27
|
-
url (str):
|
|
28
|
-
uuid (UUID):
|
|
29
|
-
created (datetime.datetime):
|
|
30
|
-
modified (datetime.datetime):
|
|
31
|
-
resource (str):
|
|
32
|
-
type_ (str): Type of the robot account.
|
|
33
|
-
users (list['BasicUser']):
|
|
34
|
-
backend_id (str):
|
|
35
|
-
fingerprints (list['Fingerprint']):
|
|
36
|
-
responsible_user (Union['BasicUser', None]):
|
|
37
|
-
user_keys (list['SshKey']):
|
|
38
|
-
resource_name (str):
|
|
39
|
-
resource_uuid (UUID):
|
|
40
|
-
project_name (str):
|
|
41
|
-
project_uuid (UUID):
|
|
42
|
-
customer_uuid (UUID):
|
|
43
|
-
customer_name (str):
|
|
44
|
-
offering_customer_uuid (UUID):
|
|
45
|
-
offering_plugin_options (MergedPluginOptions):
|
|
27
|
+
url (Union[Unset, str]):
|
|
28
|
+
uuid (Union[Unset, UUID]):
|
|
29
|
+
created (Union[Unset, datetime.datetime]):
|
|
30
|
+
modified (Union[Unset, datetime.datetime]):
|
|
46
31
|
username (Union[Unset, str]):
|
|
47
32
|
description (Union[Unset, str]):
|
|
48
33
|
error_message (Union[Unset, str]):
|
|
49
34
|
error_traceback (Union[Unset, str]):
|
|
35
|
+
resource (Union[Unset, str]):
|
|
36
|
+
type_ (Union[Unset, str]): Type of the robot account.
|
|
37
|
+
users (Union[Unset, list['BasicUser']]):
|
|
50
38
|
keys (Union[Unset, Any]):
|
|
39
|
+
backend_id (Union[Unset, str]):
|
|
40
|
+
fingerprints (Union[Unset, list['Fingerprint']]):
|
|
41
|
+
responsible_user (Union['BasicUser', None, Unset]):
|
|
51
42
|
state (Union[Unset, RobotAccountStates]):
|
|
43
|
+
user_keys (Union[Unset, list['SshKey']]):
|
|
44
|
+
resource_name (Union[Unset, str]):
|
|
45
|
+
resource_uuid (Union[Unset, UUID]):
|
|
46
|
+
project_name (Union[Unset, str]):
|
|
47
|
+
project_uuid (Union[Unset, UUID]):
|
|
48
|
+
customer_uuid (Union[Unset, UUID]):
|
|
49
|
+
customer_name (Union[Unset, str]):
|
|
50
|
+
offering_customer_uuid (Union[Unset, UUID]):
|
|
51
|
+
offering_plugin_options (Union[Unset, MergedPluginOptions]):
|
|
52
52
|
"""
|
|
53
53
|
|
|
54
|
-
url: str
|
|
55
|
-
uuid: UUID
|
|
56
|
-
created: datetime.datetime
|
|
57
|
-
modified: datetime.datetime
|
|
58
|
-
resource: str
|
|
59
|
-
type_: str
|
|
60
|
-
users: list["BasicUser"]
|
|
61
|
-
backend_id: str
|
|
62
|
-
fingerprints: list["Fingerprint"]
|
|
63
|
-
responsible_user: Union["BasicUser", None]
|
|
64
|
-
user_keys: list["SshKey"]
|
|
65
|
-
resource_name: str
|
|
66
|
-
resource_uuid: UUID
|
|
67
|
-
project_name: str
|
|
68
|
-
project_uuid: UUID
|
|
69
|
-
customer_uuid: UUID
|
|
70
|
-
customer_name: str
|
|
71
|
-
offering_customer_uuid: UUID
|
|
72
|
-
offering_plugin_options: "MergedPluginOptions"
|
|
54
|
+
url: Union[Unset, str] = UNSET
|
|
55
|
+
uuid: Union[Unset, UUID] = UNSET
|
|
56
|
+
created: Union[Unset, datetime.datetime] = UNSET
|
|
57
|
+
modified: Union[Unset, datetime.datetime] = UNSET
|
|
73
58
|
username: Union[Unset, str] = UNSET
|
|
74
59
|
description: Union[Unset, str] = UNSET
|
|
75
60
|
error_message: Union[Unset, str] = UNSET
|
|
76
61
|
error_traceback: Union[Unset, str] = UNSET
|
|
62
|
+
resource: Union[Unset, str] = UNSET
|
|
63
|
+
type_: Union[Unset, str] = UNSET
|
|
64
|
+
users: Union[Unset, list["BasicUser"]] = UNSET
|
|
77
65
|
keys: Union[Unset, Any] = UNSET
|
|
66
|
+
backend_id: Union[Unset, str] = UNSET
|
|
67
|
+
fingerprints: Union[Unset, list["Fingerprint"]] = UNSET
|
|
68
|
+
responsible_user: Union["BasicUser", None, Unset] = UNSET
|
|
78
69
|
state: Union[Unset, RobotAccountStates] = UNSET
|
|
70
|
+
user_keys: Union[Unset, list["SshKey"]] = UNSET
|
|
71
|
+
resource_name: Union[Unset, str] = UNSET
|
|
72
|
+
resource_uuid: Union[Unset, UUID] = UNSET
|
|
73
|
+
project_name: Union[Unset, str] = UNSET
|
|
74
|
+
project_uuid: Union[Unset, UUID] = UNSET
|
|
75
|
+
customer_uuid: Union[Unset, UUID] = UNSET
|
|
76
|
+
customer_name: Union[Unset, str] = UNSET
|
|
77
|
+
offering_customer_uuid: Union[Unset, UUID] = UNSET
|
|
78
|
+
offering_plugin_options: Union[Unset, "MergedPluginOptions"] = UNSET
|
|
79
79
|
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
80
80
|
|
|
81
81
|
def to_dict(self) -> dict[str, Any]:
|
|
@@ -83,94 +83,104 @@ class RobotAccountDetails:
|
|
|
83
83
|
|
|
84
84
|
url = self.url
|
|
85
85
|
|
|
86
|
-
uuid =
|
|
86
|
+
uuid: Union[Unset, str] = UNSET
|
|
87
|
+
if not isinstance(self.uuid, Unset):
|
|
88
|
+
uuid = str(self.uuid)
|
|
87
89
|
|
|
88
|
-
created =
|
|
90
|
+
created: Union[Unset, str] = UNSET
|
|
91
|
+
if not isinstance(self.created, Unset):
|
|
92
|
+
created = self.created.isoformat()
|
|
89
93
|
|
|
90
|
-
modified =
|
|
94
|
+
modified: Union[Unset, str] = UNSET
|
|
95
|
+
if not isinstance(self.modified, Unset):
|
|
96
|
+
modified = self.modified.isoformat()
|
|
97
|
+
|
|
98
|
+
username = self.username
|
|
99
|
+
|
|
100
|
+
description = self.description
|
|
101
|
+
|
|
102
|
+
error_message = self.error_message
|
|
103
|
+
|
|
104
|
+
error_traceback = self.error_traceback
|
|
91
105
|
|
|
92
106
|
resource = self.resource
|
|
93
107
|
|
|
94
108
|
type_ = self.type_
|
|
95
109
|
|
|
96
|
-
users
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
users
|
|
110
|
+
users: Union[Unset, list[dict[str, Any]]] = UNSET
|
|
111
|
+
if not isinstance(self.users, Unset):
|
|
112
|
+
users = []
|
|
113
|
+
for users_item_data in self.users:
|
|
114
|
+
users_item = users_item_data.to_dict()
|
|
115
|
+
users.append(users_item)
|
|
100
116
|
|
|
101
|
-
|
|
117
|
+
keys = self.keys
|
|
102
118
|
|
|
103
|
-
|
|
104
|
-
for fingerprints_item_data in self.fingerprints:
|
|
105
|
-
fingerprints_item = fingerprints_item_data.to_dict()
|
|
106
|
-
fingerprints.append(fingerprints_item)
|
|
119
|
+
backend_id = self.backend_id
|
|
107
120
|
|
|
108
|
-
|
|
109
|
-
if isinstance(self.
|
|
121
|
+
fingerprints: Union[Unset, list[dict[str, Any]]] = UNSET
|
|
122
|
+
if not isinstance(self.fingerprints, Unset):
|
|
123
|
+
fingerprints = []
|
|
124
|
+
for fingerprints_item_data in self.fingerprints:
|
|
125
|
+
fingerprints_item = fingerprints_item_data.to_dict()
|
|
126
|
+
fingerprints.append(fingerprints_item)
|
|
127
|
+
|
|
128
|
+
responsible_user: Union[None, Unset, dict[str, Any]]
|
|
129
|
+
if isinstance(self.responsible_user, Unset):
|
|
130
|
+
responsible_user = UNSET
|
|
131
|
+
elif isinstance(self.responsible_user, BasicUser):
|
|
110
132
|
responsible_user = self.responsible_user.to_dict()
|
|
111
133
|
else:
|
|
112
134
|
responsible_user = self.responsible_user
|
|
113
135
|
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
136
|
+
state: Union[Unset, int] = UNSET
|
|
137
|
+
if not isinstance(self.state, Unset):
|
|
138
|
+
state = self.state.value
|
|
139
|
+
|
|
140
|
+
user_keys: Union[Unset, list[dict[str, Any]]] = UNSET
|
|
141
|
+
if not isinstance(self.user_keys, Unset):
|
|
142
|
+
user_keys = []
|
|
143
|
+
for user_keys_item_data in self.user_keys:
|
|
144
|
+
user_keys_item = user_keys_item_data.to_dict()
|
|
145
|
+
user_keys.append(user_keys_item)
|
|
118
146
|
|
|
119
147
|
resource_name = self.resource_name
|
|
120
148
|
|
|
121
|
-
resource_uuid =
|
|
149
|
+
resource_uuid: Union[Unset, str] = UNSET
|
|
150
|
+
if not isinstance(self.resource_uuid, Unset):
|
|
151
|
+
resource_uuid = str(self.resource_uuid)
|
|
122
152
|
|
|
123
153
|
project_name = self.project_name
|
|
124
154
|
|
|
125
|
-
project_uuid =
|
|
155
|
+
project_uuid: Union[Unset, str] = UNSET
|
|
156
|
+
if not isinstance(self.project_uuid, Unset):
|
|
157
|
+
project_uuid = str(self.project_uuid)
|
|
126
158
|
|
|
127
|
-
customer_uuid =
|
|
159
|
+
customer_uuid: Union[Unset, str] = UNSET
|
|
160
|
+
if not isinstance(self.customer_uuid, Unset):
|
|
161
|
+
customer_uuid = str(self.customer_uuid)
|
|
128
162
|
|
|
129
163
|
customer_name = self.customer_name
|
|
130
164
|
|
|
131
|
-
offering_customer_uuid =
|
|
165
|
+
offering_customer_uuid: Union[Unset, str] = UNSET
|
|
166
|
+
if not isinstance(self.offering_customer_uuid, Unset):
|
|
167
|
+
offering_customer_uuid = str(self.offering_customer_uuid)
|
|
132
168
|
|
|
133
|
-
offering_plugin_options =
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
description = self.description
|
|
138
|
-
|
|
139
|
-
error_message = self.error_message
|
|
140
|
-
|
|
141
|
-
error_traceback = self.error_traceback
|
|
142
|
-
|
|
143
|
-
keys = self.keys
|
|
144
|
-
|
|
145
|
-
state: Union[Unset, int] = UNSET
|
|
146
|
-
if not isinstance(self.state, Unset):
|
|
147
|
-
state = self.state.value
|
|
169
|
+
offering_plugin_options: Union[Unset, dict[str, Any]] = UNSET
|
|
170
|
+
if not isinstance(self.offering_plugin_options, Unset):
|
|
171
|
+
offering_plugin_options = self.offering_plugin_options.to_dict()
|
|
148
172
|
|
|
149
173
|
field_dict: dict[str, Any] = {}
|
|
150
174
|
field_dict.update(self.additional_properties)
|
|
151
|
-
field_dict.update(
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
"backend_id": backend_id,
|
|
161
|
-
"fingerprints": fingerprints,
|
|
162
|
-
"responsible_user": responsible_user,
|
|
163
|
-
"user_keys": user_keys,
|
|
164
|
-
"resource_name": resource_name,
|
|
165
|
-
"resource_uuid": resource_uuid,
|
|
166
|
-
"project_name": project_name,
|
|
167
|
-
"project_uuid": project_uuid,
|
|
168
|
-
"customer_uuid": customer_uuid,
|
|
169
|
-
"customer_name": customer_name,
|
|
170
|
-
"offering_customer_uuid": offering_customer_uuid,
|
|
171
|
-
"offering_plugin_options": offering_plugin_options,
|
|
172
|
-
}
|
|
173
|
-
)
|
|
175
|
+
field_dict.update({})
|
|
176
|
+
if url is not UNSET:
|
|
177
|
+
field_dict["url"] = url
|
|
178
|
+
if uuid is not UNSET:
|
|
179
|
+
field_dict["uuid"] = uuid
|
|
180
|
+
if created is not UNSET:
|
|
181
|
+
field_dict["created"] = created
|
|
182
|
+
if modified is not UNSET:
|
|
183
|
+
field_dict["modified"] = modified
|
|
174
184
|
if username is not UNSET:
|
|
175
185
|
field_dict["username"] = username
|
|
176
186
|
if description is not UNSET:
|
|
@@ -179,10 +189,40 @@ class RobotAccountDetails:
|
|
|
179
189
|
field_dict["error_message"] = error_message
|
|
180
190
|
if error_traceback is not UNSET:
|
|
181
191
|
field_dict["error_traceback"] = error_traceback
|
|
192
|
+
if resource is not UNSET:
|
|
193
|
+
field_dict["resource"] = resource
|
|
194
|
+
if type_ is not UNSET:
|
|
195
|
+
field_dict["type"] = type_
|
|
196
|
+
if users is not UNSET:
|
|
197
|
+
field_dict["users"] = users
|
|
182
198
|
if keys is not UNSET:
|
|
183
199
|
field_dict["keys"] = keys
|
|
200
|
+
if backend_id is not UNSET:
|
|
201
|
+
field_dict["backend_id"] = backend_id
|
|
202
|
+
if fingerprints is not UNSET:
|
|
203
|
+
field_dict["fingerprints"] = fingerprints
|
|
204
|
+
if responsible_user is not UNSET:
|
|
205
|
+
field_dict["responsible_user"] = responsible_user
|
|
184
206
|
if state is not UNSET:
|
|
185
207
|
field_dict["state"] = state
|
|
208
|
+
if user_keys is not UNSET:
|
|
209
|
+
field_dict["user_keys"] = user_keys
|
|
210
|
+
if resource_name is not UNSET:
|
|
211
|
+
field_dict["resource_name"] = resource_name
|
|
212
|
+
if resource_uuid is not UNSET:
|
|
213
|
+
field_dict["resource_uuid"] = resource_uuid
|
|
214
|
+
if project_name is not UNSET:
|
|
215
|
+
field_dict["project_name"] = project_name
|
|
216
|
+
if project_uuid is not UNSET:
|
|
217
|
+
field_dict["project_uuid"] = project_uuid
|
|
218
|
+
if customer_uuid is not UNSET:
|
|
219
|
+
field_dict["customer_uuid"] = customer_uuid
|
|
220
|
+
if customer_name is not UNSET:
|
|
221
|
+
field_dict["customer_name"] = customer_name
|
|
222
|
+
if offering_customer_uuid is not UNSET:
|
|
223
|
+
field_dict["offering_customer_uuid"] = offering_customer_uuid
|
|
224
|
+
if offering_plugin_options is not UNSET:
|
|
225
|
+
field_dict["offering_plugin_options"] = offering_plugin_options
|
|
186
226
|
|
|
187
227
|
return field_dict
|
|
188
228
|
|
|
@@ -194,37 +234,64 @@ class RobotAccountDetails:
|
|
|
194
234
|
from ..models.ssh_key import SshKey
|
|
195
235
|
|
|
196
236
|
d = dict(src_dict)
|
|
197
|
-
url = d.pop("url")
|
|
237
|
+
url = d.pop("url", UNSET)
|
|
198
238
|
|
|
199
|
-
|
|
239
|
+
_uuid = d.pop("uuid", UNSET)
|
|
240
|
+
uuid: Union[Unset, UUID]
|
|
241
|
+
if isinstance(_uuid, Unset):
|
|
242
|
+
uuid = UNSET
|
|
243
|
+
else:
|
|
244
|
+
uuid = UUID(_uuid)
|
|
200
245
|
|
|
201
|
-
|
|
246
|
+
_created = d.pop("created", UNSET)
|
|
247
|
+
created: Union[Unset, datetime.datetime]
|
|
248
|
+
if isinstance(_created, Unset):
|
|
249
|
+
created = UNSET
|
|
250
|
+
else:
|
|
251
|
+
created = isoparse(_created)
|
|
202
252
|
|
|
203
|
-
|
|
253
|
+
_modified = d.pop("modified", UNSET)
|
|
254
|
+
modified: Union[Unset, datetime.datetime]
|
|
255
|
+
if isinstance(_modified, Unset):
|
|
256
|
+
modified = UNSET
|
|
257
|
+
else:
|
|
258
|
+
modified = isoparse(_modified)
|
|
204
259
|
|
|
205
|
-
|
|
260
|
+
username = d.pop("username", UNSET)
|
|
206
261
|
|
|
207
|
-
|
|
262
|
+
description = d.pop("description", UNSET)
|
|
263
|
+
|
|
264
|
+
error_message = d.pop("error_message", UNSET)
|
|
265
|
+
|
|
266
|
+
error_traceback = d.pop("error_traceback", UNSET)
|
|
267
|
+
|
|
268
|
+
resource = d.pop("resource", UNSET)
|
|
269
|
+
|
|
270
|
+
type_ = d.pop("type", UNSET)
|
|
208
271
|
|
|
209
272
|
users = []
|
|
210
|
-
_users = d.pop("users")
|
|
211
|
-
for users_item_data in _users:
|
|
273
|
+
_users = d.pop("users", UNSET)
|
|
274
|
+
for users_item_data in _users or []:
|
|
212
275
|
users_item = BasicUser.from_dict(users_item_data)
|
|
213
276
|
|
|
214
277
|
users.append(users_item)
|
|
215
278
|
|
|
216
|
-
|
|
279
|
+
keys = d.pop("keys", UNSET)
|
|
280
|
+
|
|
281
|
+
backend_id = d.pop("backend_id", UNSET)
|
|
217
282
|
|
|
218
283
|
fingerprints = []
|
|
219
|
-
_fingerprints = d.pop("fingerprints")
|
|
220
|
-
for fingerprints_item_data in _fingerprints:
|
|
284
|
+
_fingerprints = d.pop("fingerprints", UNSET)
|
|
285
|
+
for fingerprints_item_data in _fingerprints or []:
|
|
221
286
|
fingerprints_item = Fingerprint.from_dict(fingerprints_item_data)
|
|
222
287
|
|
|
223
288
|
fingerprints.append(fingerprints_item)
|
|
224
289
|
|
|
225
|
-
def _parse_responsible_user(data: object) -> Union["BasicUser", None]:
|
|
290
|
+
def _parse_responsible_user(data: object) -> Union["BasicUser", None, Unset]:
|
|
226
291
|
if data is None:
|
|
227
292
|
return data
|
|
293
|
+
if isinstance(data, Unset):
|
|
294
|
+
return data
|
|
228
295
|
try:
|
|
229
296
|
if not isinstance(data, dict):
|
|
230
297
|
raise TypeError()
|
|
@@ -233,61 +300,82 @@ class RobotAccountDetails:
|
|
|
233
300
|
return responsible_user_type_1
|
|
234
301
|
except: # noqa: E722
|
|
235
302
|
pass
|
|
236
|
-
return cast(Union["BasicUser", None], data)
|
|
303
|
+
return cast(Union["BasicUser", None, Unset], data)
|
|
304
|
+
|
|
305
|
+
responsible_user = _parse_responsible_user(d.pop("responsible_user", UNSET))
|
|
237
306
|
|
|
238
|
-
|
|
307
|
+
_state = d.pop("state", UNSET)
|
|
308
|
+
state: Union[Unset, RobotAccountStates]
|
|
309
|
+
if isinstance(_state, Unset):
|
|
310
|
+
state = UNSET
|
|
311
|
+
else:
|
|
312
|
+
state = RobotAccountStates(_state)
|
|
239
313
|
|
|
240
314
|
user_keys = []
|
|
241
|
-
_user_keys = d.pop("user_keys")
|
|
242
|
-
for user_keys_item_data in _user_keys:
|
|
315
|
+
_user_keys = d.pop("user_keys", UNSET)
|
|
316
|
+
for user_keys_item_data in _user_keys or []:
|
|
243
317
|
user_keys_item = SshKey.from_dict(user_keys_item_data)
|
|
244
318
|
|
|
245
319
|
user_keys.append(user_keys_item)
|
|
246
320
|
|
|
247
|
-
resource_name = d.pop("resource_name")
|
|
248
|
-
|
|
249
|
-
resource_uuid = UUID(d.pop("resource_uuid"))
|
|
250
|
-
|
|
251
|
-
project_name = d.pop("project_name")
|
|
252
|
-
|
|
253
|
-
project_uuid = UUID(d.pop("project_uuid"))
|
|
254
|
-
|
|
255
|
-
customer_uuid = UUID(d.pop("customer_uuid"))
|
|
256
|
-
|
|
257
|
-
customer_name = d.pop("customer_name")
|
|
321
|
+
resource_name = d.pop("resource_name", UNSET)
|
|
258
322
|
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
323
|
+
_resource_uuid = d.pop("resource_uuid", UNSET)
|
|
324
|
+
resource_uuid: Union[Unset, UUID]
|
|
325
|
+
if isinstance(_resource_uuid, Unset):
|
|
326
|
+
resource_uuid = UNSET
|
|
327
|
+
else:
|
|
328
|
+
resource_uuid = UUID(_resource_uuid)
|
|
262
329
|
|
|
263
|
-
|
|
330
|
+
project_name = d.pop("project_name", UNSET)
|
|
264
331
|
|
|
265
|
-
|
|
332
|
+
_project_uuid = d.pop("project_uuid", UNSET)
|
|
333
|
+
project_uuid: Union[Unset, UUID]
|
|
334
|
+
if isinstance(_project_uuid, Unset):
|
|
335
|
+
project_uuid = UNSET
|
|
336
|
+
else:
|
|
337
|
+
project_uuid = UUID(_project_uuid)
|
|
266
338
|
|
|
267
|
-
|
|
339
|
+
_customer_uuid = d.pop("customer_uuid", UNSET)
|
|
340
|
+
customer_uuid: Union[Unset, UUID]
|
|
341
|
+
if isinstance(_customer_uuid, Unset):
|
|
342
|
+
customer_uuid = UNSET
|
|
343
|
+
else:
|
|
344
|
+
customer_uuid = UUID(_customer_uuid)
|
|
268
345
|
|
|
269
|
-
|
|
346
|
+
customer_name = d.pop("customer_name", UNSET)
|
|
270
347
|
|
|
271
|
-
|
|
348
|
+
_offering_customer_uuid = d.pop("offering_customer_uuid", UNSET)
|
|
349
|
+
offering_customer_uuid: Union[Unset, UUID]
|
|
350
|
+
if isinstance(_offering_customer_uuid, Unset):
|
|
351
|
+
offering_customer_uuid = UNSET
|
|
352
|
+
else:
|
|
353
|
+
offering_customer_uuid = UUID(_offering_customer_uuid)
|
|
272
354
|
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
if isinstance(
|
|
276
|
-
|
|
355
|
+
_offering_plugin_options = d.pop("offering_plugin_options", UNSET)
|
|
356
|
+
offering_plugin_options: Union[Unset, MergedPluginOptions]
|
|
357
|
+
if isinstance(_offering_plugin_options, Unset):
|
|
358
|
+
offering_plugin_options = UNSET
|
|
277
359
|
else:
|
|
278
|
-
|
|
360
|
+
offering_plugin_options = MergedPluginOptions.from_dict(_offering_plugin_options)
|
|
279
361
|
|
|
280
362
|
robot_account_details = cls(
|
|
281
363
|
url=url,
|
|
282
364
|
uuid=uuid,
|
|
283
365
|
created=created,
|
|
284
366
|
modified=modified,
|
|
367
|
+
username=username,
|
|
368
|
+
description=description,
|
|
369
|
+
error_message=error_message,
|
|
370
|
+
error_traceback=error_traceback,
|
|
285
371
|
resource=resource,
|
|
286
372
|
type_=type_,
|
|
287
373
|
users=users,
|
|
374
|
+
keys=keys,
|
|
288
375
|
backend_id=backend_id,
|
|
289
376
|
fingerprints=fingerprints,
|
|
290
377
|
responsible_user=responsible_user,
|
|
378
|
+
state=state,
|
|
291
379
|
user_keys=user_keys,
|
|
292
380
|
resource_name=resource_name,
|
|
293
381
|
resource_uuid=resource_uuid,
|
|
@@ -297,12 +385,6 @@ class RobotAccountDetails:
|
|
|
297
385
|
customer_name=customer_name,
|
|
298
386
|
offering_customer_uuid=offering_customer_uuid,
|
|
299
387
|
offering_plugin_options=offering_plugin_options,
|
|
300
|
-
username=username,
|
|
301
|
-
description=description,
|
|
302
|
-
error_message=error_message,
|
|
303
|
-
error_traceback=error_traceback,
|
|
304
|
-
keys=keys,
|
|
305
|
-
state=state,
|
|
306
388
|
)
|
|
307
389
|
|
|
308
390
|
robot_account_details.additional_properties = d
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
from collections.abc import Mapping
|
|
2
|
+
from typing import Any, TypeVar, Union, cast
|
|
3
|
+
from uuid import UUID
|
|
4
|
+
|
|
5
|
+
from attrs import define as _attrs_define
|
|
6
|
+
from attrs import field as _attrs_field
|
|
7
|
+
|
|
8
|
+
T = TypeVar("T", bound="ServiceProviderComplianceOverview")
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
@_attrs_define
|
|
12
|
+
class ServiceProviderComplianceOverview:
|
|
13
|
+
"""
|
|
14
|
+
Attributes:
|
|
15
|
+
offering_uuid (UUID):
|
|
16
|
+
offering_name (str):
|
|
17
|
+
checklist_name (Union[None, str]):
|
|
18
|
+
total_users (int):
|
|
19
|
+
users_with_completions (int):
|
|
20
|
+
completed_users (int):
|
|
21
|
+
pending_users (int):
|
|
22
|
+
compliance_rate (float):
|
|
23
|
+
"""
|
|
24
|
+
|
|
25
|
+
offering_uuid: UUID
|
|
26
|
+
offering_name: str
|
|
27
|
+
checklist_name: Union[None, str]
|
|
28
|
+
total_users: int
|
|
29
|
+
users_with_completions: int
|
|
30
|
+
completed_users: int
|
|
31
|
+
pending_users: int
|
|
32
|
+
compliance_rate: float
|
|
33
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
34
|
+
|
|
35
|
+
def to_dict(self) -> dict[str, Any]:
|
|
36
|
+
offering_uuid = str(self.offering_uuid)
|
|
37
|
+
|
|
38
|
+
offering_name = self.offering_name
|
|
39
|
+
|
|
40
|
+
checklist_name: Union[None, str]
|
|
41
|
+
checklist_name = self.checklist_name
|
|
42
|
+
|
|
43
|
+
total_users = self.total_users
|
|
44
|
+
|
|
45
|
+
users_with_completions = self.users_with_completions
|
|
46
|
+
|
|
47
|
+
completed_users = self.completed_users
|
|
48
|
+
|
|
49
|
+
pending_users = self.pending_users
|
|
50
|
+
|
|
51
|
+
compliance_rate = self.compliance_rate
|
|
52
|
+
|
|
53
|
+
field_dict: dict[str, Any] = {}
|
|
54
|
+
field_dict.update(self.additional_properties)
|
|
55
|
+
field_dict.update(
|
|
56
|
+
{
|
|
57
|
+
"offering_uuid": offering_uuid,
|
|
58
|
+
"offering_name": offering_name,
|
|
59
|
+
"checklist_name": checklist_name,
|
|
60
|
+
"total_users": total_users,
|
|
61
|
+
"users_with_completions": users_with_completions,
|
|
62
|
+
"completed_users": completed_users,
|
|
63
|
+
"pending_users": pending_users,
|
|
64
|
+
"compliance_rate": compliance_rate,
|
|
65
|
+
}
|
|
66
|
+
)
|
|
67
|
+
|
|
68
|
+
return field_dict
|
|
69
|
+
|
|
70
|
+
@classmethod
|
|
71
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
72
|
+
d = dict(src_dict)
|
|
73
|
+
offering_uuid = UUID(d.pop("offering_uuid"))
|
|
74
|
+
|
|
75
|
+
offering_name = d.pop("offering_name")
|
|
76
|
+
|
|
77
|
+
def _parse_checklist_name(data: object) -> Union[None, str]:
|
|
78
|
+
if data is None:
|
|
79
|
+
return data
|
|
80
|
+
return cast(Union[None, str], data)
|
|
81
|
+
|
|
82
|
+
checklist_name = _parse_checklist_name(d.pop("checklist_name"))
|
|
83
|
+
|
|
84
|
+
total_users = d.pop("total_users")
|
|
85
|
+
|
|
86
|
+
users_with_completions = d.pop("users_with_completions")
|
|
87
|
+
|
|
88
|
+
completed_users = d.pop("completed_users")
|
|
89
|
+
|
|
90
|
+
pending_users = d.pop("pending_users")
|
|
91
|
+
|
|
92
|
+
compliance_rate = d.pop("compliance_rate")
|
|
93
|
+
|
|
94
|
+
service_provider_compliance_overview = cls(
|
|
95
|
+
offering_uuid=offering_uuid,
|
|
96
|
+
offering_name=offering_name,
|
|
97
|
+
checklist_name=checklist_name,
|
|
98
|
+
total_users=total_users,
|
|
99
|
+
users_with_completions=users_with_completions,
|
|
100
|
+
completed_users=completed_users,
|
|
101
|
+
pending_users=pending_users,
|
|
102
|
+
compliance_rate=compliance_rate,
|
|
103
|
+
)
|
|
104
|
+
|
|
105
|
+
service_provider_compliance_overview.additional_properties = d
|
|
106
|
+
return service_provider_compliance_overview
|
|
107
|
+
|
|
108
|
+
@property
|
|
109
|
+
def additional_keys(self) -> list[str]:
|
|
110
|
+
return list(self.additional_properties.keys())
|
|
111
|
+
|
|
112
|
+
def __getitem__(self, key: str) -> Any:
|
|
113
|
+
return self.additional_properties[key]
|
|
114
|
+
|
|
115
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
116
|
+
self.additional_properties[key] = value
|
|
117
|
+
|
|
118
|
+
def __delitem__(self, key: str) -> None:
|
|
119
|
+
del self.additional_properties[key]
|
|
120
|
+
|
|
121
|
+
def __contains__(self, key: str) -> bool:
|
|
122
|
+
return key in self.additional_properties
|