waldur-api-client 7.6.7__py3-none-any.whl → 7.6.9__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 (91) hide show
  1. waldur_api_client/api/backend_resource_requests/__init__.py +1 -0
  2. waldur_api_client/api/backend_resource_requests/backend_resource_requests_create.py +150 -0
  3. waldur_api_client/api/backend_resource_requests/backend_resource_requests_list.py +313 -0
  4. waldur_api_client/api/backend_resource_requests/backend_resource_requests_retrieve.py +142 -0
  5. waldur_api_client/api/backend_resource_requests/backend_resource_requests_set_done.py +144 -0
  6. waldur_api_client/api/backend_resource_requests/backend_resource_requests_set_erred.py +166 -0
  7. waldur_api_client/api/backend_resource_requests/backend_resource_requests_start_processing.py +146 -0
  8. waldur_api_client/api/backend_resources/__init__.py +1 -0
  9. waldur_api_client/api/backend_resources/backend_resources_create.py +150 -0
  10. waldur_api_client/api/backend_resources/backend_resources_destroy.py +89 -0
  11. waldur_api_client/api/backend_resources/backend_resources_import_resource.py +162 -0
  12. waldur_api_client/api/backend_resources/backend_resources_list.py +315 -0
  13. waldur_api_client/api/backend_resources/backend_resources_retrieve.py +142 -0
  14. waldur_api_client/api/invoices/invoices_list.py +0 -30
  15. waldur_api_client/api/invoices/invoices_stats_list.py +0 -30
  16. waldur_api_client/api/marketplace_maintenance_announcement_offerings/__init__.py +1 -0
  17. waldur_api_client/api/marketplace_maintenance_announcement_offerings/marketplace_maintenance_announcement_offerings_create.py +152 -0
  18. waldur_api_client/api/marketplace_maintenance_announcement_offerings/marketplace_maintenance_announcement_offerings_destroy.py +89 -0
  19. waldur_api_client/api/marketplace_maintenance_announcement_offerings/marketplace_maintenance_announcement_offerings_list.py +175 -0
  20. waldur_api_client/api/marketplace_maintenance_announcement_offerings/marketplace_maintenance_announcement_offerings_partial_update.py +166 -0
  21. waldur_api_client/api/marketplace_maintenance_announcement_offerings/marketplace_maintenance_announcement_offerings_retrieve.py +144 -0
  22. waldur_api_client/api/marketplace_maintenance_announcement_offerings/marketplace_maintenance_announcement_offerings_update.py +166 -0
  23. waldur_api_client/api/marketplace_maintenance_announcement_template_offerings/__init__.py +1 -0
  24. waldur_api_client/api/marketplace_maintenance_announcement_template_offerings/marketplace_maintenance_announcement_template_offerings_create.py +152 -0
  25. waldur_api_client/api/marketplace_maintenance_announcement_template_offerings/marketplace_maintenance_announcement_template_offerings_destroy.py +89 -0
  26. waldur_api_client/api/marketplace_maintenance_announcement_template_offerings/marketplace_maintenance_announcement_template_offerings_list.py +175 -0
  27. waldur_api_client/api/marketplace_maintenance_announcement_template_offerings/marketplace_maintenance_announcement_template_offerings_partial_update.py +168 -0
  28. waldur_api_client/api/marketplace_maintenance_announcement_template_offerings/marketplace_maintenance_announcement_template_offerings_retrieve.py +144 -0
  29. waldur_api_client/api/marketplace_maintenance_announcement_template_offerings/marketplace_maintenance_announcement_template_offerings_update.py +166 -0
  30. waldur_api_client/api/marketplace_maintenance_announcements/__init__.py +1 -0
  31. waldur_api_client/api/marketplace_maintenance_announcements/marketplace_maintenance_announcements_create.py +150 -0
  32. waldur_api_client/api/marketplace_maintenance_announcements/marketplace_maintenance_announcements_destroy.py +89 -0
  33. waldur_api_client/api/marketplace_maintenance_announcements/marketplace_maintenance_announcements_list.py +175 -0
  34. waldur_api_client/api/marketplace_maintenance_announcements/marketplace_maintenance_announcements_partial_update.py +164 -0
  35. waldur_api_client/api/marketplace_maintenance_announcements/marketplace_maintenance_announcements_retrieve.py +142 -0
  36. waldur_api_client/api/marketplace_maintenance_announcements/marketplace_maintenance_announcements_update.py +164 -0
  37. waldur_api_client/api/marketplace_maintenance_announcements_template/__init__.py +1 -0
  38. waldur_api_client/api/marketplace_maintenance_announcements_template/marketplace_maintenance_announcements_template_create.py +152 -0
  39. waldur_api_client/api/marketplace_maintenance_announcements_template/marketplace_maintenance_announcements_template_destroy.py +89 -0
  40. waldur_api_client/api/marketplace_maintenance_announcements_template/marketplace_maintenance_announcements_template_list.py +175 -0
  41. waldur_api_client/api/marketplace_maintenance_announcements_template/marketplace_maintenance_announcements_template_partial_update.py +166 -0
  42. waldur_api_client/api/marketplace_maintenance_announcements_template/marketplace_maintenance_announcements_template_retrieve.py +144 -0
  43. waldur_api_client/api/marketplace_maintenance_announcements_template/marketplace_maintenance_announcements_template_update.py +166 -0
  44. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_update_offering_component.py +6 -6
  45. waldur_api_client/api/marketplace_service_providers/marketplace_service_providers_customer_projects_list.py +15 -0
  46. waldur_api_client/api/marketplace_service_providers/marketplace_service_providers_projects_list.py +15 -0
  47. waldur_api_client/api/openstack_volume_types/openstack_volume_types_names_retrieve.py +118 -0
  48. waldur_api_client/api/projects/projects_list.py +15 -0
  49. waldur_api_client/models/__init__.py +60 -2
  50. waldur_api_client/models/backend_resource.py +162 -0
  51. waldur_api_client/models/backend_resource_import_request.py +67 -0
  52. waldur_api_client/models/backend_resource_req.py +162 -0
  53. waldur_api_client/models/backend_resource_req_request.py +60 -0
  54. waldur_api_client/models/backend_resource_req_state_enum.py +11 -0
  55. waldur_api_client/models/backend_resource_request.py +96 -0
  56. waldur_api_client/models/backend_resource_request_set_erred_request.py +68 -0
  57. waldur_api_client/models/backend_resource_requests_list_o_item.py +9 -0
  58. waldur_api_client/models/backend_resource_requests_list_state_item.py +11 -0
  59. waldur_api_client/models/{order_details_attributes.py → backend_resource_requests_set_done_response_200.py} +6 -6
  60. waldur_api_client/models/backend_resource_requests_set_erred_response_200.py +44 -0
  61. waldur_api_client/models/backend_resource_requests_start_processing_response_200.py +44 -0
  62. waldur_api_client/models/backend_resources_list_o_item.py +9 -0
  63. waldur_api_client/models/constance_settings.py +22 -0
  64. waldur_api_client/models/constance_settings_request.py +22 -0
  65. waldur_api_client/models/event_types_enum.py +4 -0
  66. waldur_api_client/models/impact_level_enum.py +11 -0
  67. waldur_api_client/models/maintenance_announcement.py +225 -0
  68. waldur_api_client/models/maintenance_announcement_offering.py +112 -0
  69. waldur_api_client/models/maintenance_announcement_offering_request.py +95 -0
  70. waldur_api_client/models/maintenance_announcement_offering_template.py +112 -0
  71. waldur_api_client/models/maintenance_announcement_offering_template_request.py +95 -0
  72. waldur_api_client/models/maintenance_announcement_request.py +113 -0
  73. waldur_api_client/models/maintenance_announcement_state_enum.py +12 -0
  74. waldur_api_client/models/maintenance_announcement_template.py +134 -0
  75. waldur_api_client/models/maintenance_announcement_template_request.py +95 -0
  76. waldur_api_client/models/maintenance_type_enum.py +12 -0
  77. waldur_api_client/models/merged_plugin_options.py +21 -1
  78. waldur_api_client/models/merged_plugin_options_request.py +21 -1
  79. waldur_api_client/models/offering_component.py +15 -4
  80. waldur_api_client/models/order_details.py +4 -14
  81. waldur_api_client/models/patched_maintenance_announcement_offering_request.py +94 -0
  82. waldur_api_client/models/patched_maintenance_announcement_offering_template_request.py +94 -0
  83. waldur_api_client/models/patched_maintenance_announcement_request.py +128 -0
  84. waldur_api_client/models/patched_maintenance_announcement_template_request.py +94 -0
  85. waldur_api_client/models/update_offering_component_request.py +274 -0
  86. waldur_api_client/models/user_agreement.py +9 -11
  87. waldur_api_client/models/user_agreement_request.py +9 -11
  88. {waldur_api_client-7.6.7.dist-info → waldur_api_client-7.6.9.dist-info}/METADATA +1 -1
  89. {waldur_api_client-7.6.7.dist-info → waldur_api_client-7.6.9.dist-info}/RECORD +91 -21
  90. {waldur_api_client-7.6.7.dist-info → waldur_api_client-7.6.9.dist-info}/LICENSE +0 -0
  91. {waldur_api_client-7.6.7.dist-info → waldur_api_client-7.6.9.dist-info}/WHEEL +0 -0
