waldur-api-client 7.7.9__py3-none-any.whl → 7.8.1__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 (108) hide show
  1. waldur_api_client/api/marketplace_course_accounts/marketplace_course_accounts_count.py +96 -0
  2. waldur_api_client/api/marketplace_course_accounts/marketplace_course_accounts_list.py +96 -0
  3. waldur_api_client/api/marketplace_offering_user_checklist_completions/__init__.py +1 -0
  4. waldur_api_client/api/marketplace_offering_user_checklist_completions/marketplace_offering_user_checklist_completions_count.py +286 -0
  5. waldur_api_client/api/marketplace_offering_user_checklist_completions/marketplace_offering_user_checklist_completions_list.py +289 -0
  6. waldur_api_client/api/{rancher_clusters/rancher_clusters_create.py → marketplace_offering_user_checklist_completions/marketplace_offering_user_checklist_completions_retrieve.py} +29 -38
  7. waldur_api_client/api/marketplace_offering_users/marketplace_offering_users_count.py +15 -0
  8. waldur_api_client/api/marketplace_offering_users/marketplace_offering_users_list.py +15 -0
  9. waldur_api_client/api/{rancher_clusters/rancher_clusters_destroy.py → marketplace_orders/marketplace_orders_delete_attachment.py} +6 -4
  10. waldur_api_client/api/marketplace_orders/marketplace_orders_update_attachment.py +168 -0
  11. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_component_stats_list.py +15 -0
  12. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_costs_list.py +15 -0
  13. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_count.py +15 -0
  14. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_customers_list.py +15 -0
  15. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_groups_count.py +15 -0
  16. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_groups_list.py +15 -0
  17. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_list.py +15 -0
  18. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_list_course_accounts_retrieve.py +177 -0
  19. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_refresh_offering_usernames.py +0 -22
  20. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_update_compliance_checklist.py +105 -0
  21. waldur_api_client/api/marketplace_public_offerings/marketplace_public_offerings_count.py +15 -0
  22. waldur_api_client/api/marketplace_public_offerings/marketplace_public_offerings_list.py +15 -0
  23. waldur_api_client/api/marketplace_service_providers/marketplace_service_providers_course_accounts_list.py +98 -0
  24. waldur_api_client/api/marketplace_service_providers/marketplace_service_providers_offerings_list.py +15 -0
  25. waldur_api_client/api/user_invitations/user_invitations_count.py +15 -0
  26. waldur_api_client/api/user_invitations/user_invitations_list.py +15 -0
  27. waldur_api_client/models/__init__.py +34 -6
  28. waldur_api_client/models/booking_offerings_list_field_item.py +1 -0
  29. waldur_api_client/models/booking_offerings_retrieve_field_item.py +1 -0
  30. waldur_api_client/models/booking_resource.py +18 -0
  31. waldur_api_client/models/booking_resources_list_field_item.py +2 -0
  32. waldur_api_client/models/booking_resources_retrieve_field_item.py +2 -0
  33. waldur_api_client/models/country_enum.py +211 -0
  34. waldur_api_client/models/course_account.py +24 -0
  35. waldur_api_client/models/customer_request.py +9 -0
  36. waldur_api_client/models/deployment_mode_enum.py +9 -0
  37. waldur_api_client/models/group_invitation.py +8 -0
  38. waldur_api_client/models/identity_provider.py +57 -0
  39. waldur_api_client/models/identity_provider_request.py +57 -0
  40. waldur_api_client/models/invitation.py +8 -0
  41. waldur_api_client/models/issue.py +8 -17
  42. waldur_api_client/models/issue_request.py +8 -17
  43. waldur_api_client/models/issue_type_enum.py +4 -4
  44. waldur_api_client/models/managed_rancher_cluster_resources_list_field_item.py +2 -0
  45. waldur_api_client/models/managed_rancher_cluster_resources_retrieve_field_item.py +2 -0
  46. waldur_api_client/models/marketplace_course_accounts_count_o_item.py +23 -0
  47. waldur_api_client/models/marketplace_course_accounts_list_o_item.py +23 -0
  48. waldur_api_client/models/marketplace_offering_user_checklist_completions_count_o_item.py +11 -0
  49. waldur_api_client/models/marketplace_offering_user_checklist_completions_list_o_item.py +11 -0
  50. waldur_api_client/models/marketplace_offering_users_list_field_item.py +2 -0
  51. waldur_api_client/models/marketplace_offering_users_retrieve_field_item.py +2 -0
  52. waldur_api_client/models/marketplace_orders_list_field_item.py +5 -0
  53. waldur_api_client/models/marketplace_orders_retrieve_field_item.py +5 -0
  54. waldur_api_client/models/marketplace_provider_offerings_list_course_accounts_retrieve_field_item.py +72 -0
  55. waldur_api_client/models/marketplace_provider_resources_details_retrieve_field_item.py +2 -0
  56. waldur_api_client/models/marketplace_provider_resources_list_field_item.py +2 -0
  57. waldur_api_client/models/marketplace_provider_resources_retrieve_field_item.py +2 -0
  58. waldur_api_client/models/marketplace_public_offerings_list_field_item.py +1 -0
  59. waldur_api_client/models/marketplace_public_offerings_retrieve_field_item.py +1 -0
  60. waldur_api_client/models/marketplace_resources_details_retrieve_field_item.py +2 -0
  61. waldur_api_client/models/marketplace_resources_list_field_item.py +2 -0
  62. waldur_api_client/models/marketplace_resources_retrieve_field_item.py +2 -0
  63. waldur_api_client/models/marketplace_service_providers_course_accounts_list_o_item.py +23 -0
  64. waldur_api_client/models/merged_plugin_options.py +36 -0
  65. waldur_api_client/models/merged_plugin_options_request.py +36 -0
  66. waldur_api_client/models/notification.py +11 -0
  67. waldur_api_client/models/notification_context_fields.py +47 -0
  68. waldur_api_client/models/offering.py +9 -0
  69. waldur_api_client/models/offering_compliance_checklist_update_request.py +82 -0
  70. waldur_api_client/models/offering_create.py +9 -8
  71. waldur_api_client/models/offering_create_request.py +9 -0
  72. waldur_api_client/models/offering_overview_update_request.py +9 -0
  73. waldur_api_client/models/offering_terms_of_service.py +42 -1
  74. waldur_api_client/models/offering_user.py +18 -0
  75. waldur_api_client/models/open_stack_tenant_create_order_attributes.py +0 -18
  76. waldur_api_client/models/open_stack_tenant_request.py +18 -0
  77. waldur_api_client/models/order_attachment.py +71 -0
  78. waldur_api_client/models/order_attachment_request.py +84 -0
  79. waldur_api_client/models/order_create.py +58 -16
  80. waldur_api_client/models/order_create_request.py +44 -62
  81. waldur_api_client/models/order_details.py +99 -16
  82. waldur_api_client/models/patched_customer_request.py +9 -0
  83. waldur_api_client/models/patched_identity_provider_request.py +58 -0
  84. waldur_api_client/models/patched_project_request.py +9 -0
  85. waldur_api_client/models/patched_protected_call_request.py +9 -0
  86. waldur_api_client/models/patched_protected_round_request.py +2 -2
  87. waldur_api_client/models/patched_service_provider_request.py +9 -0
  88. waldur_api_client/models/patched_user_request.py +9 -0
  89. waldur_api_client/models/project_request.py +9 -0
  90. waldur_api_client/models/protected_call_request.py +9 -0
  91. waldur_api_client/models/protected_round.py +2 -2
  92. waldur_api_client/models/protected_round_request.py +2 -2
  93. waldur_api_client/models/public_offering_details.py +9 -0
  94. waldur_api_client/models/rancher_cluster_request.py +1 -48
  95. waldur_api_client/models/resource.py +18 -0
  96. waldur_api_client/models/resource_update_limits_request.py +23 -1
  97. waldur_api_client/models/service_provider_request.py +9 -0
  98. waldur_api_client/models/user_checklist_completion.py +265 -0
  99. waldur_api_client/models/user_consent_info.py +86 -0
  100. waldur_api_client/models/user_request.py +9 -0
  101. waldur_api_client/models/visible_invitation_details.py +8 -0
  102. {waldur_api_client-7.7.9.dist-info → waldur_api_client-7.8.1.dist-info}/METADATA +4 -2
  103. {waldur_api_client-7.7.9.dist-info → waldur_api_client-7.8.1.dist-info}/RECORD +105 -89
  104. {waldur_api_client-7.7.9.dist-info → waldur_api_client-7.8.1.dist-info}/WHEEL +1 -1
  105. waldur_api_client/models/marketplace_managed_rancher_create_order_attributes.py +0 -144
  106. waldur_api_client/models/marketplace_rancher_create_order_attributes.py +0 -145
  107. waldur_api_client/models/provider_offering_details_request.py +0 -398
  108. {waldur_api_client-7.7.9.dist-info → waldur_api_client-7.8.1.dist-info/licenses}/LICENSE +0 -0
