waldur-api-client 7.7.6__py3-none-any.whl → 7.7.8__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.

Files changed (261) hide show
  1. waldur_api_client/api/booking_resources/booking_resources_count.py +34 -11
  2. waldur_api_client/api/booking_resources/booking_resources_list.py +34 -11
  3. waldur_api_client/api/customer_permissions_reviews/customer_permissions_reviews_count.py +19 -0
  4. waldur_api_client/api/customer_permissions_reviews/customer_permissions_reviews_list.py +19 -0
  5. waldur_api_client/api/customers/customers_project_metadata_compliance_details_list.py +189 -0
  6. waldur_api_client/api/customers/customers_project_metadata_compliance_overview_list.py +189 -0
  7. waldur_api_client/api/customers/customers_project_metadata_compliance_projects_list.py +187 -0
  8. waldur_api_client/api/customers/customers_project_metadata_question_answers_list.py +187 -0
  9. waldur_api_client/api/customers/customers_users_list.py +141 -53
  10. waldur_api_client/api/invoices/invoices_items_retrieve.py +20 -0
  11. waldur_api_client/api/managed_rancher_cluster_resources/__init__.py +1 -0
  12. waldur_api_client/api/managed_rancher_cluster_resources/managed_rancher_cluster_resources_add_node.py +162 -0
  13. waldur_api_client/api/managed_rancher_cluster_resources/managed_rancher_cluster_resources_count.py +172 -0
  14. waldur_api_client/api/managed_rancher_cluster_resources/managed_rancher_cluster_resources_list.py +196 -0
  15. waldur_api_client/api/managed_rancher_cluster_resources/managed_rancher_cluster_resources_retrieve.py +171 -0
  16. waldur_api_client/api/marketplace_course_accounts/__init__.py +1 -0
  17. waldur_api_client/api/marketplace_course_accounts/marketplace_course_accounts_count.py +244 -0
  18. waldur_api_client/api/marketplace_course_accounts/marketplace_course_accounts_create.py +148 -0
  19. waldur_api_client/api/marketplace_course_accounts/marketplace_course_accounts_create_bulk.py +152 -0
  20. waldur_api_client/api/marketplace_course_accounts/marketplace_course_accounts_destroy.py +89 -0
  21. waldur_api_client/api/marketplace_course_accounts/marketplace_course_accounts_list.py +245 -0
  22. waldur_api_client/api/marketplace_course_accounts/marketplace_course_accounts_retrieve.py +140 -0
  23. waldur_api_client/api/marketplace_customer_service_accounts/marketplace_customer_service_accounts_count.py +25 -0
  24. waldur_api_client/api/marketplace_customer_service_accounts/marketplace_customer_service_accounts_list.py +25 -0
  25. waldur_api_client/api/marketplace_integration_statuses/marketplace_integration_statuses_count.py +34 -11
  26. waldur_api_client/api/marketplace_integration_statuses/marketplace_integration_statuses_list.py +34 -11
  27. waldur_api_client/api/marketplace_offering_files/marketplace_offering_files_count.py +34 -11
  28. waldur_api_client/api/marketplace_offering_files/marketplace_offering_files_list.py +34 -11
  29. waldur_api_client/api/marketplace_offering_terms_of_service/__init__.py +1 -0
  30. waldur_api_client/api/marketplace_offering_terms_of_service/marketplace_offering_terms_of_service_count.py +274 -0
  31. waldur_api_client/api/marketplace_offering_terms_of_service/marketplace_offering_terms_of_service_create.py +152 -0
  32. waldur_api_client/api/marketplace_offering_terms_of_service/marketplace_offering_terms_of_service_destroy.py +89 -0
  33. waldur_api_client/api/marketplace_offering_terms_of_service/marketplace_offering_terms_of_service_list.py +277 -0
  34. waldur_api_client/api/marketplace_offering_terms_of_service/marketplace_offering_terms_of_service_partial_update.py +164 -0
  35. waldur_api_client/api/marketplace_offering_terms_of_service/marketplace_offering_terms_of_service_retrieve.py +142 -0
  36. waldur_api_client/api/marketplace_offering_terms_of_service/marketplace_offering_terms_of_service_update.py +164 -0
  37. waldur_api_client/api/marketplace_offering_user_roles/marketplace_offering_user_roles_count.py +34 -11
  38. waldur_api_client/api/marketplace_offering_user_roles/marketplace_offering_user_roles_list.py +34 -11
  39. waldur_api_client/api/marketplace_offering_users/marketplace_offering_users_count.py +34 -11
  40. waldur_api_client/api/marketplace_offering_users/marketplace_offering_users_list.py +34 -11
  41. waldur_api_client/api/marketplace_orders/marketplace_orders_count.py +19 -0
  42. waldur_api_client/api/marketplace_orders/marketplace_orders_list.py +19 -0
  43. waldur_api_client/api/marketplace_plans/marketplace_plans_count.py +19 -0
  44. waldur_api_client/api/marketplace_plans/marketplace_plans_list.py +19 -0
  45. waldur_api_client/api/marketplace_plans/marketplace_plans_usage_stats_count.py +19 -0
  46. waldur_api_client/api/marketplace_plans/marketplace_plans_usage_stats_list.py +19 -0
  47. waldur_api_client/api/marketplace_project_service_accounts/marketplace_project_service_accounts_count.py +25 -0
  48. waldur_api_client/api/marketplace_project_service_accounts/marketplace_project_service_accounts_list.py +25 -0
  49. waldur_api_client/api/marketplace_provider_resources/marketplace_provider_resources_count.py +34 -11
  50. waldur_api_client/api/marketplace_provider_resources/marketplace_provider_resources_list.py +34 -11
  51. waldur_api_client/api/marketplace_resources/marketplace_resources_count.py +34 -11
  52. waldur_api_client/api/marketplace_resources/marketplace_resources_list.py +34 -11
  53. waldur_api_client/api/marketplace_screenshots/marketplace_screenshots_count.py +34 -11
  54. waldur_api_client/api/marketplace_screenshots/marketplace_screenshots_list.py +34 -11
  55. waldur_api_client/api/marketplace_service_providers/marketplace_service_providers_course_accounts_list.py +284 -0
  56. waldur_api_client/api/marketplace_service_providers/marketplace_service_providers_project_service_accounts_list.py +29 -0
  57. waldur_api_client/api/marketplace_user_offering_consents/__init__.py +1 -0
  58. waldur_api_client/api/marketplace_user_offering_consents/marketplace_user_offering_consents_count.py +307 -0
  59. waldur_api_client/api/marketplace_user_offering_consents/marketplace_user_offering_consents_create.py +152 -0
  60. waldur_api_client/api/marketplace_user_offering_consents/marketplace_user_offering_consents_destroy.py +89 -0
  61. waldur_api_client/api/marketplace_user_offering_consents/marketplace_user_offering_consents_list.py +310 -0
  62. waldur_api_client/api/marketplace_user_offering_consents/marketplace_user_offering_consents_partial_update.py +164 -0
  63. waldur_api_client/api/marketplace_user_offering_consents/marketplace_user_offering_consents_retrieve.py +142 -0
  64. waldur_api_client/api/marketplace_user_offering_consents/marketplace_user_offering_consents_revoke.py +146 -0
  65. waldur_api_client/api/marketplace_user_offering_consents/marketplace_user_offering_consents_update.py +164 -0
  66. waldur_api_client/api/project_permissions_reviews/__init__.py +1 -0
  67. waldur_api_client/api/project_permissions_reviews/project_permissions_reviews_close.py +91 -0
  68. waldur_api_client/api/project_permissions_reviews/project_permissions_reviews_count.py +266 -0
  69. waldur_api_client/api/project_permissions_reviews/project_permissions_reviews_list.py +269 -0
  70. waldur_api_client/api/project_permissions_reviews/project_permissions_reviews_retrieve.py +142 -0
  71. waldur_api_client/api/projects/projects_other_users_list.py +98 -23
  72. waldur_api_client/api/projects/projects_sync_user_roles.py +10 -9
  73. waldur_api_client/api/remote_waldur_api/remote_waldur_api_remote_resource_order_status_retrieve.py +145 -0
  74. waldur_api_client/api/remote_waldur_api/remote_waldur_api_remote_resource_status_retrieve.py +147 -0
  75. waldur_api_client/api/remote_waldur_api/remote_waldur_api_remote_resource_team_status_list.py +188 -0
  76. waldur_api_client/api/support_issue_statuses/__init__.py +1 -0
  77. waldur_api_client/api/support_issue_statuses/support_issue_statuses_count.py +172 -0
  78. waldur_api_client/api/support_issue_statuses/support_issue_statuses_create.py +148 -0
  79. waldur_api_client/api/support_issue_statuses/support_issue_statuses_destroy.py +89 -0
  80. waldur_api_client/api/support_issue_statuses/support_issue_statuses_list.py +173 -0
  81. waldur_api_client/api/support_issue_statuses/support_issue_statuses_partial_update.py +162 -0
  82. waldur_api_client/api/support_issue_statuses/support_issue_statuses_retrieve.py +140 -0
  83. waldur_api_client/api/support_issue_statuses/support_issue_statuses_update.py +162 -0
  84. waldur_api_client/api/user_group_invitations/user_group_invitations_submit_request.py +12 -12
  85. waldur_api_client/api/user_invitations/user_invitations_count.py +30 -0
  86. waldur_api_client/api/user_invitations/user_invitations_list.py +30 -0
  87. waldur_api_client/api/user_permission_requests/user_permission_requests_cancel_request.py +146 -0
  88. waldur_api_client/models/__init__.py +136 -2
  89. waldur_api_client/models/azure_sql_server_create_order_attributes.py +3 -0
  90. waldur_api_client/models/azure_virtual_machine_create_order_attributes.py +3 -0
  91. waldur_api_client/models/booking_offerings_list_field_item.py +0 -2
  92. waldur_api_client/models/booking_offerings_retrieve_field_item.py +0 -2
  93. waldur_api_client/models/booking_resource.py +10 -9
  94. waldur_api_client/models/booking_resources_list_field_item.py +1 -1
  95. waldur_api_client/models/booking_resources_retrieve_field_item.py +1 -1
  96. waldur_api_client/models/cancel_request_response.py +75 -0
  97. waldur_api_client/models/checklist_info.py +76 -0
  98. waldur_api_client/models/compliance_overview.py +91 -0
  99. waldur_api_client/models/constance_settings.py +9 -0
  100. waldur_api_client/models/constance_settings_request.py +9 -0
  101. waldur_api_client/models/course_account.py +188 -0
  102. waldur_api_client/models/course_account_create_nested.py +68 -0
  103. waldur_api_client/models/course_account_create_nested_request.py +68 -0
  104. waldur_api_client/models/course_account_request.py +89 -0
  105. waldur_api_client/models/course_accounts_bulk_create.py +82 -0
  106. waldur_api_client/models/course_accounts_bulk_create_request.py +82 -0
  107. waldur_api_client/models/customer.py +90 -0
  108. waldur_api_client/models/customer_permission_review.py +16 -16
  109. waldur_api_client/models/customer_request.py +9 -0
  110. waldur_api_client/models/customer_service_account.py +9 -0
  111. waldur_api_client/models/customers_list_field_item.py +5 -0
  112. waldur_api_client/models/customers_retrieve_field_item.py +5 -0
  113. waldur_api_client/models/customers_users_list_o.py +9 -0
  114. waldur_api_client/models/customers_users_list_organization_role_item_type_0.py +10 -0
  115. waldur_api_client/models/customers_users_list_project_role_item_type_0.py +10 -0
  116. waldur_api_client/models/dependency_logic_operator_enum.py +9 -0
  117. waldur_api_client/models/event_subscription.py +1 -1
  118. waldur_api_client/models/event_types_enum.py +4 -0
  119. waldur_api_client/models/generic_order_attributes.py +69 -0
  120. waldur_api_client/models/google_auth_authorize_retrieve_field_item.py +1 -0
  121. waldur_api_client/models/google_auth_list_field_item.py +1 -0
  122. waldur_api_client/models/google_auth_retrieve_field_item.py +1 -0
  123. waldur_api_client/models/google_credentials.py +9 -0
  124. waldur_api_client/models/group_invitation.py +33 -0
  125. waldur_api_client/models/group_invitation_request.py +10 -0
  126. waldur_api_client/models/invitation.py +9 -0
  127. waldur_api_client/models/invoices_items_retrieve_o.py +15 -0
  128. waldur_api_client/models/issue_status.py +103 -0
  129. waldur_api_client/models/issue_status_request.py +78 -0
  130. waldur_api_client/models/issue_status_type_enum.py +9 -0
  131. waldur_api_client/models/kind_enum.py +10 -0
  132. waldur_api_client/models/maintenance_announcement.py +8 -0
  133. waldur_api_client/models/managed_rancher_cluster_resources_list_field_item.py +82 -0
  134. waldur_api_client/models/managed_rancher_cluster_resources_retrieve_field_item.py +82 -0
  135. waldur_api_client/models/managed_rancher_create_node_request.py +186 -0
  136. waldur_api_client/models/marketplace_course_accounts_count_state_item.py +10 -0
  137. waldur_api_client/models/marketplace_course_accounts_list_state_item.py +10 -0
  138. waldur_api_client/models/marketplace_customer_service_accounts_count_state_item.py +10 -0
  139. waldur_api_client/models/marketplace_customer_service_accounts_list_state_item.py +10 -0
  140. waldur_api_client/models/marketplace_offering_terms_of_service_count_o_item.py +13 -0
  141. waldur_api_client/models/marketplace_offering_terms_of_service_list_o_item.py +13 -0
  142. waldur_api_client/models/marketplace_orders_list_field_item.py +1 -1
  143. waldur_api_client/models/marketplace_orders_retrieve_field_item.py +1 -1
  144. waldur_api_client/models/marketplace_project_service_accounts_count_state_item.py +10 -0
  145. waldur_api_client/models/marketplace_project_service_accounts_list_state_item.py +10 -0
  146. waldur_api_client/models/marketplace_provider_offerings_list_customer_service_accounts_retrieve_field_item.py +0 -2
  147. waldur_api_client/models/marketplace_provider_offerings_list_field_item.py +0 -2
  148. waldur_api_client/models/marketplace_provider_offerings_list_project_service_accounts_retrieve_field_item.py +0 -2
  149. waldur_api_client/models/marketplace_provider_offerings_retrieve_field_item.py +0 -2
  150. waldur_api_client/models/marketplace_provider_offerings_stats_retrieve_field_item.py +0 -2
  151. waldur_api_client/models/marketplace_provider_offerings_user_has_resource_access_retrieve_field_item.py +0 -2
  152. waldur_api_client/models/marketplace_provider_resources_details_retrieve_field_item.py +1 -1
  153. waldur_api_client/models/marketplace_provider_resources_list_field_item.py +1 -1
  154. waldur_api_client/models/marketplace_provider_resources_retrieve_field_item.py +1 -1
  155. waldur_api_client/models/marketplace_public_offerings_list_field_item.py +0 -2
  156. waldur_api_client/models/marketplace_public_offerings_retrieve_field_item.py +0 -2
  157. waldur_api_client/models/marketplace_rancher_create_order_attributes.py +3 -0
  158. waldur_api_client/models/marketplace_resources_details_retrieve_field_item.py +1 -1
  159. waldur_api_client/models/marketplace_resources_list_field_item.py +1 -1
  160. waldur_api_client/models/marketplace_resources_retrieve_field_item.py +1 -1
  161. waldur_api_client/models/marketplace_service_providers_course_accounts_list_state_item.py +10 -0
  162. waldur_api_client/models/marketplace_service_providers_list_field_item.py +1 -0
  163. waldur_api_client/models/marketplace_service_providers_project_service_accounts_list_state_item.py +10 -0
  164. waldur_api_client/models/marketplace_service_providers_projects_list_field_item.py +1 -0
  165. waldur_api_client/models/marketplace_service_providers_retrieve_field_item.py +1 -0
  166. waldur_api_client/models/marketplace_user_offering_consents_count_o_item.py +15 -0
  167. waldur_api_client/models/marketplace_user_offering_consents_list_o_item.py +15 -0
  168. waldur_api_client/models/nested_security_group_rule.py +223 -0
  169. waldur_api_client/models/nested_security_group_rule_request.py +188 -0
  170. waldur_api_client/models/offering.py +0 -18
  171. waldur_api_client/models/offering_create.py +0 -18
  172. waldur_api_client/models/offering_create_request.py +0 -18
  173. waldur_api_client/models/offering_overview_update_request.py +0 -18
  174. waldur_api_client/models/offering_terms_of_service.py +142 -0
  175. waldur_api_client/models/offering_terms_of_service_create.py +107 -0
  176. waldur_api_client/models/offering_terms_of_service_create_request.py +107 -0
  177. waldur_api_client/models/offering_terms_of_service_request.py +96 -0
  178. waldur_api_client/models/open_stack_backup_restoration_request.py +0 -22
  179. waldur_api_client/models/open_stack_fixed_ip.py +13 -3
  180. waldur_api_client/models/open_stack_fixed_ip_request.py +7 -2
  181. waldur_api_client/models/open_stack_instance_create_order_attributes.py +23 -20
  182. waldur_api_client/models/open_stack_nested_security_group.py +53 -1
  183. waldur_api_client/models/open_stack_network.py +20 -0
  184. waldur_api_client/models/open_stack_port_ip_update_request.py +6 -2
  185. waldur_api_client/models/open_stack_security_group_rule_update_request.py +4 -4
  186. waldur_api_client/models/open_stack_static_route.py +13 -4
  187. waldur_api_client/models/open_stack_static_route_request.py +7 -3
  188. waldur_api_client/models/open_stack_sub_net.py +15 -2
  189. waldur_api_client/models/open_stack_sub_net_allocation_pool.py +27 -8
  190. waldur_api_client/models/open_stack_sub_net_allocation_pool_request.py +14 -5
  191. waldur_api_client/models/open_stack_sub_net_request.py +15 -2
  192. waldur_api_client/models/open_stack_tenant.py +38 -0
  193. waldur_api_client/models/open_stack_tenant_create_order_attributes.py +21 -0
  194. waldur_api_client/models/open_stack_volume_create_order_attributes.py +3 -0
  195. waldur_api_client/models/openstack_networks_list_field_item.py +1 -0
  196. waldur_api_client/models/openstack_networks_retrieve_field_item.py +1 -0
  197. waldur_api_client/models/openstack_tenants_list_field_item.py +3 -0
  198. waldur_api_client/models/openstack_tenants_retrieve_field_item.py +3 -0
  199. waldur_api_client/models/order_create.py +0 -8
  200. waldur_api_client/models/order_create_request.py +23 -7
  201. waldur_api_client/models/order_details.py +0 -9
  202. waldur_api_client/models/patched_customer_request.py +9 -0
  203. waldur_api_client/models/patched_issue_status_request.py +76 -0
  204. waldur_api_client/models/patched_offering_terms_of_service_request.py +96 -0
  205. waldur_api_client/models/patched_open_stack_sub_net_request.py +15 -2
  206. waldur_api_client/models/patched_project_request.py +17 -0
  207. waldur_api_client/models/patched_question_admin_request.py +17 -0
  208. waldur_api_client/models/patched_rancher_service_request.py +1 -1
  209. waldur_api_client/models/patched_user_offering_consent_request.py +59 -0
  210. waldur_api_client/models/permission_project.py +147 -0
  211. waldur_api_client/models/permission_request.py +16 -0
  212. waldur_api_client/models/project.py +17 -0
  213. waldur_api_client/models/project_answer.py +122 -0
  214. waldur_api_client/models/project_detail.py +133 -0
  215. waldur_api_client/models/project_details_response.py +115 -0
  216. waldur_api_client/models/project_permission_review.py +166 -0
  217. waldur_api_client/models/project_permissions_reviews_count_o_item.py +11 -0
  218. waldur_api_client/models/project_permissions_reviews_list_o_item.py +11 -0
  219. waldur_api_client/models/project_request.py +17 -0
  220. waldur_api_client/models/project_service_account.py +9 -0
  221. waldur_api_client/models/projects_list_field_item.py +1 -0
  222. waldur_api_client/models/projects_other_users_list_o.py +9 -0
  223. waldur_api_client/models/projects_retrieve_field_item.py +1 -0
  224. waldur_api_client/models/proposal.py +8 -0
  225. waldur_api_client/models/proposal_review.py +8 -0
  226. waldur_api_client/models/provider_offering_details.py +0 -18
  227. waldur_api_client/models/provider_offering_details_request.py +0 -18
  228. waldur_api_client/models/public_offering_details.py +0 -18
  229. waldur_api_client/models/question_admin.py +17 -0
  230. waldur_api_client/models/question_admin_request.py +17 -0
  231. waldur_api_client/models/question_answer.py +176 -0
  232. waldur_api_client/models/question_answer_project_answers_item.py +44 -0
  233. waldur_api_client/models/question_answer_question_options_item.py +44 -0
  234. waldur_api_client/models/rancher_nested_public_ip.py +25 -7
  235. waldur_api_client/models/rancher_service.py +1 -1
  236. waldur_api_client/models/rancher_service_request.py +1 -1
  237. waldur_api_client/models/remote_resource_order.py +88 -0
  238. waldur_api_client/models/remote_resource_order_remote_state_enum.py +15 -0
  239. waldur_api_client/models/remote_resource_sync_status.py +123 -0
  240. waldur_api_client/models/{robot_account_states.py → remote_resource_sync_status_remote_state_enum.py} +1 -1
  241. waldur_api_client/models/remote_resource_team_member.py +85 -0
  242. waldur_api_client/models/resource.py +10 -9
  243. waldur_api_client/models/rmq_connection.py +8 -3
  244. waldur_api_client/models/rmq_subscription.py +7 -3
  245. waldur_api_client/models/robot_account.py +9 -17
  246. waldur_api_client/models/robot_account_details.py +9 -17
  247. waldur_api_client/models/service_account_state.py +10 -0
  248. waldur_api_client/models/service_provider.py +9 -0
  249. waldur_api_client/models/slurm_invoices_slurm_package_create_order_attributes.py +3 -0
  250. waldur_api_client/models/submit_request_response.py +75 -0
  251. waldur_api_client/models/sync_status_enum.py +10 -0
  252. waldur_api_client/models/user_offering_consent.py +202 -0
  253. waldur_api_client/models/user_offering_consent_create.py +60 -0
  254. waldur_api_client/models/user_offering_consent_create_request.py +60 -0
  255. waldur_api_client/models/user_offering_consent_request.py +59 -0
  256. waldur_api_client/models/v_mware_virtual_machine_create_order_attributes.py +3 -0
  257. waldur_api_client/models/visible_invitation_details.py +9 -0
  258. {waldur_api_client-7.7.6.dist-info → waldur_api_client-7.7.8.dist-info}/METADATA +1 -1
  259. {waldur_api_client-7.7.6.dist-info → waldur_api_client-7.7.8.dist-info}/RECORD +261 -145
  260. {waldur_api_client-7.7.6.dist-info → waldur_api_client-7.7.8.dist-info}/LICENSE +0 -0
  261. {waldur_api_client-7.7.6.dist-info → waldur_api_client-7.7.8.dist-info}/WHEEL +0 -0