@@ -0,0 +1,113 @@
1
+ import datetime
2
+ from collections.abc import Mapping
3
+ from typing import Any, TypeVar, Union
4
+
5
+ from attrs import define as _attrs_define
6
+ from attrs import field as _attrs_field
7
+ from dateutil.parser import isoparse
8
+
9
+ from ..models.maintenance_type_enum import MaintenanceTypeEnum
10
+ from ..types import UNSET, Unset
11
+
12
+ T = TypeVar("T", bound="MaintenanceAnnouncementRequest")
13
+
14
+
15
+ @_attrs_define
16
+ class MaintenanceAnnouncementRequest:
17
+ """
18
+ Attributes:
19
+ name (str):
20
+ scheduled_start (datetime.datetime): When the maintenance is scheduled to begin
21
+ scheduled_end (datetime.datetime): When the maintenance is scheduled to complete
22
+ service_provider (str): Service provider announcing the maintenance
23
+ message (Union[Unset, str]):
24
+ maintenance_type (Union[Unset, MaintenanceTypeEnum]):
25
+ """
26
+
27
+ name: str
28
+ scheduled_start: datetime.datetime
29
+ scheduled_end: datetime.datetime
30
+ service_provider: str
31
+ message: Union[Unset, str] = UNSET
32
+ maintenance_type: Union[Unset, MaintenanceTypeEnum] = UNSET
33
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
34
+
35
+ def to_dict(self) -> dict[str, Any]:
36
+ name = self.name
37
+
38
+ scheduled_start = self.scheduled_start.isoformat()
39
+
40
+ scheduled_end = self.scheduled_end.isoformat()
41
+
42
+ service_provider = self.service_provider
43
+
44
+ message = self.message
45
+
46
+ maintenance_type: Union[Unset, int] = UNSET
47
+ if not isinstance(self.maintenance_type, Unset):
48
+ maintenance_type = self.maintenance_type.value
49
+
50
+ field_dict: dict[str, Any] = {}
51
+ field_dict.update(self.additional_properties)
52
+ field_dict.update(
53
+ {
54
+ "name": name,
55
+ "scheduled_start": scheduled_start,
56
+ "scheduled_end": scheduled_end,
57
+ "service_provider": service_provider,
58
+ }
59
+ )
60
+ if message is not UNSET:
61
+ field_dict["message"] = message
62
+ if maintenance_type is not UNSET:
63
+ field_dict["maintenance_type"] = maintenance_type
64
+
65
+ return field_dict
66
+
67
+ @classmethod
68
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
69
+ d = dict(src_dict)
70
+ name = d.pop("name")
71
+
72
+ scheduled_start = isoparse(d.pop("scheduled_start"))
73
+
74
+ scheduled_end = isoparse(d.pop("scheduled_end"))
75
+
76
+ service_provider = d.pop("service_provider")
77
+
78
+ message = d.pop("message", UNSET)
79
+
80
+ _maintenance_type = d.pop("maintenance_type", UNSET)
81
+ maintenance_type: Union[Unset, MaintenanceTypeEnum]
82
+ if isinstance(_maintenance_type, Unset):
83
+ maintenance_type = UNSET
84
+ else:
85
+ maintenance_type = MaintenanceTypeEnum(_maintenance_type)
86
+
87
+ maintenance_announcement_request = cls(
88
+ name=name,
89
+ scheduled_start=scheduled_start,
90
+ scheduled_end=scheduled_end,
91
+ service_provider=service_provider,
92
+ message=message,
93
+ maintenance_type=maintenance_type,
94
+ )
95
+
96
+ maintenance_announcement_request.additional_properties = d
97
+ return maintenance_announcement_request
98
+
99
+ @property
100
+ def additional_keys(self) -> list[str]:
101
+ return list(self.additional_properties.keys())
102
+
103
+ def __getitem__(self, key: str) -> Any:
104
+ return self.additional_properties[key]
105
+
106
+ def __setitem__(self, key: str, value: Any) -> None:
107
+ self.additional_properties[key] = value
108
+
109
+ def __delitem__(self, key: str) -> None:
110
+ del self.additional_properties[key]
111
+
112
+ def __contains__(self, key: str) -> bool:
113
+ return key in self.additional_properties
@@ -0,0 +1,12 @@
1
+ from enum import IntEnum
2
+
3
+
4
+ class MaintenanceAnnouncementStateEnum(IntEnum):
5
+ VALUE_1 = 1
6
+ VALUE_2 = 2
7
+ VALUE_3 = 3
8
+ VALUE_4 = 4
9
+ VALUE_5 = 5
10
+
11
+ def __str__(self) -> str:
12
+ return str(self.value)
@@ -0,0 +1,134 @@
1
+ from collections.abc import Mapping
2
+ from typing import TYPE_CHECKING, Any, TypeVar, Union
3
+ from uuid import UUID
4
+
5
+ from attrs import define as _attrs_define
6
+ from attrs import field as _attrs_field
7
+
8
+ from ..models.maintenance_type_enum import MaintenanceTypeEnum
9
+ from ..types import UNSET, Unset
10
+
11
+ if TYPE_CHECKING:
12
+ from ..models.maintenance_announcement_offering import MaintenanceAnnouncementOffering
13
+
14
+
15
+ T = TypeVar("T", bound="MaintenanceAnnouncementTemplate")
16
+
17
+
18
+ @_attrs_define
19
+ class MaintenanceAnnouncementTemplate:
20
+ """
21
+ Attributes:
22
+ url (str):
23
+ uuid (UUID):
24
+ name (str):
25
+ service_provider (str): Service provider announcing the maintenance
26
+ affected_offerings (list['MaintenanceAnnouncementOffering']):
27
+ message (Union[Unset, str]):
28
+ maintenance_type (Union[Unset, MaintenanceTypeEnum]):
29
+ """
30
+
31
+ url: str
32
+ uuid: UUID
33
+ name: str
34
+ service_provider: str
35
+ affected_offerings: list["MaintenanceAnnouncementOffering"]
36
+ message: Union[Unset, str] = UNSET
37
+ maintenance_type: Union[Unset, MaintenanceTypeEnum] = UNSET
38
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
39
+
40
+ def to_dict(self) -> dict[str, Any]:
41
+ url = self.url
42
+
43
+ uuid = str(self.uuid)
44
+
45
+ name = self.name
46
+
47
+ service_provider = self.service_provider
48
+
49
+ affected_offerings = []
50
+ for affected_offerings_item_data in self.affected_offerings:
51
+ affected_offerings_item = affected_offerings_item_data.to_dict()
52
+ affected_offerings.append(affected_offerings_item)
53
+
54
+ message = self.message
55
+
56
+ maintenance_type: Union[Unset, int] = UNSET
57
+ if not isinstance(self.maintenance_type, Unset):
58
+ maintenance_type = self.maintenance_type.value
59
+
60
+ field_dict: dict[str, Any] = {}
61
+ field_dict.update(self.additional_properties)
62
+ field_dict.update(
63
+ {
64
+ "url": url,
65
+ "uuid": uuid,
66
+ "name": name,
67
+ "service_provider": service_provider,
68
+ "affected_offerings": affected_offerings,
69
+ }
70
+ )
71
+ if message is not UNSET:
72
+ field_dict["message"] = message
73
+ if maintenance_type is not UNSET:
74
+ field_dict["maintenance_type"] = maintenance_type
75
+
76
+ return field_dict
77
+
78
+ @classmethod
79
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
80
+ from ..models.maintenance_announcement_offering import MaintenanceAnnouncementOffering
81
+
82
+ d = dict(src_dict)
83
+ url = d.pop("url")
84
+
85
+ uuid = UUID(d.pop("uuid"))
86
+
87
+ name = d.pop("name")
88
+
89
+ service_provider = d.pop("service_provider")
90
+
91
+ affected_offerings = []
92
+ _affected_offerings = d.pop("affected_offerings")
93
+ for affected_offerings_item_data in _affected_offerings:
94
+ affected_offerings_item = MaintenanceAnnouncementOffering.from_dict(affected_offerings_item_data)
95
+
96
+ affected_offerings.append(affected_offerings_item)
97
+
98
+ message = d.pop("message", UNSET)
99
+
100
+ _maintenance_type = d.pop("maintenance_type", UNSET)
101
+ maintenance_type: Union[Unset, MaintenanceTypeEnum]
102
+ if isinstance(_maintenance_type, Unset):
103
+ maintenance_type = UNSET
104
+ else:
105
+ maintenance_type = MaintenanceTypeEnum(_maintenance_type)
106
+
107
+ maintenance_announcement_template = cls(
108
+ url=url,
109
+ uuid=uuid,
110
+ name=name,
111
+ service_provider=service_provider,
112
+ affected_offerings=affected_offerings,
113
+ message=message,
114
+ maintenance_type=maintenance_type,
115
+ )
116
+
117
+ maintenance_announcement_template.additional_properties = d
118
+ return maintenance_announcement_template
119
+
120
+ @property
121
+ def additional_keys(self) -> list[str]:
122
+ return list(self.additional_properties.keys())
123
+
124
+ def __getitem__(self, key: str) -> Any:
125
+ return self.additional_properties[key]
126
+
127
+ def __setitem__(self, key: str, value: Any) -> None:
128
+ self.additional_properties[key] = value
129
+
130
+ def __delitem__(self, key: str) -> None:
131
+ del self.additional_properties[key]
132
+
133
+ def __contains__(self, key: str) -> bool:
134
+ return key in self.additional_properties
@@ -0,0 +1,95 @@
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 ..models.maintenance_type_enum import MaintenanceTypeEnum
8
+ from ..types import UNSET, Unset
9
+
10
+ T = TypeVar("T", bound="MaintenanceAnnouncementTemplateRequest")
11
+
12
+
13
+ @_attrs_define
14
+ class MaintenanceAnnouncementTemplateRequest:
15
+ """
16
+ Attributes:
17
+ name (str):
18
+ service_provider (str): Service provider announcing the maintenance
19
+ message (Union[Unset, str]):
20
+ maintenance_type (Union[Unset, MaintenanceTypeEnum]):
21
+ """
22
+
23
+ name: str
24
+ service_provider: str
25
+ message: Union[Unset, str] = UNSET
26
+ maintenance_type: Union[Unset, MaintenanceTypeEnum] = UNSET
27
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
28
+
29
+ def to_dict(self) -> dict[str, Any]:
30
+ name = self.name
31
+
32
+ service_provider = self.service_provider
33
+
34
+ message = self.message
35
+
36
+ maintenance_type: Union[Unset, int] = UNSET
37
+ if not isinstance(self.maintenance_type, Unset):
38
+ maintenance_type = self.maintenance_type.value
39
+
40
+ field_dict: dict[str, Any] = {}
41
+ field_dict.update(self.additional_properties)
42
+ field_dict.update(
43
+ {
44
+ "name": name,
45
+ "service_provider": service_provider,
46
+ }
47
+ )
48
+ if message is not UNSET:
49
+ field_dict["message"] = message
50
+ if maintenance_type is not UNSET:
51
+ field_dict["maintenance_type"] = maintenance_type
52
+
53
+ return field_dict
54
+
55
+ @classmethod
56
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
57
+ d = dict(src_dict)
58
+ name = d.pop("name")
59
+
60
+ service_provider = d.pop("service_provider")
61
+
62
+ message = d.pop("message", UNSET)
63
+
64
+ _maintenance_type = d.pop("maintenance_type", UNSET)
65
+ maintenance_type: Union[Unset, MaintenanceTypeEnum]
66
+ if isinstance(_maintenance_type, Unset):
67
+ maintenance_type = UNSET
68
+ else:
69
+ maintenance_type = MaintenanceTypeEnum(_maintenance_type)
70
+
71
+ maintenance_announcement_template_request = cls(
72
+ name=name,
73
+ service_provider=service_provider,
74
+ message=message,
75
+ maintenance_type=maintenance_type,
76
+ )
77
+
78
+ maintenance_announcement_template_request.additional_properties = d
79
+ return maintenance_announcement_template_request
80
+
81
+ @property
82
+ def additional_keys(self) -> list[str]:
83
+ return list(self.additional_properties.keys())
84
+
85
+ def __getitem__(self, key: str) -> Any:
86
+ return self.additional_properties[key]
87
+
88
+ def __setitem__(self, key: str, value: Any) -> None:
89
+ self.additional_properties[key] = value
90
+
91
+ def __delitem__(self, key: str) -> None:
92
+ del self.additional_properties[key]
93
+
94
+ def __contains__(self, key: str) -> bool:
95
+ return key in self.additional_properties
@@ -0,0 +1,12 @@
1
+ from enum import IntEnum
2
+
3
+
4
+ class MaintenanceTypeEnum(IntEnum):
5
+ VALUE_1 = 1
6
+ VALUE_2 = 2
7
+ VALUE_3 = 3
8
+ VALUE_4 = 4
9
+ VALUE_5 = 5
10
+
11
+ def __str__(self) -> str:
12
+ return str(self.value)
@@ -31,6 +31,10 @@ class MergedPluginOptions:
31
31
  the same organization under which the request is done
