waldur-api-client 7.7.5__py3-none-any.whl → 7.7.7__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/booking_resources/booking_resources_count.py +34 -11
- waldur_api_client/api/booking_resources/booking_resources_list.py +34 -11
- waldur_api_client/api/customers/customers_project_metadata_compliance_details_list.py +189 -0
- waldur_api_client/api/customers/customers_project_metadata_compliance_overview_list.py +189 -0
- waldur_api_client/api/customers/customers_project_metadata_compliance_projects_list.py +187 -0
- waldur_api_client/api/customers/customers_project_metadata_question_answers_list.py +187 -0
- waldur_api_client/api/marketplace_integration_statuses/marketplace_integration_statuses_count.py +34 -11
- waldur_api_client/api/marketplace_integration_statuses/marketplace_integration_statuses_list.py +34 -11
- waldur_api_client/api/marketplace_offering_files/marketplace_offering_files_count.py +34 -11
- waldur_api_client/api/marketplace_offering_files/marketplace_offering_files_list.py +34 -11
- waldur_api_client/api/marketplace_offering_terms_of_service/__init__.py +1 -0
- waldur_api_client/api/marketplace_offering_terms_of_service/marketplace_offering_terms_of_service_count.py +274 -0
- waldur_api_client/api/marketplace_offering_terms_of_service/marketplace_offering_terms_of_service_create.py +152 -0
- waldur_api_client/api/marketplace_offering_terms_of_service/marketplace_offering_terms_of_service_destroy.py +89 -0
- waldur_api_client/api/marketplace_offering_terms_of_service/marketplace_offering_terms_of_service_list.py +277 -0
- waldur_api_client/api/marketplace_offering_terms_of_service/marketplace_offering_terms_of_service_partial_update.py +164 -0
- waldur_api_client/api/marketplace_offering_terms_of_service/marketplace_offering_terms_of_service_retrieve.py +142 -0
- waldur_api_client/api/marketplace_offering_terms_of_service/marketplace_offering_terms_of_service_update.py +164 -0
- waldur_api_client/api/marketplace_offering_user_roles/marketplace_offering_user_roles_count.py +34 -11
- waldur_api_client/api/marketplace_offering_user_roles/marketplace_offering_user_roles_list.py +34 -11
- 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_count.py +34 -11
- waldur_api_client/api/marketplace_offering_users/marketplace_offering_users_list.py +34 -11
- waldur_api_client/api/marketplace_offering_users/marketplace_offering_users_submit_answers.py +179 -0
- waldur_api_client/api/marketplace_orders/marketplace_orders_count.py +19 -0
- waldur_api_client/api/marketplace_orders/marketplace_orders_list.py +19 -0
- waldur_api_client/api/marketplace_plans/marketplace_plans_count.py +19 -0
- waldur_api_client/api/marketplace_plans/marketplace_plans_list.py +19 -0
- waldur_api_client/api/marketplace_plans/marketplace_plans_usage_stats_count.py +19 -0
- waldur_api_client/api/marketplace_plans/marketplace_plans_usage_stats_list.py +19 -0
- waldur_api_client/api/marketplace_provider_resources/marketplace_provider_resources_count.py +34 -11
- waldur_api_client/api/marketplace_provider_resources/marketplace_provider_resources_list.py +34 -11
- waldur_api_client/api/marketplace_resources/marketplace_resources_count.py +34 -11
- waldur_api_client/api/marketplace_resources/marketplace_resources_list.py +34 -11
- 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_screenshots/marketplace_screenshots_count.py +34 -11
- waldur_api_client/api/marketplace_screenshots/marketplace_screenshots_list.py +34 -11
- 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/marketplace_user_offering_consents/__init__.py +1 -0
- waldur_api_client/api/marketplace_user_offering_consents/marketplace_user_offering_consents_count.py +307 -0
- waldur_api_client/api/marketplace_user_offering_consents/marketplace_user_offering_consents_create.py +152 -0
- waldur_api_client/api/marketplace_user_offering_consents/marketplace_user_offering_consents_destroy.py +89 -0
- waldur_api_client/api/marketplace_user_offering_consents/marketplace_user_offering_consents_list.py +310 -0
- waldur_api_client/api/marketplace_user_offering_consents/marketplace_user_offering_consents_partial_update.py +164 -0
- waldur_api_client/api/marketplace_user_offering_consents/marketplace_user_offering_consents_retrieve.py +142 -0
- waldur_api_client/api/marketplace_user_offering_consents/marketplace_user_offering_consents_revoke.py +146 -0
- waldur_api_client/api/marketplace_user_offering_consents/marketplace_user_offering_consents_update.py +164 -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/api/remote_waldur_api/remote_waldur_api_remote_resource_order_status_retrieve.py +145 -0
- waldur_api_client/api/remote_waldur_api/remote_waldur_api_remote_resource_status_retrieve.py +147 -0
- waldur_api_client/api/remote_waldur_api/remote_waldur_api_remote_resource_team_status_list.py +188 -0
- waldur_api_client/models/__init__.py +118 -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 +83 -0
- waldur_api_client/models/azure_virtual_machine_create_order_attributes.py +99 -0
- waldur_api_client/models/basic_user.py +30 -21
- waldur_api_client/models/booking_offerings_list_field_item.py +1 -2
- waldur_api_client/models/booking_offerings_retrieve_field_item.py +1 -2
- waldur_api_client/models/booking_resource.py +10 -9
- waldur_api_client/models/booking_resources_list_field_item.py +1 -1
- waldur_api_client/models/booking_resources_retrieve_field_item.py +1 -1
- waldur_api_client/models/checklist_info.py +76 -0
- waldur_api_client/models/compliance_overview.py +91 -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 +51 -0
- waldur_api_client/models/customers_list_field_item.py +2 -0
- waldur_api_client/models/customers_retrieve_field_item.py +2 -0
- waldur_api_client/models/fingerprint.py +19 -17
- waldur_api_client/models/generic_order_attributes.py +69 -0
- waldur_api_client/models/google_auth_authorize_retrieve_field_item.py +1 -0
- waldur_api_client/models/google_auth_list_field_item.py +1 -0
- waldur_api_client/models/google_auth_retrieve_field_item.py +1 -0
- waldur_api_client/models/google_credentials.py +9 -0
- waldur_api_client/models/group_invitation.py +24 -0
- waldur_api_client/models/group_invitation_request.py +10 -0
- waldur_api_client/models/instance_flavor_change_request.py +1 -1
- waldur_api_client/models/maintenance_announcement.py +8 -0
- waldur_api_client/models/marketplace_managed_rancher_create_order_attributes.py +144 -0
- waldur_api_client/models/marketplace_offering_terms_of_service_count_o_item.py +13 -0
- waldur_api_client/models/marketplace_offering_terms_of_service_list_o_item.py +13 -0
- waldur_api_client/models/marketplace_orders_list_field_item.py +1 -1
- waldur_api_client/models/marketplace_orders_retrieve_field_item.py +1 -1
- waldur_api_client/models/marketplace_provider_offerings_list_customer_service_accounts_retrieve_field_item.py +1 -2
- waldur_api_client/models/marketplace_provider_offerings_list_field_item.py +1 -2
- waldur_api_client/models/marketplace_provider_offerings_list_project_service_accounts_retrieve_field_item.py +1 -2
- waldur_api_client/models/marketplace_provider_offerings_retrieve_field_item.py +1 -2
- waldur_api_client/models/marketplace_provider_offerings_stats_retrieve_field_item.py +1 -2
- waldur_api_client/models/marketplace_provider_offerings_user_has_resource_access_retrieve_field_item.py +1 -2
- waldur_api_client/models/marketplace_provider_resources_details_retrieve_field_item.py +1 -1
- waldur_api_client/models/marketplace_provider_resources_list_field_item.py +1 -1
- waldur_api_client/models/marketplace_provider_resources_retrieve_field_item.py +1 -1
- waldur_api_client/models/marketplace_public_offerings_list_field_item.py +1 -2
- waldur_api_client/models/marketplace_public_offerings_retrieve_field_item.py +1 -2
- waldur_api_client/models/marketplace_rancher_create_order_attributes.py +145 -0
- waldur_api_client/models/marketplace_resources_details_retrieve_field_item.py +1 -1
- waldur_api_client/models/marketplace_resources_list_field_item.py +1 -1
- waldur_api_client/models/marketplace_resources_retrieve_field_item.py +1 -1
- 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/marketplace_service_providers_list_field_item.py +1 -0
- waldur_api_client/models/marketplace_service_providers_retrieve_field_item.py +1 -0
- waldur_api_client/models/marketplace_user_offering_consents_count_o_item.py +15 -0
- waldur_api_client/models/marketplace_user_offering_consents_list_o_item.py +15 -0
- waldur_api_client/models/offering.py +9 -18
- waldur_api_client/models/offering_create.py +8 -18
- waldur_api_client/models/offering_create_request.py +0 -18
- waldur_api_client/models/offering_overview_update_request.py +0 -18
- waldur_api_client/models/offering_terms_of_service.py +142 -0
- waldur_api_client/models/offering_terms_of_service_create.py +107 -0
- waldur_api_client/models/offering_terms_of_service_create_request.py +107 -0
- waldur_api_client/models/offering_terms_of_service_request.py +96 -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 +283 -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 +16 -16
- waldur_api_client/models/open_stack_nested_security_group_request.py +59 -0
- waldur_api_client/models/{nested_security_group_rule_request.py → open_stack_nested_security_group_rules_item.py} +73 -63
- 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 +23 -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 +10 -9
- 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 +41 -3
- waldur_api_client/models/open_stack_tenant_create_order_attributes.py +130 -0
- waldur_api_client/models/open_stack_volume.py +9 -9
- waldur_api_client/models/open_stack_volume_create_order_attributes.py +155 -0
- waldur_api_client/models/open_stack_volume_request.py +1 -1
- waldur_api_client/models/openstack_networks_list_field_item.py +1 -0
- waldur_api_client/models/openstack_networks_retrieve_field_item.py +1 -0
- waldur_api_client/models/openstack_tenants_list_field_item.py +3 -0
- waldur_api_client/models/openstack_tenants_retrieve_field_item.py +3 -0
- waldur_api_client/models/order_create.py +0 -8
- waldur_api_client/models/order_create_request.py +181 -4
- waldur_api_client/models/order_details.py +0 -9
- waldur_api_client/models/patched_offering_terms_of_service_request.py +96 -0
- 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/patched_user_offering_consent_request.py +59 -0
- waldur_api_client/models/permission_project.py +147 -0
- waldur_api_client/models/permission_request.py +2 -2
- waldur_api_client/models/project_answer.py +122 -0
- waldur_api_client/models/project_detail.py +133 -0
- waldur_api_client/models/project_details_response.py +115 -0
- waldur_api_client/models/provider_offering_details.py +9 -18
- waldur_api_client/models/provider_offering_details_request.py +0 -18
- 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 -18
- waldur_api_client/models/question_answer.py +176 -0
- waldur_api_client/models/question_answer_project_answers_item.py +44 -0
- waldur_api_client/models/question_answer_question_options_item.py +44 -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/remote_resource_order.py +88 -0
- waldur_api_client/models/remote_resource_order_remote_state_enum.py +15 -0
- waldur_api_client/models/remote_resource_sync_status.py +123 -0
- waldur_api_client/models/remote_resource_sync_status_remote_state_enum.py +13 -0
- waldur_api_client/models/remote_resource_team_member.py +85 -0
- waldur_api_client/models/resource.py +10 -9
- waldur_api_client/models/robot_account_details.py +226 -144
- waldur_api_client/models/service_provider.py +9 -0
- 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 +75 -0
- waldur_api_client/models/sync_status_enum.py +10 -0
- waldur_api_client/models/user_offering_consent.py +202 -0
- waldur_api_client/models/user_offering_consent_create.py +60 -0
- waldur_api_client/models/user_offering_consent_create_request.py +60 -0
- waldur_api_client/models/user_offering_consent_request.py +59 -0
- waldur_api_client/models/v_mware_virtual_machine_create_order_attributes.py +228 -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.7.dist-info}/METADATA +1 -1
- {waldur_api_client-7.7.5.dist-info → waldur_api_client-7.7.7.dist-info}/RECORD +228 -138
- waldur_api_client/models/nested_security_group_rule.py +0 -222
- {waldur_api_client-7.7.5.dist-info → waldur_api_client-7.7.7.dist-info}/LICENSE +0 -0
- {waldur_api_client-7.7.5.dist-info → waldur_api_client-7.7.7.dist-info}/WHEEL +0 -0
|
@@ -46,11 +46,14 @@ class OpenStackTenant:
|
|
|
46
46
|
state (Union[Unset, CoreStates]):
|
|
47
47
|
created (Union[Unset, datetime.datetime]):
|
|
48
48
|
modified (Union[Unset, datetime.datetime]):
|
|
49
|
-
backend_id (Union[None, Unset, str]):
|
|
49
|
+
backend_id (Union[None, Unset, str]): ID of tenant in the OpenStack backend
|
|
50
|
+
access_url (Union[None, Unset, str]):
|
|
50
51
|
availability_zone (Union[Unset, str]): Optional availability group. Will be used for all instances provisioned
|
|
51
52
|
in this tenant
|
|
52
|
-
internal_network_id (Union[Unset, str]):
|
|
53
|
-
external_network_id (Union[Unset, str]):
|
|
53
|
+
internal_network_id (Union[Unset, str]): ID of internal network in OpenStack tenant
|
|
54
|
+
external_network_id (Union[Unset, str]): ID of external network connected to OpenStack tenant
|
|
55
|
+
user_username (Union[Unset, str]): Username of the tenant user
|
|
56
|
+
user_password (Union[Unset, str]): Password of the tenant user
|
|
54
57
|
quotas (Union[Unset, list['Quota']]):
|
|
55
58
|
default_volume_type_name (Union[Unset, str]): Volume type name to use when creating volumes.
|
|
56
59
|
marketplace_offering_uuid (Union[None, Unset, str]):
|
|
@@ -89,9 +92,12 @@ class OpenStackTenant:
|
|
|
89
92
|
created: Union[Unset, datetime.datetime] = UNSET
|
|
90
93
|
modified: Union[Unset, datetime.datetime] = UNSET
|
|
91
94
|
backend_id: Union[None, Unset, str] = UNSET
|
|
95
|
+
access_url: Union[None, Unset, str] = UNSET
|
|
92
96
|
availability_zone: Union[Unset, str] = UNSET
|
|
93
97
|
internal_network_id: Union[Unset, str] = UNSET
|
|
94
98
|
external_network_id: Union[Unset, str] = UNSET
|
|
99
|
+
user_username: Union[Unset, str] = UNSET
|
|
100
|
+
user_password: Union[Unset, str] = UNSET
|
|
95
101
|
quotas: Union[Unset, list["Quota"]] = UNSET
|
|
96
102
|
default_volume_type_name: Union[Unset, str] = UNSET
|
|
97
103
|
marketplace_offering_uuid: Union[None, Unset, str] = UNSET
|
|
@@ -175,12 +181,22 @@ class OpenStackTenant:
|
|
|
175
181
|
else:
|
|
176
182
|
backend_id = self.backend_id
|
|
177
183
|
|
|
184
|
+
access_url: Union[None, Unset, str]
|
|
185
|
+
if isinstance(self.access_url, Unset):
|
|
186
|
+
access_url = UNSET
|
|
187
|
+
else:
|
|
188
|
+
access_url = self.access_url
|
|
189
|
+
|
|
178
190
|
availability_zone = self.availability_zone
|
|
179
191
|
|
|
180
192
|
internal_network_id = self.internal_network_id
|
|
181
193
|
|
|
182
194
|
external_network_id = self.external_network_id
|
|
183
195
|
|
|
196
|
+
user_username = self.user_username
|
|
197
|
+
|
|
198
|
+
user_password = self.user_password
|
|
199
|
+
|
|
184
200
|
quotas: Union[Unset, list[dict[str, Any]]] = UNSET
|
|
185
201
|
if not isinstance(self.quotas, Unset):
|
|
186
202
|
quotas = []
|
|
@@ -301,12 +317,18 @@ class OpenStackTenant:
|
|
|
301
317
|
field_dict["modified"] = modified
|
|
302
318
|
if backend_id is not UNSET:
|
|
303
319
|
field_dict["backend_id"] = backend_id
|
|
320
|
+
if access_url is not UNSET:
|
|
321
|
+
field_dict["access_url"] = access_url
|
|
304
322
|
if availability_zone is not UNSET:
|
|
305
323
|
field_dict["availability_zone"] = availability_zone
|
|
306
324
|
if internal_network_id is not UNSET:
|
|
307
325
|
field_dict["internal_network_id"] = internal_network_id
|
|
308
326
|
if external_network_id is not UNSET:
|
|
309
327
|
field_dict["external_network_id"] = external_network_id
|
|
328
|
+
if user_username is not UNSET:
|
|
329
|
+
field_dict["user_username"] = user_username
|
|
330
|
+
if user_password is not UNSET:
|
|
331
|
+
field_dict["user_password"] = user_password
|
|
310
332
|
if quotas is not UNSET:
|
|
311
333
|
field_dict["quotas"] = quotas
|
|
312
334
|
if default_volume_type_name is not UNSET:
|
|
@@ -425,12 +447,25 @@ class OpenStackTenant:
|
|
|
425
447
|
|
|
426
448
|
backend_id = _parse_backend_id(d.pop("backend_id", UNSET))
|
|
427
449
|
|
|
450
|
+
def _parse_access_url(data: object) -> Union[None, Unset, str]:
|
|
451
|
+
if data is None:
|
|
452
|
+
return data
|
|
453
|
+
if isinstance(data, Unset):
|
|
454
|
+
return data
|
|
455
|
+
return cast(Union[None, Unset, str], data)
|
|
456
|
+
|
|
457
|
+
access_url = _parse_access_url(d.pop("access_url", UNSET))
|
|
458
|
+
|
|
428
459
|
availability_zone = d.pop("availability_zone", UNSET)
|
|
429
460
|
|
|
430
461
|
internal_network_id = d.pop("internal_network_id", UNSET)
|
|
431
462
|
|
|
432
463
|
external_network_id = d.pop("external_network_id", UNSET)
|
|
433
464
|
|
|
465
|
+
user_username = d.pop("user_username", UNSET)
|
|
466
|
+
|
|
467
|
+
user_password = d.pop("user_password", UNSET)
|
|
468
|
+
|
|
434
469
|
quotas = []
|
|
435
470
|
_quotas = d.pop("quotas", UNSET)
|
|
436
471
|
for quotas_item_data in _quotas or []:
|
|
@@ -568,9 +603,12 @@ class OpenStackTenant:
|
|
|
568
603
|
created=created,
|
|
569
604
|
modified=modified,
|
|
570
605
|
backend_id=backend_id,
|
|
606
|
+
access_url=access_url,
|
|
571
607
|
availability_zone=availability_zone,
|
|
572
608
|
internal_network_id=internal_network_id,
|
|
573
609
|
external_network_id=external_network_id,
|
|
610
|
+
user_username=user_username,
|
|
611
|
+
user_password=user_password,
|
|
574
612
|
quotas=quotas,
|
|
575
613
|
default_volume_type_name=default_volume_type_name,
|
|
576
614
|
marketplace_offering_uuid=marketplace_offering_uuid,
|
|
@@ -0,0 +1,130 @@
|
|
|
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="OpenStackTenantCreateOrderAttributes")
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
@_attrs_define
|
|
13
|
+
class OpenStackTenantCreateOrderAttributes:
|
|
14
|
+
"""This mixin allows to specify list of fields to be rendered by serializer.
|
|
15
|
+
It expects that request is available in serializer's context.
|
|
16
|
+
|
|
17
|
+
It is disabled for nested serializers (where parent is another serializer)
|
|
18
|
+
but remains active for list views (where parent is a ListSerializer).
|
|
19
|
+
|
|
20
|
+
Attributes:
|
|
21
|
+
name (str):
|
|
22
|
+
description (Union[Unset, str]):
|
|
23
|
+
user_username (Union[Unset, str]): Username of the tenant user
|
|
24
|
+
user_password (Union[Unset, str]): Password of the tenant user
|
|
25
|
+
subnet_cidr (Union[Unset, str]): Default: '192.168.42.0/24'.
|
|
26
|
+
skip_connection_extnet (Union[Unset, bool]): Default: False.
|
|
27
|
+
skip_creation_of_default_router (Union[Unset, bool]): Default: False.
|
|
28
|
+
availability_zone (Union[Unset, str]): Optional availability group. Will be used for all instances provisioned
|
|
29
|
+
in this tenant
|
|
30
|
+
"""
|
|
31
|
+
|
|
32
|
+
name: str
|
|
33
|
+
description: Union[Unset, str] = UNSET
|
|
34
|
+
user_username: Union[Unset, str] = UNSET
|
|
35
|
+
user_password: Union[Unset, str] = UNSET
|
|
36
|
+
subnet_cidr: Union[Unset, str] = "192.168.42.0/24"
|
|
37
|
+
skip_connection_extnet: Union[Unset, bool] = False
|
|
38
|
+
skip_creation_of_default_router: Union[Unset, bool] = False
|
|
39
|
+
availability_zone: Union[Unset, str] = UNSET
|
|
40
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
41
|
+
|
|
42
|
+
def to_dict(self) -> dict[str, Any]:
|
|
43
|
+
name = self.name
|
|
44
|
+
|
|
45
|
+
description = self.description
|
|
46
|
+
|
|
47
|
+
user_username = self.user_username
|
|
48
|
+
|
|
49
|
+
user_password = self.user_password
|
|
50
|
+
|
|
51
|
+
subnet_cidr = self.subnet_cidr
|
|
52
|
+
|
|
53
|
+
skip_connection_extnet = self.skip_connection_extnet
|
|
54
|
+
|
|
55
|
+
skip_creation_of_default_router = self.skip_creation_of_default_router
|
|
56
|
+
|
|
57
|
+
availability_zone = self.availability_zone
|
|
58
|
+
|
|
59
|
+
field_dict: dict[str, Any] = {}
|
|
60
|
+
field_dict.update(self.additional_properties)
|
|
61
|
+
field_dict.update(
|
|
62
|
+
{
|
|
63
|
+
"name": name,
|
|
64
|
+
}
|
|
65
|
+
)
|
|
66
|
+
if description is not UNSET:
|
|
67
|
+
field_dict["description"] = description
|
|
68
|
+
if user_username is not UNSET:
|
|
69
|
+
field_dict["user_username"] = user_username
|
|
70
|
+
if user_password is not UNSET:
|
|
71
|
+
field_dict["user_password"] = user_password
|
|
72
|
+
if subnet_cidr is not UNSET:
|
|
73
|
+
field_dict["subnet_cidr"] = subnet_cidr
|
|
74
|
+
if skip_connection_extnet is not UNSET:
|
|
75
|
+
field_dict["skip_connection_extnet"] = skip_connection_extnet
|
|
76
|
+
if skip_creation_of_default_router is not UNSET:
|
|
77
|
+
field_dict["skip_creation_of_default_router"] = skip_creation_of_default_router
|
|
78
|
+
if availability_zone is not UNSET:
|
|
79
|
+
field_dict["availability_zone"] = availability_zone
|
|
80
|
+
|
|
81
|
+
return field_dict
|
|
82
|
+
|
|
83
|
+
@classmethod
|
|
84
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
85
|
+
d = dict(src_dict)
|
|
86
|
+
name = d.pop("name")
|
|
87
|
+
|
|
88
|
+
description = d.pop("description", UNSET)
|
|
89
|
+
|
|
90
|
+
user_username = d.pop("user_username", UNSET)
|
|
91
|
+
|
|
92
|
+
user_password = d.pop("user_password", UNSET)
|
|
93
|
+
|
|
94
|
+
subnet_cidr = d.pop("subnet_cidr", UNSET)
|
|
95
|
+
|
|
96
|
+
skip_connection_extnet = d.pop("skip_connection_extnet", UNSET)
|
|
97
|
+
|
|
98
|
+
skip_creation_of_default_router = d.pop("skip_creation_of_default_router", UNSET)
|
|
99
|
+
|
|
100
|
+
availability_zone = d.pop("availability_zone", UNSET)
|
|
101
|
+
|
|
102
|
+
open_stack_tenant_create_order_attributes = cls(
|
|
103
|
+
name=name,
|
|
104
|
+
description=description,
|
|
105
|
+
user_username=user_username,
|
|
106
|
+
user_password=user_password,
|
|
107
|
+
subnet_cidr=subnet_cidr,
|
|
108
|
+
skip_connection_extnet=skip_connection_extnet,
|
|
109
|
+
skip_creation_of_default_router=skip_creation_of_default_router,
|
|
110
|
+
availability_zone=availability_zone,
|
|
111
|
+
)
|
|
112
|
+
|
|
113
|
+
open_stack_tenant_create_order_attributes.additional_properties = d
|
|
114
|
+
return open_stack_tenant_create_order_attributes
|
|
115
|
+
|
|
116
|
+
@property
|
|
117
|
+
def additional_keys(self) -> list[str]:
|
|
118
|
+
return list(self.additional_properties.keys())
|
|
119
|
+
|
|
120
|
+
def __getitem__(self, key: str) -> Any:
|
|
121
|
+
return self.additional_properties[key]
|
|
122
|
+
|
|
123
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
124
|
+
self.additional_properties[key] = value
|
|
125
|
+
|
|
126
|
+
def __delitem__(self, key: str) -> None:
|
|
127
|
+
del self.additional_properties[key]
|
|
128
|
+
|
|
129
|
+
def __contains__(self, key: str) -> bool:
|
|
130
|
+
return key in self.additional_properties
|
|
@@ -45,24 +45,24 @@ class OpenStackVolume:
|
|
|
45
45
|
state (Union[Unset, CoreStates]):
|
|
46
46
|
created (Union[Unset, datetime.datetime]):
|
|
47
47
|
modified (Union[Unset, datetime.datetime]):
|
|
48
|
-
backend_id (Union[None, Unset, str]):
|
|
48
|
+
backend_id (Union[None, Unset, str]): Volume ID in the OpenStack backend
|
|
49
49
|
access_url (Union[None, Unset, str]):
|
|
50
|
-
source_snapshot (Union[None, Unset, str]):
|
|
50
|
+
source_snapshot (Union[None, Unset, str]): Snapshot that this volume was created from, if any
|
|
51
51
|
size (Union[None, Unset, int]): Size in MiB
|
|
52
|
-
bootable (Union[Unset, bool]):
|
|
52
|
+
bootable (Union[Unset, bool]): Indicates if this volume can be used to boot an instance
|
|
53
53
|
metadata (Union[Unset, Any]):
|
|
54
|
-
image (Union[None, Unset, str]):
|
|
55
|
-
image_metadata (Union[Unset, str]):
|
|
56
|
-
image_name (Union[Unset, str]):
|
|
57
|
-
type_ (Union[None, Unset, str]):
|
|
54
|
+
image (Union[None, Unset, str]): Image that this volume was created from, if any
|
|
55
|
+
image_metadata (Union[Unset, str]): Metadata of the image this volume was created from
|
|
56
|
+
image_name (Union[Unset, str]): Name of the image this volume was created from
|
|
57
|
+
type_ (Union[None, Unset, str]): Type of the volume (e.g. SSD, HDD)
|
|
58
58
|
type_name (Union[Unset, str]):
|
|
59
59
|
runtime_state (Union[Unset, str]):
|
|
60
|
-
availability_zone (Union[None, Unset, str]):
|
|
60
|
+
availability_zone (Union[None, Unset, str]): Availability zone where this volume is located
|
|
61
61
|
availability_zone_name (Union[Unset, str]):
|
|
62
62
|
device (Union[Unset, str]): Name of volume as instance device e.g. /dev/vdb.
|
|
63
63
|
action (Union[Unset, str]):
|
|
64
64
|
action_details (Union[Unset, Any]):
|
|
65
|
-
instance (Union[None, Unset, str]):
|
|
65
|
+
instance (Union[None, Unset, str]): Instance that this volume is attached to, if any
|
|
66
66
|
instance_name (Union[Unset, str]):
|
|
67
67
|
instance_marketplace_uuid (Union[Unset, UUID]):
|
|
68
68
|
tenant (Union[Unset, str]):
|
|
@@ -0,0 +1,155 @@
|
|
|
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 ..types import UNSET, Unset
|
|
8
|
+
|
|
9
|
+
T = TypeVar("T", bound="OpenStackVolumeCreateOrderAttributes")
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
@_attrs_define
|
|
13
|
+
class OpenStackVolumeCreateOrderAttributes:
|
|
14
|
+
"""This mixin allows to specify list of fields to be rendered by serializer.
|
|
15
|
+
It expects that request is available in serializer's context.
|
|
16
|
+
|
|
17
|
+
It is disabled for nested serializers (where parent is another serializer)
|
|
18
|
+
but remains active for list views (where parent is a ListSerializer).
|
|
19
|
+
|
|
20
|
+
Attributes:
|
|
21
|
+
name (str):
|
|
22
|
+
description (Union[Unset, str]):
|
|
23
|
+
image (Union[None, Unset, str]): Image that this volume was created from, if any
|
|
24
|
+
size (Union[None, Unset, int]): Size in MiB
|
|
25
|
+
availability_zone (Union[None, Unset, str]): Availability zone where this volume is located
|
|
26
|
+
type_ (Union[None, Unset, str]): Type of the volume (e.g. SSD, HDD)
|
|
27
|
+
"""
|
|
28
|
+
|
|
29
|
+
name: str
|
|
30
|
+
description: Union[Unset, str] = UNSET
|
|
31
|
+
image: Union[None, Unset, str] = UNSET
|
|
32
|
+
size: Union[None, Unset, int] = UNSET
|
|
33
|
+
availability_zone: Union[None, Unset, str] = UNSET
|
|
34
|
+
type_: Union[None, Unset, str] = UNSET
|
|
35
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
36
|
+
|
|
37
|
+
def to_dict(self) -> dict[str, Any]:
|
|
38
|
+
name = self.name
|
|
39
|
+
|
|
40
|
+
description = self.description
|
|
41
|
+
|
|
42
|
+
image: Union[None, Unset, str]
|
|
43
|
+
if isinstance(self.image, Unset):
|
|
44
|
+
image = UNSET
|
|
45
|
+
else:
|
|
46
|
+
image = self.image
|
|
47
|
+
|
|
48
|
+
size: Union[None, Unset, int]
|
|
49
|
+
if isinstance(self.size, Unset):
|
|
50
|
+
size = UNSET
|
|
51
|
+
else:
|
|
52
|
+
size = self.size
|
|
53
|
+
|
|
54
|
+
availability_zone: Union[None, Unset, str]
|
|
55
|
+
if isinstance(self.availability_zone, Unset):
|
|
56
|
+
availability_zone = UNSET
|
|
57
|
+
else:
|
|
58
|
+
availability_zone = self.availability_zone
|
|
59
|
+
|
|
60
|
+
type_: Union[None, Unset, str]
|
|
61
|
+
if isinstance(self.type_, Unset):
|
|
62
|
+
type_ = UNSET
|
|
63
|
+
else:
|
|
64
|
+
type_ = self.type_
|
|
65
|
+
|
|
66
|
+
field_dict: dict[str, Any] = {}
|
|
67
|
+
field_dict.update(self.additional_properties)
|
|
68
|
+
field_dict.update(
|
|
69
|
+
{
|
|
70
|
+
"name": name,
|
|
71
|
+
}
|
|
72
|
+
)
|
|
73
|
+
if description is not UNSET:
|
|
74
|
+
field_dict["description"] = description
|
|
75
|
+
if image is not UNSET:
|
|
76
|
+
field_dict["image"] = image
|
|
77
|
+
if size is not UNSET:
|
|
78
|
+
field_dict["size"] = size
|
|
79
|
+
if availability_zone is not UNSET:
|
|
80
|
+
field_dict["availability_zone"] = availability_zone
|
|
81
|
+
if type_ is not UNSET:
|
|
82
|
+
field_dict["type"] = type_
|
|
83
|
+
|
|
84
|
+
return field_dict
|
|
85
|
+
|
|
86
|
+
@classmethod
|
|
87
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
88
|
+
d = dict(src_dict)
|
|
89
|
+
name = d.pop("name")
|
|
90
|
+
|
|
91
|
+
description = d.pop("description", UNSET)
|
|
92
|
+
|
|
93
|
+
def _parse_image(data: object) -> Union[None, Unset, str]:
|
|
94
|
+
if data is None:
|
|
95
|
+
return data
|
|
96
|
+
if isinstance(data, Unset):
|
|
97
|
+
return data
|
|
98
|
+
return cast(Union[None, Unset, str], data)
|
|
99
|
+
|
|
100
|
+
image = _parse_image(d.pop("image", UNSET))
|
|
101
|
+
|
|
102
|
+
def _parse_size(data: object) -> Union[None, Unset, int]:
|
|
103
|
+
if data is None:
|
|
104
|
+
return data
|
|
105
|
+
if isinstance(data, Unset):
|
|
106
|
+
return data
|
|
107
|
+
return cast(Union[None, Unset, int], data)
|
|
108
|
+
|
|
109
|
+
size = _parse_size(d.pop("size", UNSET))
|
|
110
|
+
|
|
111
|
+
def _parse_availability_zone(data: object) -> Union[None, Unset, str]:
|
|
112
|
+
if data is None:
|
|
113
|
+
return data
|
|
114
|
+
if isinstance(data, Unset):
|
|
115
|
+
return data
|
|
116
|
+
return cast(Union[None, Unset, str], data)
|
|
117
|
+
|
|
118
|
+
availability_zone = _parse_availability_zone(d.pop("availability_zone", UNSET))
|
|
119
|
+
|
|
120
|
+
def _parse_type_(data: object) -> Union[None, Unset, str]:
|
|
121
|
+
if data is None:
|
|
122
|
+
return data
|
|
123
|
+
if isinstance(data, Unset):
|
|
124
|
+
return data
|
|
125
|
+
return cast(Union[None, Unset, str], data)
|
|
126
|
+
|
|
127
|
+
type_ = _parse_type_(d.pop("type", UNSET))
|
|
128
|
+
|
|
129
|
+
open_stack_volume_create_order_attributes = cls(
|
|
130
|
+
name=name,
|
|
131
|
+
description=description,
|
|
132
|
+
image=image,
|
|
133
|
+
size=size,
|
|
134
|
+
availability_zone=availability_zone,
|
|
135
|
+
type_=type_,
|
|
136
|
+
)
|
|
137
|
+
|
|
138
|
+
open_stack_volume_create_order_attributes.additional_properties = d
|
|
139
|
+
return open_stack_volume_create_order_attributes
|
|
140
|
+
|
|
141
|
+
@property
|
|
142
|
+
def additional_keys(self) -> list[str]:
|
|
143
|
+
return list(self.additional_properties.keys())
|
|
144
|
+
|
|
145
|
+
def __getitem__(self, key: str) -> Any:
|
|
146
|
+
return self.additional_properties[key]
|
|
147
|
+
|
|
148
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
149
|
+
self.additional_properties[key] = value
|
|
150
|
+
|
|
151
|
+
def __delitem__(self, key: str) -> None:
|
|
152
|
+
del self.additional_properties[key]
|
|
153
|
+
|
|
154
|
+
def __contains__(self, key: str) -> bool:
|
|
155
|
+
return key in self.additional_properties
|
|
@@ -31,6 +31,7 @@ class OpenstackNetworksListFieldItem(str, Enum):
|
|
|
31
31
|
PROJECT_UUID = "project_uuid"
|
|
32
32
|
RBAC_POLICIES = "rbac_policies"
|
|
33
33
|
RESOURCE_TYPE = "resource_type"
|
|
34
|
+
SEGMENTATION_ID = "segmentation_id"
|
|
34
35
|
SERVICE_NAME = "service_name"
|
|
35
36
|
SERVICE_SETTINGS = "service_settings"
|
|
36
37
|
SERVICE_SETTINGS_ERROR_MESSAGE = "service_settings_error_message"
|
|
@@ -31,6 +31,7 @@ class OpenstackNetworksRetrieveFieldItem(str, Enum):
|
|
|
31
31
|
PROJECT_UUID = "project_uuid"
|
|
32
32
|
RBAC_POLICIES = "rbac_policies"
|
|
33
33
|
RESOURCE_TYPE = "resource_type"
|
|
34
|
+
SEGMENTATION_ID = "segmentation_id"
|
|
34
35
|
SERVICE_NAME = "service_name"
|
|
35
36
|
SERVICE_SETTINGS = "service_settings"
|
|
36
37
|
SERVICE_SETTINGS_ERROR_MESSAGE = "service_settings_error_message"
|
|
@@ -2,6 +2,7 @@ from enum import Enum
|
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
class OpenstackTenantsListFieldItem(str, Enum):
|
|
5
|
+
ACCESS_URL = "access_url"
|
|
5
6
|
AVAILABILITY_ZONE = "availability_zone"
|
|
6
7
|
BACKEND_ID = "backend_id"
|
|
7
8
|
CREATED = "created"
|
|
@@ -40,6 +41,8 @@ class OpenstackTenantsListFieldItem(str, Enum):
|
|
|
40
41
|
STATE = "state"
|
|
41
42
|
SUBNET_CIDR = "subnet_cidr"
|
|
42
43
|
URL = "url"
|
|
44
|
+
USER_PASSWORD = "user_password"
|
|
45
|
+
USER_USERNAME = "user_username"
|
|
43
46
|
UUID = "uuid"
|
|
44
47
|
|
|
45
48
|
def __str__(self) -> str:
|
|
@@ -2,6 +2,7 @@ from enum import Enum
|
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
class OpenstackTenantsRetrieveFieldItem(str, Enum):
|
|
5
|
+
ACCESS_URL = "access_url"
|
|
5
6
|
AVAILABILITY_ZONE = "availability_zone"
|
|
6
7
|
BACKEND_ID = "backend_id"
|
|
7
8
|
CREATED = "created"
|
|
@@ -40,6 +41,8 @@ class OpenstackTenantsRetrieveFieldItem(str, Enum):
|
|
|
40
41
|
STATE = "state"
|
|
41
42
|
SUBNET_CIDR = "subnet_cidr"
|
|
42
43
|
URL = "url"
|
|
44
|
+
USER_PASSWORD = "user_password"
|
|
45
|
+
USER_USERNAME = "user_username"
|
|
43
46
|
UUID = "uuid"
|
|
44
47
|
|
|
45
48
|
def __str__(self) -> str:
|
|
@@ -30,7 +30,6 @@ class OrderCreate:
|
|
|
30
30
|
offering_image (str):
|
|
31
31
|
offering_thumbnail (str):
|
|
32
32
|
offering_type (str):
|
|
33
|
-
offering_terms_of_service (str):
|
|
34
33
|
offering_shared (bool): Accessible to all customers.
|
|
35
34
|
offering_billable (bool): Purchase and usage is invoiced.
|
|
36
35
|
offering_plugin_options (Any): Public data used by specific plugin, such as storage mode for OpenStack.
|
|
@@ -85,7 +84,6 @@ class OrderCreate:
|
|
|
85
84
|
offering_image: str
|
|
86
85
|
offering_thumbnail: str
|
|
87
86
|
offering_type: str
|
|
88
|
-
offering_terms_of_service: str
|
|
89
87
|
offering_shared: bool
|
|
90
88
|
offering_billable: bool
|
|
91
89
|
offering_plugin_options: Any
|
|
@@ -146,8 +144,6 @@ class OrderCreate:
|
|
|
146
144
|
|
|
147
145
|
offering_type = self.offering_type
|
|
148
146
|
|
|
149
|
-
offering_terms_of_service = self.offering_terms_of_service
|
|
150
|
-
|
|
151
147
|
offering_shared = self.offering_shared
|
|
152
148
|
|
|
153
149
|
offering_billable = self.offering_billable
|
|
@@ -280,7 +276,6 @@ class OrderCreate:
|
|
|
280
276
|
"offering_image": offering_image,
|
|
281
277
|
"offering_thumbnail": offering_thumbnail,
|
|
282
278
|
"offering_type": offering_type,
|
|
283
|
-
"offering_terms_of_service": offering_terms_of_service,
|
|
284
279
|
"offering_shared": offering_shared,
|
|
285
280
|
"offering_billable": offering_billable,
|
|
286
281
|
"offering_plugin_options": offering_plugin_options,
|
|
@@ -353,8 +348,6 @@ class OrderCreate:
|
|
|
353
348
|
|
|
354
349
|
offering_type = d.pop("offering_type")
|
|
355
350
|
|
|
356
|
-
offering_terms_of_service = d.pop("offering_terms_of_service")
|
|
357
|
-
|
|
358
351
|
offering_shared = d.pop("offering_shared")
|
|
359
352
|
|
|
360
353
|
offering_billable = d.pop("offering_billable")
|
|
@@ -566,7 +559,6 @@ class OrderCreate:
|
|
|
566
559
|
offering_image=offering_image,
|
|
567
560
|
offering_thumbnail=offering_thumbnail,
|
|
568
561
|
offering_type=offering_type,
|
|
569
|
-
offering_terms_of_service=offering_terms_of_service,
|
|
570
562
|
offering_shared=offering_shared,
|
|
571
563
|
offering_billable=offering_billable,
|
|
572
564
|
offering_plugin_options=offering_plugin_options,
|