@@ -0,0 +1,188 @@
1
+ from collections.abc import Mapping
2
+ from typing import Any, TypeVar, Union, cast
3
+
4
+ from attrs import define as _attrs_define
5
+ from attrs import field as _attrs_field
6
+
7
+ from ..models.blank_enum import BlankEnum
8
+ from ..models.direction_enum import DirectionEnum
9
+ from ..models.ethertype_enum import EthertypeEnum
10
+ from ..models.protocol_enum import ProtocolEnum
11
+ from ..types import UNSET, Unset
12
+
13
+ T = TypeVar("T", bound="NestedSecurityGroupRuleRequest")
14
+
15
+
16
+ @_attrs_define
17
+ class NestedSecurityGroupRuleRequest:
18
+ """
19
+ Attributes:
20
+ ethertype (Union[Unset, EthertypeEnum]):
21
+ direction (Union[Unset, DirectionEnum]):
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
27
+ description (Union[Unset, str]):
28
+ """
29
+
30
+ ethertype: Union[Unset, EthertypeEnum] = UNSET
31
+ direction: Union[Unset, DirectionEnum] = UNSET
32
+ protocol: Union[BlankEnum, ProtocolEnum, Unset] = UNSET
33
+ from_port: Union[None, Unset, int] = UNSET
34
+ to_port: Union[None, Unset, int] = UNSET
35
+ cidr: Union[None, Unset, str] = UNSET
36
+ description: Union[Unset, str] = UNSET
37
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
38
+
39
+ def to_dict(self) -> dict[str, Any]:
40
+ ethertype: Union[Unset, str] = UNSET
41
+ if not isinstance(self.ethertype, Unset):
42
+ ethertype = self.ethertype.value
43
+
44
+ direction: Union[Unset, str] = UNSET
45
+ if not isinstance(self.direction, Unset):
46
+ direction = self.direction.value
47
+
48
+ protocol: Union[Unset, str]
49
+ if isinstance(self.protocol, Unset):
50
+ protocol = UNSET
51
+ elif isinstance(self.protocol, ProtocolEnum):
52
+ protocol = self.protocol.value
53
+ else:
54
+ protocol = self.protocol.value
55
+
56
+ from_port: Union[None, Unset, int]
57
+ if isinstance(self.from_port, Unset):
58
+ from_port = UNSET
59
+ else:
60
+ from_port = self.from_port
61
+
62
+ to_port: Union[None, Unset, int]
63
+ if isinstance(self.to_port, Unset):
64
+ to_port = UNSET
65
+ else:
66
+ to_port = self.to_port
67
+
68
+ cidr: Union[None, Unset, str]
69
+ if isinstance(self.cidr, Unset):
70
+ cidr = UNSET
71
+ else:
72
+ cidr = self.cidr
73
+
74
+ description = self.description
75
+
76
+ field_dict: dict[str, Any] = {}
77
+ field_dict.update(self.additional_properties)
78
+ field_dict.update({})
79
+ if ethertype is not UNSET:
80
+ field_dict["ethertype"] = ethertype
81
+ if direction is not UNSET:
82
+ field_dict["direction"] = direction
83
+ if protocol is not UNSET:
84
+ field_dict["protocol"] = protocol
85
+ if from_port is not UNSET:
86
+ field_dict["from_port"] = from_port
87
+ if to_port is not UNSET:
88
+ field_dict["to_port"] = to_port
89
+ if cidr is not UNSET:
90
+ field_dict["cidr"] = cidr
91
+ if description is not UNSET:
92
+ field_dict["description"] = description
93
+
94
+ return field_dict
95
+
96
+ @classmethod
97
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
98
+ d = dict(src_dict)
99
+ _ethertype = d.pop("ethertype", UNSET)
100
+ ethertype: Union[Unset, EthertypeEnum]
101
+ if isinstance(_ethertype, Unset):
102
+ ethertype = UNSET
103
+ else:
104
+ ethertype = EthertypeEnum(_ethertype)
105
+
106
+ _direction = d.pop("direction", UNSET)
107
+ direction: Union[Unset, DirectionEnum]
108
+ if isinstance(_direction, Unset):
109
+ direction = UNSET
110
+ else:
111
+ direction = DirectionEnum(_direction)
112
+
113
+ def _parse_protocol(data: object) -> Union[BlankEnum, ProtocolEnum, Unset]:
114
+ if isinstance(data, Unset):
115
+ return data
116
+ try:
117
+ if not isinstance(data, str):
118
+ raise TypeError()
119
+ protocol_type_0 = ProtocolEnum(data)
120
+
121
+ return protocol_type_0
122
+ except: # noqa: E722
123
+ pass
124
+ if not isinstance(data, str):
125
+ raise TypeError()
126
+ protocol_type_1 = BlankEnum(data)
127
+
128
+ return protocol_type_1
129
+
130
+ protocol = _parse_protocol(d.pop("protocol", UNSET))
131
+
132
+ def _parse_from_port(data: object) -> Union[None, Unset, int]:
133
+ if data is None:
134
+ return data
135
+ if isinstance(data, Unset):
136
+ return data
137
+ return cast(Union[None, Unset, int], data)
138
+
139
+ from_port = _parse_from_port(d.pop("from_port", UNSET))
140
+
141
+ def _parse_to_port(data: object) -> Union[None, Unset, int]:
142
+ if data is None:
143
+ return data
144
+ if isinstance(data, Unset):
145
+ return data
146
+ return cast(Union[None, Unset, int], data)
147
+
148
+ to_port = _parse_to_port(d.pop("to_port", UNSET))
149
+
150
+ def _parse_cidr(data: object) -> Union[None, Unset, str]:
151
+ if data is None:
152
+ return data
153
+ if isinstance(data, Unset):
154
+ return data
155
+ return cast(Union[None, Unset, str], data)
156
+
157
+ cidr = _parse_cidr(d.pop("cidr", UNSET))
158
+
159
+ description = d.pop("description", UNSET)
160
+
161
+ nested_security_group_rule_request = cls(
162
+ ethertype=ethertype,
163
+ direction=direction,
164
+ protocol=protocol,
165
+ from_port=from_port,
166
+ to_port=to_port,
167
+ cidr=cidr,
168
+ description=description,
169
+ )
170
+
171
+ nested_security_group_rule_request.additional_properties = d
172
+ return nested_security_group_rule_request
173
+
174
+ @property
175
+ def additional_keys(self) -> list[str]:
176
+ return list(self.additional_properties.keys())
177
+
178
+ def __getitem__(self, key: str) -> Any:
179
+ return self.additional_properties[key]
180
+
181
+ def __setitem__(self, key: str, value: Any) -> None:
182
+ self.additional_properties[key] = value
183
+
184
+ def __delitem__(self, key: str) -> None:
185
+ del self.additional_properties[key]
186
+
187
+ def __contains__(self, key: str) -> bool:
188
+ return key in self.additional_properties
@@ -42,8 +42,6 @@ class Offering:
42
42
  slug (Union[Unset, str]):