32
32
  supports_downscaling (Union[Unset, bool]): If set to True, it will be possible to downscale resources
33
33
  supports_pausing (Union[Unset, bool]): If set to True, it will be possible to pause resources
34
+ minimal_team_count_for_provisioning (Union[Unset, int]): Minimal team count required for provisioning of
35
+ resources
36
+ required_team_role_for_provisioning (Union[Unset, str]): Required user role in a project for provisioning of
37
+ resources
34
38
  default_internal_network_mtu (Union[Unset, int]): If set, it will be used as a default MTU for the first network
35
39
  in a tenant
36
40
  max_instances (Union[Unset, int]): Default limit for number of instances in OpenStack tenant
@@ -65,7 +69,7 @@ class MergedPluginOptions:
65
69
  managed_rancher_load_balancer_data_volume_size_gb (Union[Unset, int]):
66
70
  managed_rancher_load_balancer_data_volume_type_name (Union[Unset, str]):
67
71
  managed_rancher_tenant_max_cpu (Union[Unset, int]): Max number of vCPUs for tenants
68
- managed_rancher_tenant_max_ram (Union[Unset, int]): Max number of RAM for tenants
72
+ managed_rancher_tenant_max_ram (Union[Unset, int]): Max number of RAM for tenants (GB)
69
73
  managed_rancher_tenant_max_disk (Union[Unset, int]): Max size of disk space for tenants (GB)