@@ -22,6 +22,7 @@ class ProjectRequest:
22
22
  Attributes:
23
23
  name (str):
24
24
  customer (str):
25
+ slug (Union[Unset, str]):
25
26
  description (Union[Unset, str]):
26
27
  type_ (Union[None, Unset, str]):
27
28
  backend_id (Union[Unset, str]):
@@ -36,6 +37,7 @@ class ProjectRequest:
36
37
 
37
38
  name: str
38
39
  customer: str
40
+ slug: Union[Unset, str] = UNSET
39
41
  description: Union[Unset, str] = UNSET
40
42
  type_: Union[None, Unset, str] = UNSET
41
43
  backend_id: Union[Unset, str] = UNSET
@@ -52,6 +54,8 @@ class ProjectRequest:
52
54
 
53
55
  customer = self.customer
54
56
 
57
+ slug = self.slug
58
+
55
59
  description = self.description
56
60
 
57
61
  type_: Union[None, Unset, str]
@@ -111,6 +115,8 @@ class ProjectRequest:
111
115
  "customer": customer,
112
116
  }
113
117
  )
118
+ if slug is not UNSET:
119
+ field_dict["slug"] = slug
114
120
  if description is not UNSET:
115
121
  field_dict["description"] = description
116
122
  if type_ is not UNSET:
@@ -139,6 +145,8 @@ class ProjectRequest:
139
145
 
140
146
  customer = d.pop("customer")
141
147
 
148
+ slug = d.pop("slug", UNSET)
149
+
142
150
  description = d.pop("description", UNSET)
143
151
 
144
152
  def _parse_type_(data: object) -> Union[None, Unset, str]:
@@ -240,6 +248,7 @@ class ProjectRequest:
240
248
  project_request = cls(
241
249
  name=name,
242
250
  customer=customer,
251
+ slug=slug,
243
252
  description=description,
244
253
  type_=type_,
245
254
  backend_id=backend_id,
@@ -16,6 +16,7 @@ class ProtectedCallRequest:
16
16
  Attributes:
17
17
  name (str):
18
18
  manager (str):
19
+ slug (Union[Unset, str]):
19
20
  description (Union[Unset, str]):
20
21
  fixed_duration_in_days (Union[None, Unset, int]):
21
22
  backend_id (Union[Unset, str]):
@@ -32,6 +33,7 @@ class ProtectedCallRequest:
32
33
 
33
34
  name: str
34
35
  manager: str
36
+ slug: Union[Unset, str] = UNSET
35
37
  description: Union[Unset, str] = UNSET
36
38
  fixed_duration_in_days: Union[None, Unset, int] = UNSET
37
39
  backend_id: Union[Unset, str] = UNSET
@@ -48,6 +50,8 @@ class ProtectedCallRequest:
48
50
 
49
51
  manager = self.manager
50
52
 
53
+ slug = self.slug
54
+
51
55
  description = self.description
52
56
 
53
57
  fixed_duration_in_days: Union[None, Unset, int]
@@ -92,6 +96,8 @@ class ProtectedCallRequest:
92
96
  "manager": manager,
93
97
  }
94
98
  )
99
+ if slug is not UNSET:
100
+ field_dict["slug"] = slug
95
101
  if description is not UNSET:
96
102
  field_dict["description"] = description
97
103
  if fixed_duration_in_days is not UNSET:
@@ -120,6 +126,8 @@ class ProtectedCallRequest:
120
126
 
121
127
  manager = d.pop("manager")
122
128
 
129
+ slug = d.pop("slug", UNSET)
130
+
123
131
  description = d.pop("description", UNSET)
124
132
 
125
133
  def _parse_fixed_duration_in_days(data: object) -> Union[None, Unset, int]:
@@ -177,6 +185,7 @@ class ProtectedCallRequest:
177
185
  protected_call_request = cls(
178
186
  name=name,
179
187
  manager=manager,
188
+ slug=slug,
180
189
  description=description,
181
190
  fixed_duration_in_days=fixed_duration_in_days,
182
191
  backend_id=backend_id,
@@ -36,7 +36,7 @@ class ProtectedRound:
36
36
  allocation_time (Union[Unset, AllocationTimeEnum]):
37
37
  allocation_date (Union[None, Unset, datetime.datetime]):
38
38
  minimal_average_scoring (Union[None, Unset, str]):
39
- review_duration_in_days (Union[Unset, int]): Default: 7.
39
+ review_duration_in_days (Union[Unset, int]):
40
40
  minimum_number_of_reviewers (Union[None, Unset, int]):
41
41
  """
42
42
 
@@ -52,7 +52,7 @@ class ProtectedRound:
52
52
  allocation_time: Union[Unset, AllocationTimeEnum] = UNSET
53
53
  allocation_date: Union[None, Unset, datetime.datetime] = UNSET
54
54
  minimal_average_scoring: Union[None, Unset, str] = UNSET
55
- review_duration_in_days: Union[Unset, int] = 7
55
+ review_duration_in_days: Union[Unset, int] = UNSET
56
56
  minimum_number_of_reviewers: Union[None, Unset, int] = UNSET
57
57
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
58
58
 
@@ -25,7 +25,7 @@ class ProtectedRoundRequest:
25
25
  allocation_time (Union[Unset, AllocationTimeEnum]):
26
26
  allocation_date (Union[None, Unset, datetime.datetime]):
27
27
  minimal_average_scoring (Union[None, Unset, str]):
28
- review_duration_in_days (Union[Unset, int]): Default: 7.
28
+ review_duration_in_days (Union[Unset, int]):
29
29
  minimum_number_of_reviewers (Union[None, Unset, int]):
30
30
  """
31
31
 
@@ -36,7 +36,7 @@ class ProtectedRoundRequest:
36
36
  allocation_time: Union[Unset, AllocationTimeEnum] = UNSET
37
37
  allocation_date: Union[None, Unset, datetime.datetime] = UNSET
38
38
  minimal_average_scoring: Union[None, Unset, str] = UNSET
39
- review_duration_in_days: Union[Unset, int] = 7
39
+ review_duration_in_days: Union[Unset, int] = UNSET
40
40
  minimum_number_of_reviewers: Union[None, Unset, int] = UNSET
41
41
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
42
42
 
@@ -95,6 +95,7 @@ class PublicOfferingDetails:
95
95
  parent_name (Union[None, Unset, str]):
96
96
  backend_metadata (Union[Unset, Any]):
97
97
  has_compliance_requirements (Union[Unset, bool]):
98
+ user_has_consent (Union[Unset, bool]):
98
99
  google_calendar_is_public (Union[None, Unset, bool]):
99
100
  google_calendar_link (Union[None, Unset, str]): Get the Google Calendar link for an offering.
100
101
  promotion_campaigns (Union[Unset, list['NestedCampaign']]):
@@ -160,6 +161,7 @@ class PublicOfferingDetails:
160
161
  parent_name: Union[None, Unset, str] = UNSET
161
162
  backend_metadata: Union[Unset, Any] = UNSET
162
163
  has_compliance_requirements: Union[Unset, bool] = UNSET
164
+ user_has_consent: Union[Unset, bool] = UNSET
163
165
  google_calendar_is_public: Union[None, Unset, bool] = UNSET
164
166
  google_calendar_link: Union[None, Unset, str] = UNSET
165
167
  promotion_campaigns: Union[Unset, list["NestedCampaign"]] = UNSET
@@ -440,6 +442,8 @@ class PublicOfferingDetails:
440
442
 
441
443
  has_compliance_requirements = self.has_compliance_requirements
442
444
 
445
+ user_has_consent = self.user_has_consent
446
+
443
447
  google_calendar_is_public: Union[None, Unset, bool]
444
448
  if isinstance(self.google_calendar_is_public, Unset):
445
449
  google_calendar_is_public = UNSET
@@ -582,6 +586,8 @@ class PublicOfferingDetails:
582
586
  field_dict["backend_metadata"] = backend_metadata
583
587
  if has_compliance_requirements is not UNSET:
584
588
  field_dict["has_compliance_requirements"] = has_compliance_requirements
589
+ if user_has_consent is not UNSET:
590
+ field_dict["user_has_consent"] = user_has_consent
585
591
  if google_calendar_is_public is not UNSET:
586
592
  field_dict["google_calendar_is_public"] = google_calendar_is_public
587
593
  if google_calendar_link is not UNSET:
@@ -1012,6 +1018,8 @@ class PublicOfferingDetails:
1012
1018
 
1013
1019
  has_compliance_requirements = d.pop("has_compliance_requirements", UNSET)
1014
1020
 
1021
+ user_has_consent = d.pop("user_has_consent", UNSET)
1022
+
1015
1023
  def _parse_google_calendar_is_public(data: object) -> Union[None, Unset, bool]:
1016
1024
  if data is None:
1017
1025
  return data
@@ -1098,6 +1106,7 @@ class PublicOfferingDetails:
1098
1106
  parent_name=parent_name,
1099
1107
  backend_metadata=backend_metadata,
1100
1108
  has_compliance_requirements=has_compliance_requirements,
1109
+ user_has_consent=user_has_consent,
1101
1110
  google_calendar_is_public=google_calendar_is_public,
1102
1111
  google_calendar_link=google_calendar_link,
1103
1112
  promotion_campaigns=promotion_campaigns,
@@ -1,15 +1,11 @@
1
1
  from collections.abc import Mapping
2
- from typing import TYPE_CHECKING, Any, TypeVar, Union, cast
2
+ from typing import Any, TypeVar, Union, cast
3
3
 
4
4
  from attrs import define as _attrs_define
5
5
  from attrs import field as _attrs_field
6
6
 
7
7
  from ..types import UNSET, Unset
8
8
 
9
- if TYPE_CHECKING:
10
- from ..models.rancher_nested_node_request import RancherNestedNodeRequest
11
-
12
-
13
9
  T = TypeVar("T", bound="RancherClusterRequest")
14
10
 
15
11
 
@@ -18,11 +14,7 @@ class RancherClusterRequest:
18
14
  """
19
15
  Attributes:
20
16
  name (str):
21
- service_settings (str):
22
- project (str):
23
- nodes (list['RancherNestedNodeRequest']):
24
17
  description (Union[Unset, str]):
25
- tenant (Union[Unset, str]):
26
18
  vm_project (Union[None, Unset, str]):
27
19
  ssh_public_key (Union[Unset, str]):
28
20
  install_longhorn (Union[Unset, bool]): Longhorn is a distributed block storage deployed on top of Kubernetes
@@ -30,11 +22,7 @@ class RancherClusterRequest:
30
22
  """
31
23
 
32
24
  name: str
33
- service_settings: str
34
- project: str
35
- nodes: list["RancherNestedNodeRequest"]
36
25
  description: Union[Unset, str] = UNSET
37
- tenant: Union[Unset, str] = UNSET
38
26
  vm_project: Union[None, Unset, str] = UNSET
39
27
  ssh_public_key: Union[Unset, str] = UNSET
40
28
  install_longhorn: Union[Unset, bool] = False
@@ -43,19 +31,8 @@ class RancherClusterRequest:
43
31
  def to_dict(self) -> dict[str, Any]:
44
32
  name = self.name
45
33
 
46
- service_settings = self.service_settings
47
-
48
- project = self.project
49
-
50
- nodes = []
51
- for nodes_item_data in self.nodes:
52
- nodes_item = nodes_item_data.to_dict()
53
- nodes.append(nodes_item)
54
-
55
34
  description = self.description
56
35
 
57
- tenant = self.tenant
58
-
59
36
  vm_project: Union[None, Unset, str]
60
37
  if isinstance(self.vm_project, Unset):
61
38
  vm_project = UNSET
@@ -71,15 +48,10 @@ class RancherClusterRequest:
71
48
  field_dict.update(
72
49
  {
73
50
  "name": name,
74
- "service_settings": service_settings,
75
- "project": project,
76
- "nodes": nodes,
77
51
  }
78
52
  )
79
53
  if description is not UNSET:
80
54
  field_dict["description"] = description
81
- if tenant is not UNSET:
82
- field_dict["tenant"] = tenant
83
55
  if vm_project is not UNSET:
84
56
  field_dict["vm_project"] = vm_project
85
57
  if ssh_public_key is not UNSET:
@@ -91,26 +63,11 @@ class RancherClusterRequest:
91
63
 
92
64
  @classmethod
93
65
  def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
94
- from ..models.rancher_nested_node_request import RancherNestedNodeRequest
95
-
96
66
  d = dict(src_dict)
97
67
  name = d.pop("name")
98
68
 
99
- service_settings = d.pop("service_settings")
100
-
101
- project = d.pop("project")
102
-
103
- nodes = []
104
- _nodes = d.pop("nodes")
105
- for nodes_item_data in _nodes:
106
- nodes_item = RancherNestedNodeRequest.from_dict(nodes_item_data)
107
-
108
- nodes.append(nodes_item)
109
-
110
69
  description = d.pop("description", UNSET)
111
70
 
112
- tenant = d.pop("tenant", UNSET)
113
-
114
71
  def _parse_vm_project(data: object) -> Union[None, Unset, str]:
115
72
  if data is None:
116
73
  return data
@@ -126,11 +83,7 @@ class RancherClusterRequest:
126
83
 
127
84
  rancher_cluster_request = cls(
128
85
  name=name,
129
- service_settings=service_settings,
130
- project=project,
131
- nodes=nodes,
132
86
  description=description,
133
- tenant=tenant,
134
87
  vm_project=vm_project,
135
88
  ssh_public_key=ssh_public_key,
136
89
  install_longhorn=install_longhorn,
@@ -98,6 +98,8 @@ class Resource:
98
98
  error_message (Union[Unset, str]):
99
99
  error_traceback (Union[Unset, str]):
100
100
  offering_customer_uuid (Union[Unset, UUID]):
101
+ offering_customer_name (Union[Unset, str]):
102
+ offering_customer_slug (Union[Unset, str]):
101
103
  options (Union[Unset, Any]):
102
104
  available_actions (Union[Unset, list[str]]):
103
105
  last_sync (Union[Unset, datetime.datetime]):
@@ -176,6 +178,8 @@ class Resource:
176
178
  error_message: Union[Unset, str] = UNSET
177
179
  error_traceback: Union[Unset, str] = UNSET
178
180
  offering_customer_uuid: Union[Unset, UUID] = UNSET
181
+ offering_customer_name: Union[Unset, str] = UNSET
182
+ offering_customer_slug: Union[Unset, str] = UNSET
179
183
  options: Union[Unset, Any] = UNSET
180
184
  available_actions: Union[Unset, list[str]] = UNSET
181
185
  last_sync: Union[Unset, datetime.datetime] = UNSET
@@ -416,6 +420,10 @@ class Resource:
416
420
  if not isinstance(self.offering_customer_uuid, Unset):
417
421
  offering_customer_uuid = str(self.offering_customer_uuid)
418
422
 
423
+ offering_customer_name = self.offering_customer_name
424
+
425
+ offering_customer_slug = self.offering_customer_slug
426
+
419
427
  options = self.options
420
428
 
421
429
  available_actions: Union[Unset, list[str]] = UNSET
@@ -587,6 +595,10 @@ class Resource:
587
595
  field_dict["error_traceback"] = error_traceback
588
596
  if offering_customer_uuid is not UNSET:
589
597
  field_dict["offering_customer_uuid"] = offering_customer_uuid
598
+ if offering_customer_name is not UNSET:
599
+ field_dict["offering_customer_name"] = offering_customer_name
600
+ if offering_customer_slug is not UNSET:
601
+ field_dict["offering_customer_slug"] = offering_customer_slug
590
602
  if options is not UNSET:
591
603
  field_dict["options"] = options
592
604
  if available_actions is not UNSET:
@@ -957,6 +969,10 @@ class Resource:
957
969
  else:
958
970
  offering_customer_uuid = UUID(_offering_customer_uuid)
959
971
 
972
+ offering_customer_name = d.pop("offering_customer_name", UNSET)
973
+
974
+ offering_customer_slug = d.pop("offering_customer_slug", UNSET)
975
+
960
976
  options = d.pop("options", UNSET)
961
977
 
962
978
  available_actions = cast(list[str], d.pop("available_actions", UNSET))
@@ -1082,6 +1098,8 @@ class Resource:
1082
1098
  error_message=error_message,
1083
1099
  error_traceback=error_traceback,
1084
1100
  offering_customer_uuid=offering_customer_uuid,
1101
+ offering_customer_name=offering_customer_name,
1102
+ offering_customer_slug=offering_customer_slug,
1085
1103
  options=options,
1086
1104
  available_actions=available_actions,
1087
1105
  last_sync=last_sync,
@@ -1,9 +1,11 @@
1
1
  from collections.abc import Mapping
2
- from typing import TYPE_CHECKING, Any, TypeVar
2
+ from typing import TYPE_CHECKING, Any, TypeVar, Union, cast
3
3
 
4
4
  from attrs import define as _attrs_define
5
5
  from attrs import field as _attrs_field
6
6
 
7
+ from ..types import UNSET, Unset
8
+
7
9
  if TYPE_CHECKING:
8
10
  from ..models.resource_update_limits_request_limits import ResourceUpdateLimitsRequestLimits
9
11
 
@@ -16,14 +18,22 @@ class ResourceUpdateLimitsRequest:
16
18
  """
17
19
  Attributes:
18
20
  limits (ResourceUpdateLimitsRequestLimits):
21
+ request_comment (Union[None, Unset, str]):
19
22
  """
20
23
 
21
24
  limits: "ResourceUpdateLimitsRequestLimits"
25
+ request_comment: Union[None, Unset, str] = UNSET
22
26
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
23
27
 
24
28
  def to_dict(self) -> dict[str, Any]:
25
29
  limits = self.limits.to_dict()
26
30
 
31
+ request_comment: Union[None, Unset, str]
32
+ if isinstance(self.request_comment, Unset):
33
+ request_comment = UNSET
34
+ else:
35
+ request_comment = self.request_comment
36
+
27
37
  field_dict: dict[str, Any] = {}
28
38
  field_dict.update(self.additional_properties)
29
39
  field_dict.update(
@@ -31,6 +41,8 @@ class ResourceUpdateLimitsRequest:
31
41
  "limits": limits,
32
42
  }
33
43
  )
44
+ if request_comment is not UNSET:
45
+ field_dict["request_comment"] = request_comment
34
46
 
35
47
  return field_dict
36
48
 
@@ -41,8 +53,18 @@ class ResourceUpdateLimitsRequest:
41
53
  d = dict(src_dict)
42
54
  limits = ResourceUpdateLimitsRequestLimits.from_dict(d.pop("limits"))
43
55
 
56
+ def _parse_request_comment(data: object) -> Union[None, Unset, str]:
57
+ if data is None:
58
+ return data
59
+ if isinstance(data, Unset):
60
+ return data
61
+ return cast(Union[None, Unset, str], data)
62
+
63
+ request_comment = _parse_request_comment(d.pop("request_comment", UNSET))
64
+
44
65
  resource_update_limits_request = cls(
45
66
  limits=limits,
67
+ request_comment=request_comment,
46
68
  )
47
69
 
48
70
  resource_update_limits_request.additional_properties = d
@@ -17,11 +17,13 @@ class ServiceProviderRequest:
17
17
  Attributes:
18
18
  customer (str):
19
19
  description (Union[Unset, str]):
20
+ enable_notifications (Union[Unset, bool]):
20
21
  image (Union[File, None, Unset]):
21
22
  """
22
23
 
23
24
  customer: str
24
25
  description: Union[Unset, str] = UNSET
26
+ enable_notifications: Union[Unset, bool] = UNSET
25
27
  image: Union[File, None, Unset] = UNSET
26
28
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
27
29
 
@@ -30,6 +32,8 @@ class ServiceProviderRequest:
30
32
 
31
33
  description = self.description
32
34
 
35
+ enable_notifications = self.enable_notifications
36
+
33
37
  image: Union[None, Unset, types.FileTypes]
34
38
  if isinstance(self.image, Unset):
35
39
  image = UNSET
@@ -48,6 +52,8 @@ class ServiceProviderRequest:
48
52
  )
49
53
  if description is not UNSET:
50
54
  field_dict["description"] = description
55
+ if enable_notifications is not UNSET:
56
+ field_dict["enable_notifications"] = enable_notifications
51
57
  if image is not UNSET:
52
58
  field_dict["image"] = image
53
59
 
@@ -60,6 +66,8 @@ class ServiceProviderRequest:
60
66
 
61
67
  description = d.pop("description", UNSET)
62
68
 
69
+ enable_notifications = d.pop("enable_notifications", UNSET)
70
+
63
71
  def _parse_image(data: object) -> Union[File, None, Unset]:
64
72
  if data is None:
65
73
  return data
@@ -80,6 +88,7 @@ class ServiceProviderRequest:
80
88
  service_provider_request = cls(
81
89
  customer=customer,
82
90
  description=description,
91
+ enable_notifications=enable_notifications,
83
92
  image=image,
84
93
  )
85
94