43
43
  description (Union[Unset, str]):
44
44
  full_description (Union[Unset, str]):
45
- terms_of_service (Union[Unset, str]):
46
- terms_of_service_link (Union[Unset, str]):
47
45
  privacy_policy_link (Union[Unset, str]):
48
46
  access_url (Union[Unset, str]): Publicly accessible offering access URL
49
47
  endpoints (Union[Unset, list['NestedEndpoint']]):
@@ -107,8 +105,6 @@ class Offering:
107
105
  slug: Union[Unset, str] = UNSET
108
106
  description: Union[Unset, str] = UNSET
109
107
  full_description: Union[Unset, str] = UNSET
110
- terms_of_service: Union[Unset, str] = UNSET
111
- terms_of_service_link: Union[Unset, str] = UNSET
112
108
  privacy_policy_link: Union[Unset, str] = UNSET
113
109
  access_url: Union[Unset, str] = UNSET
114
110
  endpoints: Union[Unset, list["NestedEndpoint"]] = UNSET
@@ -184,10 +180,6 @@ class Offering:
184
180
 
185
181
  full_description = self.full_description
186
182
 
187
- terms_of_service = self.terms_of_service
188
-
189
- terms_of_service_link = self.terms_of_service_link
190
-
191
183
  privacy_policy_link = self.privacy_policy_link