70
74
  account_name_generation_policy (Union[AccountNameGenerationPolicyEnum, None, Unset]): Slurm account name
71
75
  generation policy
@@ -80,6 +84,8 @@ class MergedPluginOptions:
80
84
  auto_approve_in_service_provider_projects: Union[Unset, bool] = UNSET
81
85
  supports_downscaling: Union[Unset, bool] = UNSET
82
86
  supports_pausing: Union[Unset, bool] = UNSET
87
+ minimal_team_count_for_provisioning: Union[Unset, int] = UNSET
88
+ required_team_role_for_provisioning: Union[Unset, str] = UNSET
83
89
  default_internal_network_mtu: Union[Unset, int] = UNSET
84
90
  max_instances: Union[Unset, int] = UNSET
85
91
  max_volumes: Union[Unset, int] = UNSET
@@ -139,6 +145,10 @@ class MergedPluginOptions:
139
145
 
140
146
  supports_pausing = self.supports_pausing
141
147
 
148
+ minimal_team_count_for_provisioning = self.minimal_team_count_for_provisioning
149
+
150
+ required_team_role_for_provisioning = self.required_team_role_for_provisioning
151
+
142
152
  default_internal_network_mtu = self.default_internal_network_mtu
143
153
 
144
154
  max_instances = self.max_instances
