waldur-api-client 7.7.1__py3-none-any.whl → 7.7.3__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 (90) hide show
  1. waldur_api_client/api/marketplace_checklists/marketplace_checklists_questions_list.py +31 -32
  2. waldur_api_client/api/marketplace_checklists/marketplace_checklists_retrieve.py +15 -14
  3. waldur_api_client/api/marketplace_checklists_admin/__init__.py +1 -0
  4. waldur_api_client/api/marketplace_checklists_admin/marketplace_checklists_admin_checklist_questions.py +187 -0
  5. waldur_api_client/api/marketplace_checklists_admin/marketplace_checklists_admin_create.py +150 -0
  6. waldur_api_client/api/marketplace_checklists_admin/marketplace_checklists_admin_destroy.py +89 -0
  7. waldur_api_client/api/marketplace_checklists_admin/marketplace_checklists_admin_list.py +173 -0
  8. waldur_api_client/api/marketplace_checklists_admin/marketplace_checklists_admin_partial_update.py +164 -0
  9. waldur_api_client/api/marketplace_checklists_admin/marketplace_checklists_admin_retrieve.py +142 -0
  10. waldur_api_client/api/marketplace_checklists_admin/marketplace_checklists_admin_update.py +164 -0
  11. waldur_api_client/api/marketplace_checklists_admin_question_dependencies/__init__.py +1 -0
  12. waldur_api_client/api/marketplace_checklists_admin_question_dependencies/marketplace_checklists_admin_question_dependencies_create.py +150 -0
  13. waldur_api_client/api/marketplace_checklists_admin_question_dependencies/marketplace_checklists_admin_question_dependencies_destroy.py +89 -0
  14. waldur_api_client/api/marketplace_checklists_admin_question_dependencies/marketplace_checklists_admin_question_dependencies_list.py +212 -0
  15. waldur_api_client/api/marketplace_checklists_admin_question_dependencies/marketplace_checklists_admin_question_dependencies_partial_update.py +164 -0
  16. waldur_api_client/api/marketplace_checklists_admin_question_dependencies/marketplace_checklists_admin_question_dependencies_retrieve.py +142 -0
  17. waldur_api_client/api/marketplace_checklists_admin_question_dependencies/marketplace_checklists_admin_question_dependencies_update.py +164 -0
  18. waldur_api_client/api/marketplace_checklists_admin_question_options/__init__.py +1 -0
  19. waldur_api_client/api/marketplace_checklists_admin_question_options/marketplace_checklists_admin_question_options_create.py +150 -0
  20. waldur_api_client/api/marketplace_checklists_admin_question_options/marketplace_checklists_admin_question_options_destroy.py +89 -0
  21. waldur_api_client/api/marketplace_checklists_admin_question_options/marketplace_checklists_admin_question_options_list.py +194 -0
  22. waldur_api_client/api/marketplace_checklists_admin_question_options/marketplace_checklists_admin_question_options_partial_update.py +164 -0
  23. waldur_api_client/api/marketplace_checklists_admin_question_options/marketplace_checklists_admin_question_options_retrieve.py +142 -0
  24. waldur_api_client/api/marketplace_checklists_admin_question_options/marketplace_checklists_admin_question_options_update.py +164 -0
  25. waldur_api_client/api/marketplace_checklists_admin_questions/__init__.py +1 -0
  26. waldur_api_client/api/marketplace_checklists_admin_questions/marketplace_checklists_admin_questions_create.py +148 -0
  27. waldur_api_client/api/marketplace_checklists_admin_questions/marketplace_checklists_admin_questions_destroy.py +89 -0
  28. waldur_api_client/api/marketplace_checklists_admin_questions/marketplace_checklists_admin_questions_list.py +192 -0
  29. waldur_api_client/api/marketplace_checklists_admin_questions/marketplace_checklists_admin_questions_partial_update.py +162 -0
  30. waldur_api_client/api/marketplace_checklists_admin_questions/marketplace_checklists_admin_questions_retrieve.py +140 -0
  31. waldur_api_client/api/marketplace_checklists_admin_questions/marketplace_checklists_admin_questions_update.py +162 -0
  32. waldur_api_client/api/marketplace_offering_users/marketplace_offering_users_list.py +23 -0
  33. waldur_api_client/api/marketplace_offering_users/marketplace_offering_users_set_pending_account_linking.py +105 -0
  34. waldur_api_client/api/marketplace_offering_users/marketplace_offering_users_set_pending_additional_validation.py +105 -0
  35. waldur_api_client/api/marketplace_offering_users/marketplace_offering_users_set_validation_complete.py +105 -0
  36. waldur_api_client/models/__init__.py +44 -2
  37. waldur_api_client/models/answer_list.py +8 -19
  38. waldur_api_client/models/answer_submit.py +7 -13
  39. waldur_api_client/models/answer_submit_request.py +7 -13
  40. waldur_api_client/models/booking_resource.py +18 -0
  41. waldur_api_client/models/booking_resources_list_field_item.py +2 -0
  42. waldur_api_client/models/booking_resources_retrieve_field_item.py +2 -0
  43. waldur_api_client/models/call_resource_template.py +23 -1
  44. waldur_api_client/models/checklist.py +8 -0
  45. waldur_api_client/models/checklist_admin.py +127 -0
  46. waldur_api_client/models/checklist_type_enum.py +10 -0
  47. waldur_api_client/models/create_checklist.py +131 -0
  48. waldur_api_client/models/create_checklist_request.py +90 -0
  49. waldur_api_client/models/event_types_enum.py +1 -0
  50. waldur_api_client/models/group_invitation.py +27 -3
  51. waldur_api_client/models/group_invitation_request.py +18 -0
  52. waldur_api_client/models/impact_level_display_enum.py +11 -0
  53. waldur_api_client/models/invitation.py +10 -4
  54. waldur_api_client/models/maintenance_announcement.py +8 -0
  55. waldur_api_client/models/maintenance_announcement_offering.py +17 -0
  56. waldur_api_client/models/maintenance_announcement_state_enum.py +7 -7
  57. waldur_api_client/models/marketplace_offering_users_list_field_item.py +2 -0
  58. waldur_api_client/models/marketplace_offering_users_list_state_item.py +16 -0
  59. waldur_api_client/models/marketplace_offering_users_retrieve_field_item.py +2 -0
  60. waldur_api_client/models/marketplace_provider_resources_details_retrieve_field_item.py +2 -0
  61. waldur_api_client/models/marketplace_provider_resources_list_field_item.py +2 -0
  62. waldur_api_client/models/marketplace_provider_resources_retrieve_field_item.py +2 -0
  63. waldur_api_client/models/marketplace_resources_details_retrieve_field_item.py +2 -0
  64. waldur_api_client/models/marketplace_resources_list_field_item.py +2 -0
  65. waldur_api_client/models/marketplace_resources_retrieve_field_item.py +2 -0
  66. waldur_api_client/models/offering_user.py +27 -0
  67. waldur_api_client/models/offering_user_state_enum.py +16 -0
  68. waldur_api_client/models/offering_user_state_transition_request.py +59 -0
  69. waldur_api_client/models/open_stack_port.py +15 -4
  70. waldur_api_client/models/open_stack_router.py +15 -4
  71. waldur_api_client/models/operator_enum.py +12 -0
  72. waldur_api_client/models/patched_create_checklist_request.py +96 -0
  73. waldur_api_client/models/patched_question_admin_request.py +208 -0
  74. waldur_api_client/models/patched_question_dependency_request.py +94 -0
  75. waldur_api_client/models/patched_question_options_admin_request.py +68 -0
  76. waldur_api_client/models/{checklist_question.py → question.py} +29 -16
  77. waldur_api_client/models/question_admin.py +260 -0
  78. waldur_api_client/models/question_admin_request.py +210 -0
  79. waldur_api_client/models/question_dependency.py +127 -0
  80. waldur_api_client/models/question_dependency_request.py +94 -0
  81. waldur_api_client/models/question_options.py +79 -0
  82. waldur_api_client/models/question_options_admin.py +103 -0
  83. waldur_api_client/models/question_options_admin_request.py +78 -0
  84. waldur_api_client/models/question_type_enum.py +15 -0
  85. waldur_api_client/models/resource.py +18 -0
  86. waldur_api_client/models/visible_invitation_details.py +10 -4
  87. {waldur_api_client-7.7.1.dist-info → waldur_api_client-7.7.3.dist-info}/METADATA +1 -1
  88. {waldur_api_client-7.7.1.dist-info → waldur_api_client-7.7.3.dist-info}/RECORD +90 -37
  89. {waldur_api_client-7.7.1.dist-info → waldur_api_client-7.7.3.dist-info}/LICENSE +0 -0
  90. {waldur_api_client-7.7.1.dist-info → waldur_api_client-7.7.3.dist-info}/WHEEL +0 -0