192
184
 
193
185
  access_url = self.access_url
@@ -465,10 +457,6 @@ class Offering:
465
457
  field_dict["description"] = description
466
458
  if full_description is not UNSET:
467
459
  field_dict["full_description"] = full_description
468
- if terms_of_service is not UNSET:
469
- field_dict["terms_of_service"] = terms_of_service
470
- if terms_of_service_link is not UNSET:
471
- field_dict["terms_of_service_link"] = terms_of_service_link
472
460
  if privacy_policy_link is not UNSET:
473
461
  field_dict["privacy_policy_link"] = privacy_policy_link
474
462
  if access_url is not UNSET:
@@ -620,10 +608,6 @@ class Offering:
620
608
 
621
609
  full_description = d.pop("full_description", UNSET)
622
610
 
623
- terms_of_service = d.pop("terms_of_service", UNSET)
624
-
625
- terms_of_service_link = d.pop("terms_of_service_link", UNSET)
626
-
627
611
  privacy_policy_link = d.pop("privacy_policy_link", UNSET)
628
612
 
629
613
  access_url = d.pop("access_url", UNSET)
@@ -1020,8 +1004,6 @@ class Offering:
1020
1004
  slug=slug,
1021
1005
  description=description,
1022
1006
  full_description=full_description,
1023
- terms_of_service=terms_of_service,
1024
- terms_of_service_link=terms_of_service_link,
1025
1007
  privacy_policy_link=privacy_policy_link,