@@ -242,6 +252,10 @@ class MergedPluginOptions:
242
252
  field_dict["supports_downscaling"] = supports_downscaling
243
253
  if supports_pausing is not UNSET:
244
254
  field_dict["supports_pausing"] = supports_pausing
255
+ if minimal_team_count_for_provisioning is not UNSET:
256
+ field_dict["minimal_team_count_for_provisioning"] = minimal_team_count_for_provisioning
257
+ if required_team_role_for_provisioning is not UNSET:
258
+ field_dict["required_team_role_for_provisioning"] = required_team_role_for_provisioning
245
259
  if default_internal_network_mtu is not UNSET:
246
260
  field_dict["default_internal_network_mtu"] = default_internal_network_mtu
247
261
  if max_instances is not UNSET:
@@ -351,6 +365,10 @@ class MergedPluginOptions:
351
365
 
352
366
  supports_pausing = d.pop("supports_pausing", UNSET)
353
367
 
368
+ minimal_team_count_for_provisioning = d.pop("minimal_team_count_for_provisioning", UNSET)
369
+
370
+ required_team_role_for_provisioning = d.pop("required_team_role_for_provisioning", UNSET)
371
+
354
372
  default_internal_network_mtu = d.pop("default_internal_network_mtu", UNSET)
355
373
 