@@ -15,6 +15,7 @@ class Checklist:
15
15
  """
16
16
  Attributes:
17
17
  uuid (UUID):
18
+ url (str):
18
19
  name (str):
19
20
  questions_count (int):
20
21
  category_name (str):
@@ -24,6 +25,7 @@ class Checklist:
24
25
  """
25
26
 
26
27
  uuid: UUID
28
+ url: str
27
29
  name: str
28
30
  questions_count: int
29
31
  category_name: str
@@ -35,6 +37,8 @@ class Checklist:
35
37
  def to_dict(self) -> dict[str, Any]:
36
38
  uuid = str(self.uuid)
37
39
 
40
+ url = self.url
41
+
38
42
  name = self.name
39
43
 
40
44
  questions_count = self.questions_count
@@ -52,6 +56,7 @@ class Checklist:
52
56
  field_dict.update(
53
57
  {
54
58
  "uuid": uuid,
59
+ "url": url,
55
60
  "name": name,
56
61
  "questions_count": questions_count,
57
62
  "category_name": category_name,
@@ -69,6 +74,8 @@ class Checklist:
69
74
  d = dict(src_dict)
70
75
  uuid = UUID(d.pop("uuid"))
71
76
 
77
+ url = d.pop("url")
78
+
72
79
  name = d.pop("name")
73
80
 
74
81
  questions_count = d.pop("questions_count")
@@ -83,6 +90,7 @@ class Checklist:
83
90
 
84
91
  checklist = cls(
85
92
  uuid=uuid,
93
+ url=url,
86
94
  name=name,
87
95
  questions_count=questions_count,
88
96
  category_name=category_name,
@@ -0,0 +1,127 @@
1
+ from collections.abc import Mapping
2
+ from typing import Any, TypeVar, Union, cast
3
+ from uuid import UUID
4
+
5
+ from attrs import define as _attrs_define
6
+ from attrs import field as _attrs_field
7
+
8
+ from ..types import UNSET, Unset
9
+
10
+ T = TypeVar("T", bound="ChecklistAdmin")
11
+
12
+
13
+ @_attrs_define
14
+ class ChecklistAdmin:
15
+ """
16
+ Attributes:
17
+ uuid (UUID):
18
+ url (str):
19
+ name (str):
20
+ questions_count (int):
21
+ category_name (str):
22
+ category_uuid (UUID):
23
+ roles (list[str]):
24
+ checklist_type (str):
25
+ description (Union[Unset, str]):
26
+ """
27
+
28
+ uuid: UUID
29
+ url: str
30
+ name: str
31
+ questions_count: int
32
+ category_name: str
33
+ category_uuid: UUID
34
+ roles: list[str]
35
+ checklist_type: str
36
+ description: Union[Unset, str] = UNSET
37
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
38
+
39
+ def to_dict(self) -> dict[str, Any]:
40
+ uuid = str(self.uuid)
41
+
42
+ url = self.url
43
+
44
+ name = self.name
45
+
46
+ questions_count = self.questions_count
47
+
48
+ category_name = self.category_name
49
+
50
+ category_uuid = str(self.category_uuid)
51
+
52
+ roles = self.roles
53
+
54
+ checklist_type = self.checklist_type
55
+
56
+ description = self.description
57
+
58
+ field_dict: dict[str, Any] = {}
59
+ field_dict.update(self.additional_properties)
60
+ field_dict.update(
61
+ {
62
+ "uuid": uuid,
63
+ "url": url,
64
+ "name": name,
65
+ "questions_count": questions_count,
66
+ "category_name": category_name,
67
+ "category_uuid": category_uuid,
68
+ "roles": roles,
69
+ "checklist_type": checklist_type,
70
+ }
71
+ )
72
+ if description is not UNSET:
73
+ field_dict["description"] = description
74
+
75
+ return field_dict
76
+
77
+ @classmethod
78
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
79
+ d = dict(src_dict)
80
+ uuid = UUID(d.pop("uuid"))
81
+
82
+ url = d.pop("url")
83
+
84
+ name = d.pop("name")
85
+
86
+ questions_count = d.pop("questions_count")
87
+
88
+ category_name = d.pop("category_name")
89
+
90
+ category_uuid = UUID(d.pop("category_uuid"))
91
+
92
+ roles = cast(list[str], d.pop("roles"))
93
+
94
+ checklist_type = d.pop("checklist_type")
95
+
96
+ description = d.pop("description", UNSET)
97
+
98
+ checklist_admin = cls(
99
+ uuid=uuid,
100
+ url=url,
101
+ name=name,
102
+ questions_count=questions_count,
103
+ category_name=category_name,
104
+ category_uuid=category_uuid,
105
+ roles=roles,
106
+ checklist_type=checklist_type,
107
+ description=description,
108
+ )
109
+
110
+ checklist_admin.additional_properties = d
111
+ return checklist_admin
112
+
113
+ @property
114
+ def additional_keys(self) -> list[str]:
115
+ return list(self.additional_properties.keys())
116
+
117
+ def __getitem__(self, key: str) -> Any:
118
+ return self.additional_properties[key]
119
+
120
+ def __setitem__(self, key: str, value: Any) -> None:
121
+ self.additional_properties[key] = value
122
+
123
+ def __delitem__(self, key: str) -> None:
124
+ del self.additional_properties[key]
125
+
126
+ def __contains__(self, key: str) -> bool:
127
+ return key in self.additional_properties
@@ -0,0 +1,10 @@
1
+ from enum import Enum
2
+
3
+
4
+ class ChecklistTypeEnum(str, Enum):
5
+ OFFERING_COMPLIANCE = "offering_compliance"
6
+ PROJECT_COMPLIANCE = "project_compliance"
7
+ PROPOSAL_COMPLIANCE = "proposal_compliance"
8
+
9
+ def __str__(self) -> str:
10
+ return str(self.value)
@@ -0,0 +1,131 @@
1
+ from collections.abc import Mapping
2
+ from typing import Any, TypeVar, Union, cast
3
+ from uuid import UUID
4
+
5
+ from attrs import define as _attrs_define
6
+ from attrs import field as _attrs_field
7
+
8
+ from ..models.checklist_type_enum import ChecklistTypeEnum
9
+ from ..types import UNSET, Unset
10
+
11
+ T = TypeVar("T", bound="CreateChecklist")
12
+
13
+
14
+ @_attrs_define
15
+ class CreateChecklist:
16
+ """
17
+ Attributes:
18
+ uuid (UUID):
19
+ url (str):
20
+ name (str):
21
+ questions_count (int):
22
+ category_name (str):
23
+ category_uuid (UUID):
24
+ checklist_type (ChecklistTypeEnum):
25
+ description (Union[Unset, str]):
26
+ roles (Union[Unset, list[str]]):
27
+ """
28
+
29
+ uuid: UUID
30
+ url: str
31
+ name: str
32
+ questions_count: int
33
+ category_name: str
34
+ category_uuid: UUID
35
+ checklist_type: ChecklistTypeEnum
36
+ description: Union[Unset, str] = UNSET
37
+ roles: Union[Unset, list[str]] = UNSET
38
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
39
+
40
+ def to_dict(self) -> dict[str, Any]:
41
+ uuid = str(self.uuid)
42
+
43
+ url = self.url
44
+
45
+ name = self.name
46
+
47
+ questions_count = self.questions_count
48
+
49
+ category_name = self.category_name
50
+
51
+ category_uuid = str(self.category_uuid)
52
+
53
+ checklist_type = self.checklist_type.value
54
+
55
+ description = self.description
56
+
57
+ roles: Union[Unset, list[str]] = UNSET
58
+ if not isinstance(self.roles, Unset):
59
+ roles = self.roles
60
+
61
+ field_dict: dict[str, Any] = {}
62
+ field_dict.update(self.additional_properties)
63
+ field_dict.update(
64
+ {
65
+ "uuid": uuid,
66
+ "url": url,
67
+ "name": name,
68
+ "questions_count": questions_count,
69
+ "category_name": category_name,
70
+ "category_uuid": category_uuid,
71
+ "checklist_type": checklist_type,
72
+ }
73
+ )
74
+ if description is not UNSET:
75
+ field_dict["description"] = description
76
+ if roles is not UNSET:
77
+ field_dict["roles"] = roles
78
+
79
+ return field_dict
80
+
81
+ @classmethod
82
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
83
+ d = dict(src_dict)
84
+ uuid = UUID(d.pop("uuid"))
85
+
86
+ url = d.pop("url")
87
+
88
+ name = d.pop("name")
89
+
90
+ questions_count = d.pop("questions_count")
91
+
92
+ category_name = d.pop("category_name")
93
+
94
+ category_uuid = UUID(d.pop("category_uuid"))
95
+
96
+ checklist_type = ChecklistTypeEnum(d.pop("checklist_type"))
97
+
98
+ description = d.pop("description", UNSET)
99
+
100
+ roles = cast(list[str], d.pop("roles", UNSET))
101
+
102
+ create_checklist = cls(
103
+ uuid=uuid,
104
+ url=url,
105
+ name=name,
106
+ questions_count=questions_count,
107
+ category_name=category_name,
108
+ category_uuid=category_uuid,
109
+ checklist_type=checklist_type,
110
+ description=description,
111
+ roles=roles,
112
+ )
113
+
114
+ create_checklist.additional_properties = d
115
+ return create_checklist
116
+
117
+ @property
118
+ def additional_keys(self) -> list[str]:
119
+ return list(self.additional_properties.keys())
120
+
121
+ def __getitem__(self, key: str) -> Any:
122
+ return self.additional_properties[key]
123
+
124
+ def __setitem__(self, key: str, value: Any) -> None:
125
+ self.additional_properties[key] = value
126
+
127
+ def __delitem__(self, key: str) -> None:
128
+ del self.additional_properties[key]
129
+
130
+ def __contains__(self, key: str) -> bool:
131
+ return key in self.additional_properties
@@ -0,0 +1,90 @@
1
+ from collections.abc import Mapping
2
+ from typing import Any, TypeVar, Union, cast
3
+
4
+ from attrs import define as _attrs_define
5
+ from attrs import field as _attrs_field
6
+
7
+ from ..models.checklist_type_enum import ChecklistTypeEnum
8
+ from ..types import UNSET, Unset
9
+
10
+ T = TypeVar("T", bound="CreateChecklistRequest")
11
+
12
+
13
+ @_attrs_define
14
+ class CreateChecklistRequest:
15
+ """
16
+ Attributes:
17
+ name (str):
18
+ checklist_type (ChecklistTypeEnum):
19
+ description (Union[Unset, str]):
20
+ roles (Union[Unset, list[str]]):
21
+ """
22
+
23
+ name: str
24
+ checklist_type: ChecklistTypeEnum
25
+ description: Union[Unset, str] = UNSET
26
+ roles: Union[Unset, list[str]] = 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
+ checklist_type = self.checklist_type.value
33
+
34
+ description = self.description
35
+
36
+ roles: Union[Unset, list[str]] = UNSET
37
+ if not isinstance(self.roles, Unset):
38
+ roles = self.roles
39
+
40
+ field_dict: dict[str, Any] = {}
41
+ field_dict.update(self.additional_properties)
42
+ field_dict.update(
43
+ {
44
+ "name": name,
45
+ "checklist_type": checklist_type,
46
+ }
47
+ )
48
+ if description is not UNSET:
49
+ field_dict["description"] = description
50
+ if roles is not UNSET:
51
+ field_dict["roles"] = roles
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
+ checklist_type = ChecklistTypeEnum(d.pop("checklist_type"))
61
+
62
+ description = d.pop("description", UNSET)
63
+
64
+ roles = cast(list[str], d.pop("roles", UNSET))
65
+
66
+ create_checklist_request = cls(
67
+ name=name,
68
+ checklist_type=checklist_type,
69
+ description=description,
70
+ roles=roles,
71
+ )
72
+
73
+ create_checklist_request.additional_properties = d
74
+ return create_checklist_request
75
+
76
+ @property
77
+ def additional_keys(self) -> list[str]:
78
+ return list(self.additional_properties.keys())
79
+
80
+ def __getitem__(self, key: str) -> Any:
81
+ return self.additional_properties[key]
82
+
83
+ def __setitem__(self, key: str, value: Any) -> None:
84
+ self.additional_properties[key] = value
85
+
86
+ def __delitem__(self, key: str) -> None:
87
+ del self.additional_properties[key]
88
+
89
+ def __contains__(self, key: str) -> bool:
90
+ return key in self.additional_properties
@@ -50,6 +50,7 @@ class EventTypesEnum(str, Enum):
50
50
  MARKETPLACE_OFFERING_USER_CREATED = "marketplace_offering_user_created"
51
51
  MARKETPLACE_OFFERING_USER_DELETED = "marketplace_offering_user_deleted"
52
52
  MARKETPLACE_OFFERING_USER_RESTRICTION_UPDATED = "marketplace_offering_user_restriction_updated"
53
+ MARKETPLACE_OFFERING_USER_UPDATED = "marketplace_offering_user_updated"
53
54
  MARKETPLACE_ORDER_APPROVED = "marketplace_order_approved"
54
55
  MARKETPLACE_ORDER_COMPLETED = "marketplace_order_completed"
55
56
  MARKETPLACE_ORDER_CREATED = "marketplace_order_created"
@@ -18,7 +18,7 @@ class GroupInvitation:
18
18
  Attributes:
19
19
  scope_uuid (UUID):
20
20
  scope_name (str):
21
- scope_type (str):
21
+ scope_type (Union[None, str]):
22
22
  customer_uuid (UUID):
23
23
  customer_name (str):
24
24
  role_name (str):
@@ -36,11 +36,13 @@ class GroupInvitation:
36
36
  project_name_template (Union[None, Unset, str]): Template for project name. Supports {username}, {email},
37
37
  {full_name} variables
38
38
  project_role (Union[None, UUID, Unset]):
39
+ user_affiliations (Union[Unset, Any]):
40
+ user_email_patterns (Union[Unset, Any]):
39
41
  """
40
42
 
41
43
  scope_uuid: UUID
42
44
  scope_name: str
43
- scope_type: str
45
+ scope_type: Union[None, str]
44
46
  customer_uuid: UUID
45
47
  customer_name: str
46
48
  role_name: str
@@ -56,6 +58,8 @@ class GroupInvitation:
56
58
  auto_create_project: Union[Unset, bool] = UNSET
57
59
  project_name_template: Union[None, Unset, str] = UNSET
58
60
  project_role: Union[None, UUID, Unset] = UNSET
61
+ user_affiliations: Union[Unset, Any] = UNSET
62
+ user_email_patterns: Union[Unset, Any] = UNSET
59
63
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
60
64
 
61
65
  def to_dict(self) -> dict[str, Any]:
@@ -63,6 +67,7 @@ class GroupInvitation:
63
67
 
64
68
  scope_name = self.scope_name
65
69
 
70
+ scope_type: Union[None, str]
66
71
  scope_type = self.scope_type
67
72
 
68
73
  customer_uuid = str(self.customer_uuid)
@@ -105,6 +110,10 @@ class GroupInvitation:
105
110
  else:
106
111
  project_role = self.project_role
107
112
 
113
+ user_affiliations = self.user_affiliations
114
+
115
+ user_email_patterns = self.user_email_patterns
116
+
108
117
  field_dict: dict[str, Any] = {}
109
118
  field_dict.update(self.additional_properties)
110
119
  field_dict.update(
@@ -132,6 +141,10 @@ class GroupInvitation:
132
141
  field_dict["project_name_template"] = project_name_template
133
142
  if project_role is not UNSET:
134
143
  field_dict["project_role"] = project_role
144
+ if user_affiliations is not UNSET:
145
+ field_dict["user_affiliations"] = user_affiliations
146
+ if user_email_patterns is not UNSET:
147
+ field_dict["user_email_patterns"] = user_email_patterns
135
148
 
136
149
  return field_dict
137
150
 
@@ -142,7 +155,12 @@ class GroupInvitation:
142
155
 
143
156
  scope_name = d.pop("scope_name")
144
157
 
145
- scope_type = d.pop("scope_type")
158
+ def _parse_scope_type(data: object) -> Union[None, str]:
159
+ if data is None:
160
+ return data
161
+ return cast(Union[None, str], data)
162
+
163
+ scope_type = _parse_scope_type(d.pop("scope_type"))
146
164
 
147
165
  customer_uuid = UUID(d.pop("customer_uuid"))
148
166
 
@@ -196,6 +214,10 @@ class GroupInvitation:
196
214
 
197
215
  project_role = _parse_project_role(d.pop("project_role", UNSET))
198
216
 
217
+ user_affiliations = d.pop("user_affiliations", UNSET)
218
+
219
+ user_email_patterns = d.pop("user_email_patterns", UNSET)
220
+
199
221
  group_invitation = cls(
200
222
  scope_uuid=scope_uuid,
201
223
  scope_name=scope_name,
@@ -215,6 +237,8 @@ class GroupInvitation:
215
237
  auto_create_project=auto_create_project,
216
238
  project_name_template=project_name_template,
217
239
  project_role=project_role,
240
+ user_affiliations=user_affiliations,
241
+ user_email_patterns=user_email_patterns,
218
242
  )
219
243
 
220
244
  group_invitation.additional_properties = d
@@ -21,6 +21,8 @@ class GroupInvitationRequest:
21
21
  project_name_template (Union[None, Unset, str]): Template for project name. Supports {username}, {email},
22
22
  {full_name} variables
23
23
  project_role (Union[None, UUID, Unset]):
24
+ user_affiliations (Union[Unset, Any]):
25
+ user_email_patterns (Union[Unset, Any]):
24
26
  """
25
27
 
26
28
  role: UUID
@@ -28,6 +30,8 @@ class GroupInvitationRequest:
28
30
  auto_create_project: Union[Unset, bool] = UNSET
29
31
  project_name_template: Union[None, Unset, str] = UNSET
30
32
  project_role: Union[None, UUID, Unset] = UNSET
33
+ user_affiliations: Union[Unset, Any] = UNSET
34
+ user_email_patterns: Union[Unset, Any] = UNSET
31
35
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
32
36
 
33
37
  def to_dict(self) -> dict[str, Any]:
@@ -51,6 +55,10 @@ class GroupInvitationRequest:
51
55
  else:
52
56
  project_role = self.project_role
53
57
 
58
+ user_affiliations = self.user_affiliations
59
+
60
+ user_email_patterns = self.user_email_patterns
61
+
54
62
  field_dict: dict[str, Any] = {}
55
63
  field_dict.update(self.additional_properties)
56
64
  field_dict.update(
@@ -65,6 +73,10 @@ class GroupInvitationRequest:
65
73
  field_dict["project_name_template"] = project_name_template
66
74
  if project_role is not UNSET:
67
75
  field_dict["project_role"] = project_role
76
+ if user_affiliations is not UNSET:
77
+ field_dict["user_affiliations"] = user_affiliations
78
+ if user_email_patterns is not UNSET:
79
+ field_dict["user_email_patterns"] = user_email_patterns
68
80
 
69
81
  return field_dict
70
82
 
@@ -103,12 +115,18 @@ class GroupInvitationRequest:
103
115
 
104
116
  project_role = _parse_project_role(d.pop("project_role", UNSET))
105
117
 
118
+ user_affiliations = d.pop("user_affiliations", UNSET)
119
+
120
+ user_email_patterns = d.pop("user_email_patterns", UNSET)
121
+
106
122
  group_invitation_request = cls(
107
123
  role=role,
108
124
  scope=scope,
109
125
  auto_create_project=auto_create_project,
110
126
  project_name_template=project_name_template,
111
127
  project_role=project_role,
128
+ user_affiliations=user_affiliations,
129
+ user_email_patterns=user_email_patterns,
112
130
  )
113
131
 
114
132
  group_invitation_request.additional_properties = d
@@ -0,0 +1,11 @@
1
+ from enum import Enum
2
+
3
+
4
+ class ImpactLevelDisplayEnum(str, Enum):
5
+ DEGRADED_PERFORMANCE = "Degraded performance"
6
+ FULL_OUTAGE = "Full outage"
7
+ NO_IMPACT = "No impact"
8
+ PARTIAL_OUTAGE = "Partial outage"
9
+
10
+ def __str__(self) -> str:
11
+ return str(self.value)
@@ -1,6 +1,6 @@
1
1
  import datetime
2
2
  from collections.abc import Mapping
3
- from typing import Any, TypeVar, Union
3
+ from typing import Any, TypeVar, Union, cast
4
4
  from uuid import UUID
5
5
 
6
6
  from attrs import define as _attrs_define
@@ -20,7 +20,7 @@ class Invitation:
20
20
  Attributes:
21
21
  scope_uuid (UUID):
22
22
  scope_name (str):
23
- scope_type (str):
23
+ scope_type (Union[None, str]):
24
24
  customer_uuid (UUID):
25
25
  customer_name (str):
26
26
  role_name (str):
@@ -49,7 +49,7 @@ class Invitation:
49
49
 
50
50
  scope_uuid: UUID
51
51
  scope_name: str
52
- scope_type: str
52
+ scope_type: Union[None, str]
53
53
  customer_uuid: UUID
54
54
  customer_name: str
55
55
  role_name: str
@@ -79,6 +79,7 @@ class Invitation:
79
79
 
80
80
  scope_name = self.scope_name
81
81
 
82
+ scope_type: Union[None, str]
82
83
  scope_type = self.scope_type
83
84
 
84
85
  customer_uuid = str(self.customer_uuid)
@@ -173,7 +174,12 @@ class Invitation:
173
174
 
174
175
  scope_name = d.pop("scope_name")
175
176
 
176
- scope_type = d.pop("scope_type")
177
+ def _parse_scope_type(data: object) -> Union[None, str]:
178
+ if data is None:
179
+ return data
180
+ return cast(Union[None, str], data)
181
+
182
+ scope_type = _parse_scope_type(d.pop("scope_type"))
177
183
 
178
184
  customer_uuid = UUID(d.pop("customer_uuid"))
179
185
 
@@ -33,6 +33,7 @@ class MaintenanceAnnouncement:
33
33
  service_provider (str): Service provider announcing the maintenance
34
34
  created_by (Union[None, str]):
35
35
  affected_offerings (list['MaintenanceAnnouncementOffering']):
36
+ service_provider_name (str):
36
37
  message (Union[Unset, str]):
37
38
  maintenance_type (Union[Unset, MaintenanceTypeEnum]):
38
39
  """
@@ -48,6 +49,7 @@ class MaintenanceAnnouncement:
48
49
  service_provider: str
49
50
  created_by: Union[None, str]
50
51
  affected_offerings: list["MaintenanceAnnouncementOffering"]
52
+ service_provider_name: str
51
53
  message: Union[Unset, str] = UNSET
52
54
  maintenance_type: Union[Unset, MaintenanceTypeEnum] = UNSET
53
55
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
@@ -87,6 +89,8 @@ class MaintenanceAnnouncement:
87
89
  affected_offerings_item = affected_offerings_item_data.to_dict()
88
90
  affected_offerings.append(affected_offerings_item)
89
91
 
92
+ service_provider_name = self.service_provider_name
93
+
90
94
  message = self.message
91
95
 
92
96
  maintenance_type: Union[Unset, int] = UNSET
@@ -108,6 +112,7 @@ class MaintenanceAnnouncement:
108
112
  "service_provider": service_provider,
109
113
  "created_by": created_by,
110
114
  "affected_offerings": affected_offerings,
115
+ "service_provider_name": service_provider_name,
111
116
  }
112
117
  )
113
118
  if message is not UNSET:
@@ -180,6 +185,8 @@ class MaintenanceAnnouncement:
180
185
 
181
186
  affected_offerings.append(affected_offerings_item)
182
187
 
188
+ service_provider_name = d.pop("service_provider_name")
189
+
183
190
  message = d.pop("message", UNSET)
184
191
 
185
192
  _maintenance_type = d.pop("maintenance_type", UNSET)
@@ -201,6 +208,7 @@ class MaintenanceAnnouncement:
201
208
  service_provider=service_provider,
202
209
  created_by=created_by,
203
210
  affected_offerings=affected_offerings,
211
+ service_provider_name=service_provider_name,
204
212
  message=message,
205
213
  maintenance_type=maintenance_type,
206
214
  )