1026
1008
  access_url=access_url,
1027
1009
  endpoints=endpoints,
@@ -76,8 +76,6 @@ class OfferingCreate:
76
76
  has_compliance_requirements (bool):
77
77
  description (Union[Unset, str]):
78
78
  full_description (Union[Unset, str]):
79
- terms_of_service (Union[Unset, str]):
80
- terms_of_service_link (Union[Unset, str]):
81
79
  privacy_policy_link (Union[Unset, str]):
82
80
  access_url (Union[Unset, str]): Publicly accessible offering access URL
83
81
  customer (Union[None, Unset, str]):
@@ -142,8 +140,6 @@ class OfferingCreate:
142
140
  has_compliance_requirements: bool
143
141
  description: Union[Unset, str] = UNSET
144
142
  full_description: Union[Unset, str] = UNSET
145
- terms_of_service: Union[Unset, str] = UNSET
146
- terms_of_service_link: Union[Unset, str] = UNSET
147
143
  privacy_policy_link: Union[Unset, str] = UNSET
148
144
  access_url: Union[Unset, str] = UNSET
149
145
  customer: Union[None, Unset, str] = UNSET
@@ -301,10 +297,6 @@ class OfferingCreate:
301
297
 
302
298
  full_description = self.full_description
303
299
 