356
374
  max_instances = d.pop("max_instances", UNSET)
@@ -464,6 +482,8 @@ class MergedPluginOptions:
464
482
  auto_approve_in_service_provider_projects=auto_approve_in_service_provider_projects,
465
483
  supports_downscaling=supports_downscaling,
466
484
  supports_pausing=supports_pausing,
485
+ minimal_team_count_for_provisioning=minimal_team_count_for_provisioning,
486
+ required_team_role_for_provisioning=required_team_role_for_provisioning,
467
487
  default_internal_network_mtu=default_internal_network_mtu,
468
488
  max_instances=max_instances,
469
489
  max_volumes=max_volumes,
@@ -31,6 +31,10 @@ class MergedPluginOptionsRequest:
31
31
  the same organization under which the request is done
32
32
  supports_downscaling (Union[Unset, bool]): If set to True, it will be possible to downscale resources
33
33
  supports_pausing (Union[Unset, bool]): If set to True, it will be possible to pause resources
34
+ minimal_team_count_for_provisioning (Union[Unset, int]): Minimal team count required for provisioning of
35
+ resources
36
+ required_team_role_for_provisioning (Union[Unset, str]): Required user role in a project for provisioning of
37
+ resources
34
38
  default_internal_network_mtu (Union[Unset, int]): If set, it will be used as a default MTU for the first network