304
- terms_of_service = self.terms_of_service
305
-
306
- terms_of_service_link = self.terms_of_service_link
307
-
308
300
  privacy_policy_link = self.privacy_policy_link
309
301
 
310
302
  access_url = self.access_url
@@ -436,10 +428,6 @@ class OfferingCreate:
436
428
  field_dict["description"] = description
437
429
  if full_description is not UNSET:
438
430
  field_dict["full_description"] = full_description
439
- if terms_of_service is not UNSET:
440
- field_dict["terms_of_service"] = terms_of_service
441
- if terms_of_service_link is not UNSET:
442
- field_dict["terms_of_service_link"] = terms_of_service_link
443
431
  if privacy_policy_link is not UNSET:
444
432
  field_dict["privacy_policy_link"] = privacy_policy_link
445
433
  if access_url is not UNSET:
@@ -736,10 +724,6 @@ class OfferingCreate:
736
724
 
737
725
  full_description = d.pop("full_description", UNSET)
738
726
 
739
- terms_of_service = d.pop("terms_of_service", UNSET)
740
-
741
- terms_of_service_link = d.pop("terms_of_service_link", UNSET)
742
-
743
727
  privacy_policy_link = d.pop("privacy_policy_link", UNSET)
744
728
 
745
729
  access_url = d.pop("access_url", UNSET)
@@ -896,8 +880,6 @@ class OfferingCreate:
896
880
  has_compliance_requirements=has_compliance_requirements,
897
881
  description=description,
898
882
  full_description=full_description,
899
- terms_of_service=terms_of_service,
900
- terms_of_service_link=terms_of_service_link,
901
883
  privacy_policy_link=privacy_policy_link,
902
884
  access_url=access_url,
903
885
  customer=customer,
@@ -29,8 +29,6 @@ class OfferingCreateRequest:
29
29
  type_ (str):
30
30
  description (Union[Unset, str]):
31
31
  full_description (Union[Unset, str]):
32
- terms_of_service (Union[Unset, str]):
33
- terms_of_service_link (Union[Unset, str]):
34
32
  privacy_policy_link (Union[Unset, str]):
35
33
  access_url (Union[Unset, str]): Publicly accessible offering access URL
36
34
  customer (Union[None, Unset, str]):
@@ -60,8 +58,6 @@ class OfferingCreateRequest:
60
58
  type_: str
61
59
  description: Union[Unset, str] = UNSET
62
60
  full_description: Union[Unset, str] = UNSET
63
- terms_of_service: Union[Unset, str] = UNSET
64
- terms_of_service_link: Union[Unset, str] = UNSET
65
61
  privacy_policy_link: Union[Unset, str] = UNSET
66
62
  access_url: Union[Unset, str] = UNSET
67
63
  customer: Union[None, Unset, str] = UNSET
@@ -97,10 +93,6 @@ class OfferingCreateRequest:
97
93
 
98
94
  full_description = self.full_description
99
95
 
100
- terms_of_service = self.terms_of_service
101
-
102
- terms_of_service_link = self.terms_of_service_link
103
-
104
96
  privacy_policy_link = self.privacy_policy_link
105
97
 
106
98
  access_url = self.access_url
@@ -206,10 +198,6 @@ class OfferingCreateRequest:
206
198
  field_dict["description"] = description
207
199
  if full_description is not UNSET:
208
200
  field_dict["full_description"] = full_description
209
- if terms_of_service is not UNSET:
210
- field_dict["terms_of_service"] = terms_of_service
211
- if terms_of_service_link is not UNSET:
212
- field_dict["terms_of_service_link"] = terms_of_service_link
213
201
  if privacy_policy_link is not UNSET:
214
202
  field_dict["privacy_policy_link"] = privacy_policy_link
215
203
  if access_url is not UNSET:
@@ -275,10 +263,6 @@ class OfferingCreateRequest:
275
263
 
276
264
  full_description = d.pop("full_description", UNSET)
277
265
 
278
- terms_of_service = d.pop("terms_of_service", UNSET)
279
-
280
- terms_of_service_link = d.pop("terms_of_service_link", UNSET)
281
-
282
266
  privacy_policy_link = d.pop("privacy_policy_link", UNSET)
283
267
 
284
268
  access_url = d.pop("access_url", UNSET)
@@ -422,8 +406,6 @@ class OfferingCreateRequest:
422
406
  type_=type_,
423
407
  description=description,
424
408
  full_description=full_description,
425
- terms_of_service=terms_of_service,
426
- terms_of_service_link=terms_of_service_link,
427
409
  privacy_policy_link=privacy_policy_link,
428
410
  access_url=access_url,
429
411
  customer=customer,
@@ -16,8 +16,6 @@ class OfferingOverviewUpdateRequest:
16
16
  name (str):
17
17
  description (Union[Unset, str]):
18
18
  full_description (Union[Unset, str]):
19
- terms_of_service (Union[Unset, str]):
20
- terms_of_service_link (Union[Unset, str]):
21
19
  privacy_policy_link (Union[Unset, str]):
22
20
  access_url (Union[Unset, str]): Publicly accessible offering access URL
23
21
  getting_started (Union[Unset, str]):
@@ -27,8 +25,6 @@ class OfferingOverviewUpdateRequest:
27
25
  name: str
28
26
  description: Union[Unset, str] = UNSET
29
27
  full_description: Union[Unset, str] = UNSET
30
- terms_of_service: Union[Unset, str] = UNSET
31
- terms_of_service_link: Union[Unset, str] = UNSET
32
28
  privacy_policy_link: Union[Unset, str] = UNSET
33
29
  access_url: Union[Unset, str] = UNSET
34
30
  getting_started: Union[Unset, str] = UNSET
@@ -42,10 +38,6 @@ class OfferingOverviewUpdateRequest:
42
38
 
43
39
  full_description = self.full_description
44
40
 
45
- terms_of_service = self.terms_of_service
46
-
47
- terms_of_service_link = self.terms_of_service_link
48
-
49
41
  privacy_policy_link = self.privacy_policy_link
50
42
 
51
43
  access_url = self.access_url
@@ -65,10 +57,6 @@ class OfferingOverviewUpdateRequest:
65
57
  field_dict["description"] = description
66
58
  if full_description is not UNSET:
67
59
  field_dict["full_description"] = full_description
68
- if terms_of_service is not UNSET:
69
- field_dict["terms_of_service"] = terms_of_service
70
- if terms_of_service_link is not UNSET:
71
- field_dict["terms_of_service_link"] = terms_of_service_link
72
60
  if privacy_policy_link is not UNSET:
73
61
  field_dict["privacy_policy_link"] = privacy_policy_link
74
62
  if access_url is not UNSET:
@@ -89,10 +77,6 @@ class OfferingOverviewUpdateRequest:
89
77
 
90
78
  full_description = d.pop("full_description", UNSET)
91
79
 
92
- terms_of_service = d.pop("terms_of_service", UNSET)
93
-
94
- terms_of_service_link = d.pop("terms_of_service_link", UNSET)
95
-
96
80
  privacy_policy_link = d.pop("privacy_policy_link", UNSET)
97
81
 
98
82
  access_url = d.pop("access_url", UNSET)
@@ -105,8 +89,6 @@ class OfferingOverviewUpdateRequest:
105
89
  name=name,
106
90
  description=description,
107
91
  full_description=full_description,
108
- terms_of_service=terms_of_service,
109
- terms_of_service_link=terms_of_service_link,
110
92
  privacy_policy_link=privacy_policy_link,
111
93
  access_url=access_url,
112
94
  getting_started=getting_started,