35
39
  in a tenant
36
40
  max_instances (Union[Unset, int]): Default limit for number of instances in OpenStack tenant
@@ -65,7 +69,7 @@ class MergedPluginOptionsRequest:
65
69
  managed_rancher_load_balancer_data_volume_size_gb (Union[Unset, int]):
66
70
  managed_rancher_load_balancer_data_volume_type_name (Union[Unset, str]):
67
71
  managed_rancher_tenant_max_cpu (Union[Unset, int]): Max number of vCPUs for tenants
68
- managed_rancher_tenant_max_ram (Union[Unset, int]): Max number of RAM for tenants
72
+ managed_rancher_tenant_max_ram (Union[Unset, int]): Max number of RAM for tenants (GB)
69
73
  managed_rancher_tenant_max_disk (Union[Unset, int]): Max size of disk space for tenants (GB)
70
74
  account_name_generation_policy (Union[AccountNameGenerationPolicyEnum, None, Unset]): Slurm account name
71
75
  generation policy
@@ -80,6 +84,8 @@ class MergedPluginOptionsRequest:
80
84
  auto_approve_in_service_provider_projects: Union[Unset, bool] = UNSET
81
85
  supports_downscaling: Union[Unset, bool] = UNSET
82
86
  supports_pausing: Union[Unset, bool] = UNSET
87
+ minimal_team_count_for_provisioning: Union[Unset, int] = UNSET
88
+ required_team_role_for_provisioning: Union[Unset, str] = UNSET
83
89
  default_internal_network_mtu: Union[Unset, int] = UNSET
84
90
  max_instances: Union[Unset, int] = UNSET
85
91
  max_volumes: Union[Unset, int] = UNSET
@@ -139,6 +145,10 @@ class MergedPluginOptionsRequest:
139
145
 
140
146
  supports_pausing = self.supports_pausing
141
147
 
148
+ minimal_team_count_for_provisioning = self.minimal_team_count_for_provisioning
149
+
150
+ required_team_role_for_provisioning = self.required_team_role_for_provisioning
151
+
142
152
  default_internal_network_mtu = self.default_internal_network_mtu
143
153
 
144
154
  max_instances = self.max_instances
@@ -242,6 +252,10 @@ class MergedPluginOptionsRequest:
242
252
  field_dict["supports_downscaling"] = supports_downscaling
243
253
  if supports_pausing is not UNSET:
244
254
  field_dict["supports_pausing"] = supports_pausing
255
+ if minimal_team_count_for_provisioning is not UNSET:
256
+ field_dict["minimal_team_count_for_provisioning"] = minimal_team_count_for_provisioning
257
+ if required_team_role_for_provisioning is not UNSET:
258
+ field_dict["required_team_role_for_provisioning"] = required_team_role_for_provisioning
245
259
  if default_internal_network_mtu is not UNSET:
246
260
  field_dict["default_internal_network_mtu"] = default_internal_network_mtu
247
261
  if max_instances is not UNSET:
@@ -351,6 +365,10 @@ class MergedPluginOptionsRequest:
351
365
 
352
366
  supports_pausing = d.pop("supports_pausing", UNSET)
353
367
 
368
+ minimal_team_count_for_provisioning = d.pop("minimal_team_count_for_provisioning", UNSET)
369
+
370
+ required_team_role_for_provisioning = d.pop("required_team_role_for_provisioning", UNSET)
371
+
354
372
  default_internal_network_mtu = d.pop("default_internal_network_mtu", UNSET)
355
373
 
356
374
  max_instances = d.pop("max_instances", UNSET)
@@ -464,6 +482,8 @@ class MergedPluginOptionsRequest:
464
482
  auto_approve_in_service_provider_projects=auto_approve_in_service_provider_projects,
465
483
  supports_downscaling=supports_downscaling,
466
484
  supports_pausing=supports_pausing,
485
+ minimal_team_count_for_provisioning=minimal_team_count_for_provisioning,
486
+ required_team_role_for_provisioning=required_team_role_for_provisioning,
467
487
  default_internal_network_mtu=default_internal_network_mtu,
468
488
  max_instances=max_instances,
469
489
  max_volumes=max_volumes,
@@ -32,7 +32,7 @@ class OfferingComponent:
32
32
  max_available_limit (Union[None, Unset, int]):
33
33
  is_boolean (Union[Unset, bool]):
34
34
  default_limit (Union[None, Unset, int]):
35
- factor (Union[Unset, int]):
35
+ factor (Union[None, Unset, int]):
36
36
  is_builtin (Union[Unset, bool]):
37
37
  """
38
38
 
@@ -51,7 +51,7 @@ class OfferingComponent:
51
51
  max_available_limit: Union[None, Unset, int] = UNSET
52
52
  is_boolean: Union[Unset, bool] = UNSET
53
53
  default_limit: Union[None, Unset, int] = UNSET
54
- factor: Union[Unset, int] = UNSET
54
+ factor: Union[None, Unset, int] = UNSET
55
55
  is_builtin: Union[Unset, bool] = UNSET
56
56
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
57
57
 
@@ -118,7 +118,11 @@ class OfferingComponent:
118
118
  else:
119
119
  default_limit = self.default_limit
120
120
 
121
- factor = self.factor
121
+ factor: Union[None, Unset, int]
122
+ if isinstance(self.factor, Unset):
123
+ factor = UNSET
124
+ else:
125
+ factor = self.factor
122
126
 
123
127
  is_builtin = self.is_builtin
124
128
 
@@ -263,7 +267,14 @@ class OfferingComponent:
263
267
 
264
268
  default_limit = _parse_default_limit(d.pop("default_limit", UNSET))
265
269
 
266
- factor = d.pop("factor", UNSET)
270
+ def _parse_factor(data: object) -> Union[None, Unset, int]:
271
+ if data is None:
272
+ return data
273
+ if isinstance(data, Unset):
274
+ return data
275
+ return cast(Union[None, Unset, int], data)
276
+
277
+ factor = _parse_factor(d.pop("factor", UNSET))
267
278
 
268
279
  is_builtin = d.pop("is_builtin", UNSET)
269
280
 
@@ -14,7 +14,6 @@ from ..types import UNSET, Unset
14
14
 
15
15
  if TYPE_CHECKING:
16
16
  from ..models.issue_reference import IssueReference
17
- from ..models.order_details_attributes import OrderDetailsAttributes
18
17
  from ..models.order_details_limits import OrderDetailsLimits
19
18
 
20
19
 
@@ -47,8 +46,7 @@ class OrderDetails:
47
46
  plan_name (Union[None, Unset, str]):
48
47
  plan_uuid (Union[None, UUID, Unset]):
49
48
  plan_description (Union[None, Unset, str]):
50
- attributes (Union[Unset, OrderDetailsAttributes]): Get attributes excluding secret attributes, such as username
51
- and password.
49
+ attributes (Union[Unset, Any]):
52
50
  limits (Union[Unset, OrderDetailsLimits]):
53
51
  uuid (Union[Unset, UUID]):
54
52
  created (Union[Unset, datetime.datetime]):
@@ -122,7 +120,7 @@ class OrderDetails:
122
120
  plan_name: Union[None, Unset, str] = UNSET
123
121
  plan_uuid: Union[None, UUID, Unset] = UNSET
124
122
  plan_description: Union[None, Unset, str] = UNSET
125
- attributes: Union[Unset, "OrderDetailsAttributes"] = UNSET
123
+ attributes: Union[Unset, Any] = UNSET
126
124
  limits: Union[Unset, "OrderDetailsLimits"] = UNSET
127
125
  uuid: Union[Unset, UUID] = UNSET
128
126
  created: Union[Unset, datetime.datetime] = UNSET
@@ -241,9 +239,7 @@ class OrderDetails:
241
239
  else:
242
240
  plan_description = self.plan_description
243
241
 
244
- attributes: Union[Unset, dict[str, Any]] = UNSET
245
- if not isinstance(self.attributes, Unset):
246
- attributes = self.attributes.to_dict()
242
+ attributes = self.attributes
247
243
 
248
244
  limits: Union[Unset, dict[str, Any]] = UNSET
249
245
  if not isinstance(self.limits, Unset):
@@ -598,7 +594,6 @@ class OrderDetails:
598
594
  @classmethod
599
595
  def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
600
596
  from ..models.issue_reference import IssueReference
601
- from ..models.order_details_attributes import OrderDetailsAttributes
602
597
  from ..models.order_details_limits import OrderDetailsLimits
603
598
 
604
599
  d = dict(src_dict)
@@ -703,12 +698,7 @@ class OrderDetails:
703
698
 
704
699
  plan_description = _parse_plan_description(d.pop("plan_description", UNSET))
705
700
 
706
- _attributes = d.pop("attributes", UNSET)
707
- attributes: Union[Unset, OrderDetailsAttributes]
708
- if isinstance(_attributes, Unset):
709
- attributes = UNSET
710
- else:
711
- attributes = OrderDetailsAttributes.from_dict(_attributes)
701
+ attributes = d.pop("attributes", UNSET)
712
702
 
713
703
  _limits = d.pop("limits", UNSET)
714
704
  limits: Union[Unset, OrderDetailsLimits]