@@ -0,0 +1,142 @@
1
+ import datetime
2
+ from collections.abc import Mapping
3
+ from typing import Any, TypeVar, Union
4
+ from uuid import UUID
5
+
6
+ from attrs import define as _attrs_define
7
+ from attrs import field as _attrs_field
8
+ from dateutil.parser import isoparse
9
+
10
+ from ..types import UNSET, Unset
11
+
12
+ T = TypeVar("T", bound="OfferingTermsOfService")
13
+
14
+
15
+ @_attrs_define
16
+ class OfferingTermsOfService:
17
+ """
18
+ Attributes:
19
+ uuid (UUID):
20
+ offering_uuid (UUID):
21
+ offering_name (str):
22
+ created (datetime.datetime):
23
+ modified (datetime.datetime):
24
+ terms_of_service (Union[Unset, str]):
25
+ terms_of_service_link (Union[Unset, str]):
26
+ version (Union[Unset, str]):
27
+ is_active (Union[Unset, bool]):
28
+ requires_reconsent (Union[Unset, bool]): If True, user will be asked to re-consent to the terms of service when
29
+ the terms of service are updated.
30
+ """
31
+
32
+ uuid: UUID
33
+ offering_uuid: UUID
34
+ offering_name: str
35
+ created: datetime.datetime
36
+ modified: datetime.datetime
37
+ terms_of_service: Union[Unset, str] = UNSET
38
+ terms_of_service_link: Union[Unset, str] = UNSET
39
+ version: Union[Unset, str] = UNSET
40
+ is_active: Union[Unset, bool] = UNSET
41
+ requires_reconsent: Union[Unset, bool] = UNSET
42
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
43
+
44
+ def to_dict(self) -> dict[str, Any]:
45
+ uuid = str(self.uuid)
46
+
47
+ offering_uuid = str(self.offering_uuid)
48
+
49
+ offering_name = self.offering_name
50
+
51
+ created = self.created.isoformat()
52
+
53
+ modified = self.modified.isoformat()
54
+
55
+ terms_of_service = self.terms_of_service
56
+
57
+ terms_of_service_link = self.terms_of_service_link
58
+
59
+ version = self.version
60
+
61
+ is_active = self.is_active
62
+
63
+ requires_reconsent = self.requires_reconsent
64
+
65
+ field_dict: dict[str, Any] = {}
66
+ field_dict.update(self.additional_properties)
67
+ field_dict.update(
68
+ {
69
+ "uuid": uuid,
70
+ "offering_uuid": offering_uuid,
71
+ "offering_name": offering_name,
72
+ "created": created,
73
+ "modified": modified,
74
+ }
75
+ )
76
+ if terms_of_service is not UNSET:
77
+ field_dict["terms_of_service"] = terms_of_service
78
+ if terms_of_service_link is not UNSET:
79
+ field_dict["terms_of_service_link"] = terms_of_service_link
80
+ if version is not UNSET:
81
+ field_dict["version"] = version
82
+ if is_active is not UNSET:
83
+ field_dict["is_active"] = is_active
84
+ if requires_reconsent is not UNSET:
85
+ field_dict["requires_reconsent"] = requires_reconsent
86
+
87
+ return field_dict
88
+
89
+ @classmethod
90
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
91
+ d = dict(src_dict)
92
+ uuid = UUID(d.pop("uuid"))
93
+
94
+ offering_uuid = UUID(d.pop("offering_uuid"))
95
+
96
+ offering_name = d.pop("offering_name")
97
+
98
+ created = isoparse(d.pop("created"))
99
+
100
+ modified = isoparse(d.pop("modified"))
101
+
102
+ terms_of_service = d.pop("terms_of_service", UNSET)
103
+
104
+ terms_of_service_link = d.pop("terms_of_service_link", UNSET)
105
+
106
+ version = d.pop("version", UNSET)
107
+
108
+ is_active = d.pop("is_active", UNSET)
109
+
110
+ requires_reconsent = d.pop("requires_reconsent", UNSET)
111
+
112
+ offering_terms_of_service = cls(
113
+ uuid=uuid,
114
+ offering_uuid=offering_uuid,
115
+ offering_name=offering_name,
116
+ created=created,
117
+ modified=modified,
118
+ terms_of_service=terms_of_service,
119
+ terms_of_service_link=terms_of_service_link,
120
+ version=version,
121
+ is_active=is_active,
122
+ requires_reconsent=requires_reconsent,
123
+ )
124
+
125
+ offering_terms_of_service.additional_properties = d
126
+ return offering_terms_of_service
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,107 @@
1
+ from collections.abc import Mapping
2
+ from typing import Any, TypeVar, Union
3
+
4
+ from attrs import define as _attrs_define
5
+ from attrs import field as _attrs_field
6
+
7
+ from ..types import UNSET, Unset
8
+
9
+ T = TypeVar("T", bound="OfferingTermsOfServiceCreate")
10
+
11
+
12
+ @_attrs_define
13
+ class OfferingTermsOfServiceCreate:
14
+ """
15
+ Attributes:
16
+ offering (str):
17
+ terms_of_service (Union[Unset, str]):
18
+ terms_of_service_link (Union[Unset, str]):
19
+ version (Union[Unset, str]):
20
+ is_active (Union[Unset, bool]):
21
+ requires_reconsent (Union[Unset, bool]): If True, user will be asked to re-consent to the terms of service when
22
+ the terms of service are updated.
23
+ """
24
+
25
+ offering: str
26
+ terms_of_service: Union[Unset, str] = UNSET
27
+ terms_of_service_link: Union[Unset, str] = UNSET
28
+ version: Union[Unset, str] = UNSET
29
+ is_active: Union[Unset, bool] = UNSET
30
+ requires_reconsent: Union[Unset, bool] = UNSET
31
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
32
+
33
+ def to_dict(self) -> dict[str, Any]:
34
+ offering = self.offering
35
+
36
+ terms_of_service = self.terms_of_service
37
+
38
+ terms_of_service_link = self.terms_of_service_link
39
+
40
+ version = self.version
41
+
42
+ is_active = self.is_active
43
+
44
+ requires_reconsent = self.requires_reconsent
45
+
46
+ field_dict: dict[str, Any] = {}
47
+ field_dict.update(self.additional_properties)
48
+ field_dict.update(
49
+ {
50
+ "offering": offering,
51
+ }
52
+ )
53
+ if terms_of_service is not UNSET:
54
+ field_dict["terms_of_service"] = terms_of_service
55
+ if terms_of_service_link is not UNSET:
56
+ field_dict["terms_of_service_link"] = terms_of_service_link
57
+ if version is not UNSET:
58
+ field_dict["version"] = version
59
+ if is_active is not UNSET:
60
+ field_dict["is_active"] = is_active
61
+ if requires_reconsent is not UNSET:
62
+ field_dict["requires_reconsent"] = requires_reconsent
63
+
64
+ return field_dict
65
+
66
+ @classmethod
67
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
68
+ d = dict(src_dict)
69
+ offering = d.pop("offering")
70
+
71
+ terms_of_service = d.pop("terms_of_service", UNSET)
72
+
73
+ terms_of_service_link = d.pop("terms_of_service_link", UNSET)
74
+
75
+ version = d.pop("version", UNSET)
76
+
77
+ is_active = d.pop("is_active", UNSET)
78
+
79
+ requires_reconsent = d.pop("requires_reconsent", UNSET)
80
+
81
+ offering_terms_of_service_create = cls(
82
+ offering=offering,
83
+ terms_of_service=terms_of_service,
84
+ terms_of_service_link=terms_of_service_link,
85
+ version=version,
86
+ is_active=is_active,
87
+ requires_reconsent=requires_reconsent,
88
+ )
89
+
90
+ offering_terms_of_service_create.additional_properties = d
91
+ return offering_terms_of_service_create
92
+
93
+ @property
94
+ def additional_keys(self) -> list[str]:
95
+ return list(self.additional_properties.keys())
96
+
97
+ def __getitem__(self, key: str) -> Any:
98
+ return self.additional_properties[key]
99
+
100
+ def __setitem__(self, key: str, value: Any) -> None:
101
+ self.additional_properties[key] = value
102
+
103
+ def __delitem__(self, key: str) -> None:
104
+ del self.additional_properties[key]
105
+
106
+ def __contains__(self, key: str) -> bool:
107
+ return key in self.additional_properties