waldur-api-client 7.7.7__py3-none-any.whl → 7.7.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 (140) hide show
  1. waldur_api_client/api/customer_permissions_reviews/customer_permissions_reviews_count.py +19 -0
  2. waldur_api_client/api/customer_permissions_reviews/customer_permissions_reviews_list.py +19 -0
  3. waldur_api_client/api/customers/customers_users_list.py +141 -53
  4. waldur_api_client/api/invoices/invoices_items_retrieve.py +20 -0
  5. waldur_api_client/api/managed_rancher_cluster_resources/__init__.py +1 -0
  6. waldur_api_client/api/managed_rancher_cluster_resources/managed_rancher_cluster_resources_add_node.py +162 -0
  7. waldur_api_client/api/managed_rancher_cluster_resources/managed_rancher_cluster_resources_count.py +172 -0
  8. waldur_api_client/api/managed_rancher_cluster_resources/managed_rancher_cluster_resources_list.py +196 -0
  9. waldur_api_client/api/managed_rancher_cluster_resources/managed_rancher_cluster_resources_retrieve.py +171 -0
  10. waldur_api_client/api/marketplace_course_accounts/__init__.py +1 -0
  11. waldur_api_client/api/marketplace_course_accounts/marketplace_course_accounts_count.py +244 -0
  12. waldur_api_client/api/marketplace_course_accounts/marketplace_course_accounts_create.py +148 -0
  13. waldur_api_client/api/marketplace_course_accounts/marketplace_course_accounts_create_bulk.py +152 -0
  14. waldur_api_client/api/marketplace_course_accounts/marketplace_course_accounts_destroy.py +89 -0
  15. waldur_api_client/api/marketplace_course_accounts/marketplace_course_accounts_list.py +245 -0
  16. waldur_api_client/api/marketplace_course_accounts/marketplace_course_accounts_retrieve.py +140 -0
  17. waldur_api_client/api/marketplace_customer_service_accounts/marketplace_customer_service_accounts_count.py +25 -0
  18. waldur_api_client/api/marketplace_customer_service_accounts/marketplace_customer_service_accounts_list.py +25 -0
  19. waldur_api_client/api/marketplace_project_service_accounts/marketplace_project_service_accounts_count.py +25 -0
  20. waldur_api_client/api/marketplace_project_service_accounts/marketplace_project_service_accounts_list.py +25 -0
  21. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_component_stats_list.py +30 -0
  22. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_costs_list.py +30 -0
  23. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_count.py +30 -0
  24. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_customers_list.py +30 -0
  25. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_groups_count.py +30 -0
  26. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_groups_list.py +30 -0
  27. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_list.py +30 -0
  28. waldur_api_client/api/marketplace_public_offerings/marketplace_public_offerings_count.py +30 -0
  29. waldur_api_client/api/marketplace_public_offerings/marketplace_public_offerings_list.py +30 -0
  30. waldur_api_client/api/marketplace_service_providers/marketplace_service_providers_course_accounts_list.py +284 -0
  31. waldur_api_client/api/marketplace_service_providers/marketplace_service_providers_offerings_list.py +30 -0
  32. waldur_api_client/api/marketplace_service_providers/marketplace_service_providers_project_service_accounts_list.py +29 -0
  33. waldur_api_client/api/project_permissions_reviews/__init__.py +1 -0
  34. waldur_api_client/api/project_permissions_reviews/project_permissions_reviews_close.py +91 -0
  35. waldur_api_client/api/project_permissions_reviews/project_permissions_reviews_count.py +266 -0
  36. waldur_api_client/api/project_permissions_reviews/project_permissions_reviews_list.py +269 -0
  37. waldur_api_client/api/project_permissions_reviews/project_permissions_reviews_retrieve.py +142 -0
  38. waldur_api_client/api/projects/projects_other_users_list.py +98 -23
  39. waldur_api_client/api/projects/projects_sync_user_roles.py +10 -9
  40. waldur_api_client/api/support_issue_statuses/__init__.py +1 -0
  41. waldur_api_client/api/support_issue_statuses/support_issue_statuses_count.py +172 -0
  42. waldur_api_client/api/support_issue_statuses/support_issue_statuses_create.py +148 -0
  43. waldur_api_client/api/support_issue_statuses/support_issue_statuses_destroy.py +89 -0
  44. waldur_api_client/api/support_issue_statuses/support_issue_statuses_list.py +173 -0
  45. waldur_api_client/api/support_issue_statuses/support_issue_statuses_partial_update.py +162 -0
  46. waldur_api_client/api/support_issue_statuses/support_issue_statuses_retrieve.py +140 -0
  47. waldur_api_client/api/support_issue_statuses/support_issue_statuses_update.py +162 -0
  48. waldur_api_client/api/user_group_invitations/user_group_invitations_submit_request.py +12 -12
  49. waldur_api_client/api/user_invitations/user_invitations_count.py +30 -0
  50. waldur_api_client/api/user_invitations/user_invitations_list.py +30 -0
  51. waldur_api_client/api/user_permission_requests/user_permission_requests_cancel_request.py +146 -0
  52. waldur_api_client/models/__init__.py +76 -2
  53. waldur_api_client/models/cancel_request_response.py +75 -0
  54. waldur_api_client/models/constance_settings.py +18 -0
  55. waldur_api_client/models/constance_settings_request.py +18 -0
  56. waldur_api_client/models/course_account.py +187 -0
  57. waldur_api_client/models/course_account_create_nested.py +68 -0
  58. waldur_api_client/models/course_account_create_nested_request.py +68 -0
  59. waldur_api_client/models/course_account_request.py +80 -0
  60. waldur_api_client/models/course_accounts_bulk_create.py +82 -0
  61. waldur_api_client/models/course_accounts_bulk_create_request.py +82 -0
  62. waldur_api_client/models/customer.py +9 -0
  63. waldur_api_client/models/customer_permission_review.py +16 -16
  64. waldur_api_client/models/customer_request.py +9 -0
  65. waldur_api_client/models/customer_service_account.py +9 -0
  66. waldur_api_client/models/customers_list_field_item.py +1 -0
  67. waldur_api_client/models/customers_retrieve_field_item.py +1 -0
  68. waldur_api_client/models/customers_users_list_o.py +9 -0
  69. waldur_api_client/models/customers_users_list_organization_role_item_type_0.py +10 -0
  70. waldur_api_client/models/customers_users_list_project_role_item_type_0.py +10 -0
  71. waldur_api_client/models/dependency_logic_operator_enum.py +9 -0
  72. waldur_api_client/models/event_subscription.py +1 -1
  73. waldur_api_client/models/event_types_enum.py +4 -0
  74. waldur_api_client/models/group_invitation.py +9 -0
  75. waldur_api_client/models/invitation.py +9 -0
  76. waldur_api_client/models/invoices_items_retrieve_o.py +15 -0
  77. waldur_api_client/models/issue_status.py +103 -0
  78. waldur_api_client/models/issue_status_request.py +78 -0
  79. waldur_api_client/models/issue_status_type_enum.py +9 -0
  80. waldur_api_client/models/kind_enum.py +10 -0
  81. waldur_api_client/models/managed_rancher_cluster_resources_list_field_item.py +82 -0
  82. waldur_api_client/models/managed_rancher_cluster_resources_retrieve_field_item.py +82 -0
  83. waldur_api_client/models/managed_rancher_create_node_request.py +186 -0
  84. waldur_api_client/models/marketplace_course_accounts_count_state_item.py +10 -0
  85. waldur_api_client/models/marketplace_course_accounts_list_state_item.py +10 -0
  86. waldur_api_client/models/marketplace_customer_service_accounts_count_state_item.py +10 -0
  87. waldur_api_client/models/marketplace_customer_service_accounts_list_state_item.py +10 -0
  88. waldur_api_client/models/marketplace_project_service_accounts_count_state_item.py +10 -0
  89. waldur_api_client/models/marketplace_project_service_accounts_list_state_item.py +10 -0
  90. waldur_api_client/models/marketplace_service_providers_course_accounts_list_state_item.py +10 -0
  91. waldur_api_client/models/marketplace_service_providers_project_service_accounts_list_state_item.py +10 -0
  92. waldur_api_client/models/marketplace_service_providers_projects_list_field_item.py +1 -0
  93. waldur_api_client/models/nested_security_group_rule.py +223 -0
  94. waldur_api_client/models/{open_stack_nested_security_group_rules_item.py → nested_security_group_rule_request.py} +67 -76
  95. waldur_api_client/models/open_stack_backup_restoration_request.py +0 -22
  96. waldur_api_client/models/open_stack_fixed_ip.py +13 -3
  97. waldur_api_client/models/open_stack_fixed_ip_request.py +7 -2
  98. waldur_api_client/models/open_stack_instance_create_order_attributes.py +20 -20
  99. waldur_api_client/models/open_stack_nested_security_group.py +16 -16
  100. waldur_api_client/models/open_stack_port_ip_update_request.py +6 -2
  101. waldur_api_client/models/open_stack_static_route.py +13 -4
  102. waldur_api_client/models/open_stack_static_route_request.py +7 -3
  103. waldur_api_client/models/open_stack_sub_net.py +15 -2
  104. waldur_api_client/models/open_stack_sub_net_allocation_pool.py +27 -8
  105. waldur_api_client/models/open_stack_sub_net_allocation_pool_request.py +14 -5
  106. waldur_api_client/models/open_stack_sub_net_request.py +15 -2
  107. waldur_api_client/models/patched_customer_request.py +9 -0
  108. waldur_api_client/models/patched_issue_status_request.py +76 -0
  109. waldur_api_client/models/patched_open_stack_sub_net_request.py +15 -2
  110. waldur_api_client/models/patched_project_request.py +17 -0
  111. waldur_api_client/models/patched_question_admin_request.py +17 -0
  112. waldur_api_client/models/patched_rancher_service_request.py +1 -1
  113. waldur_api_client/models/permission_request.py +16 -0
  114. waldur_api_client/models/project.py +17 -0
  115. waldur_api_client/models/project_permission_review.py +166 -0
  116. waldur_api_client/models/project_permissions_reviews_count_o_item.py +11 -0
  117. waldur_api_client/models/project_permissions_reviews_list_o_item.py +11 -0
  118. waldur_api_client/models/project_request.py +17 -0
  119. waldur_api_client/models/project_service_account.py +9 -0
  120. waldur_api_client/models/projects_list_field_item.py +1 -0
  121. waldur_api_client/models/projects_other_users_list_o.py +9 -0
  122. waldur_api_client/models/projects_retrieve_field_item.py +1 -0
  123. waldur_api_client/models/proposal.py +8 -0
  124. waldur_api_client/models/proposal_review.py +8 -0
  125. waldur_api_client/models/question_admin.py +17 -0
  126. waldur_api_client/models/question_admin_request.py +17 -0
  127. waldur_api_client/models/rancher_nested_public_ip.py +25 -7
  128. waldur_api_client/models/rancher_service.py +1 -1
  129. waldur_api_client/models/rancher_service_request.py +1 -1
  130. waldur_api_client/models/rmq_connection.py +8 -3
  131. waldur_api_client/models/rmq_subscription.py +7 -3
  132. waldur_api_client/models/robot_account.py +16 -16
  133. waldur_api_client/models/robot_account_details.py +16 -16
  134. waldur_api_client/models/service_account_state.py +10 -0
  135. waldur_api_client/models/submit_request_response.py +75 -0
  136. waldur_api_client/models/visible_invitation_details.py +9 -0
  137. {waldur_api_client-7.7.7.dist-info → waldur_api_client-7.7.9.dist-info}/METADATA +1 -1
  138. {waldur_api_client-7.7.7.dist-info → waldur_api_client-7.7.9.dist-info}/RECORD +140 -78
  139. {waldur_api_client-7.7.7.dist-info → waldur_api_client-7.7.9.dist-info}/LICENSE +0 -0
  140. {waldur_api_client-7.7.7.dist-info → waldur_api_client-7.7.9.dist-info}/WHEEL +0 -0
@@ -0,0 +1,82 @@
1
+ from enum import Enum
2
+
3
+
4
+ class ManagedRancherClusterResourcesListFieldItem(str, Enum):
5
+ ATTRIBUTES = "attributes"
6
+ AVAILABLE_ACTIONS = "available_actions"
7
+ BACKEND_ID = "backend_id"
8
+ BACKEND_METADATA = "backend_metadata"
9
+ CAN_TERMINATE = "can_terminate"
10
+ CATEGORY_ICON = "category_icon"
11
+ CATEGORY_TITLE = "category_title"
12
+ CATEGORY_UUID = "category_uuid"
13
+ CREATED = "created"
14
+ CREATION_ORDER = "creation_order"
15
+ CURRENT_USAGES = "current_usages"
16
+ CUSTOMER_NAME = "customer_name"
17
+ CUSTOMER_SLUG = "customer_slug"
18
+ CUSTOMER_UUID = "customer_uuid"
19
+ DESCRIPTION = "description"
20
+ DOWNSCALED = "downscaled"
21
+ EFFECTIVE_ID = "effective_id"
22
+ ENDPOINTS = "endpoints"
23
+ END_DATE = "end_date"
24
+ END_DATE_REQUESTED_BY = "end_date_requested_by"
25
+ ERROR_MESSAGE = "error_message"
26
+ ERROR_TRACEBACK = "error_traceback"
27
+ IS_LIMIT_BASED = "is_limit_based"
28
+ IS_USAGE_BASED = "is_usage_based"
29
+ LAST_SYNC = "last_sync"
30
+ LIMITS = "limits"
31
+ LIMIT_USAGE = "limit_usage"
32
+ MODIFIED = "modified"
33
+ NAME = "name"
34
+ OFFERING = "offering"
35
+ OFFERING_BILLABLE = "offering_billable"
36
+ OFFERING_CUSTOMER_UUID = "offering_customer_uuid"
37
+ OFFERING_DESCRIPTION = "offering_description"
38
+ OFFERING_IMAGE = "offering_image"
39
+ OFFERING_NAME = "offering_name"
40
+ OFFERING_PLUGIN_OPTIONS = "offering_plugin_options"
41
+ OFFERING_SHARED = "offering_shared"
42
+ OFFERING_SLUG = "offering_slug"
43
+ OFFERING_THUMBNAIL = "offering_thumbnail"
44
+ OFFERING_TYPE = "offering_type"
45
+ OFFERING_UUID = "offering_uuid"
46
+ OPTIONS = "options"
47
+ ORDER_IN_PROGRESS = "order_in_progress"
48
+ PARENT_NAME = "parent_name"
49
+ PARENT_OFFERING_NAME = "parent_offering_name"
50
+ PARENT_OFFERING_SLUG = "parent_offering_slug"
51
+ PARENT_OFFERING_UUID = "parent_offering_uuid"
52
+ PARENT_UUID = "parent_uuid"
53
+ PAUSED = "paused"
54
+ PLAN = "plan"
55
+ PLAN_DESCRIPTION = "plan_description"
56
+ PLAN_NAME = "plan_name"
57
+ PLAN_UNIT = "plan_unit"
58
+ PLAN_UUID = "plan_uuid"
59
+ PROJECT = "project"
60
+ PROJECT_DESCRIPTION = "project_description"
61
+ PROJECT_END_DATE = "project_end_date"
62
+ PROJECT_END_DATE_REQUESTED_BY = "project_end_date_requested_by"
63
+ PROJECT_NAME = "project_name"
64
+ PROJECT_SLUG = "project_slug"
65
+ PROJECT_UUID = "project_uuid"
66
+ PROVIDER_NAME = "provider_name"
67
+ PROVIDER_UUID = "provider_uuid"
68
+ REPORT = "report"
69
+ RESOURCE_TYPE = "resource_type"
70
+ RESOURCE_UUID = "resource_uuid"
71
+ RESTRICT_MEMBER_ACCESS = "restrict_member_access"
72
+ SCOPE = "scope"
73
+ SERVICE_SETTINGS_UUID = "service_settings_uuid"
74
+ SLUG = "slug"
75
+ STATE = "state"
76
+ URL = "url"
77
+ USERNAME = "username"
78
+ USER_REQUIRES_RECONSENT = "user_requires_reconsent"
79
+ UUID = "uuid"
80
+
81
+ def __str__(self) -> str:
82
+ return str(self.value)
@@ -0,0 +1,82 @@
1
+ from enum import Enum
2
+
3
+
4
+ class ManagedRancherClusterResourcesRetrieveFieldItem(str, Enum):
5
+ ATTRIBUTES = "attributes"
6
+ AVAILABLE_ACTIONS = "available_actions"
7
+ BACKEND_ID = "backend_id"
8
+ BACKEND_METADATA = "backend_metadata"
9
+ CAN_TERMINATE = "can_terminate"
10
+ CATEGORY_ICON = "category_icon"
11
+ CATEGORY_TITLE = "category_title"
12
+ CATEGORY_UUID = "category_uuid"
13
+ CREATED = "created"
14
+ CREATION_ORDER = "creation_order"
15
+ CURRENT_USAGES = "current_usages"
16
+ CUSTOMER_NAME = "customer_name"
17
+ CUSTOMER_SLUG = "customer_slug"
18
+ CUSTOMER_UUID = "customer_uuid"
19
+ DESCRIPTION = "description"
20
+ DOWNSCALED = "downscaled"
21
+ EFFECTIVE_ID = "effective_id"
22
+ ENDPOINTS = "endpoints"
23
+ END_DATE = "end_date"
24
+ END_DATE_REQUESTED_BY = "end_date_requested_by"
25
+ ERROR_MESSAGE = "error_message"
26
+ ERROR_TRACEBACK = "error_traceback"
27
+ IS_LIMIT_BASED = "is_limit_based"
28
+ IS_USAGE_BASED = "is_usage_based"
29
+ LAST_SYNC = "last_sync"
30
+ LIMITS = "limits"
31
+ LIMIT_USAGE = "limit_usage"
32
+ MODIFIED = "modified"
33
+ NAME = "name"
34
+ OFFERING = "offering"
35
+ OFFERING_BILLABLE = "offering_billable"
36
+ OFFERING_CUSTOMER_UUID = "offering_customer_uuid"
37
+ OFFERING_DESCRIPTION = "offering_description"
38
+ OFFERING_IMAGE = "offering_image"
39
+ OFFERING_NAME = "offering_name"
40
+ OFFERING_PLUGIN_OPTIONS = "offering_plugin_options"
41
+ OFFERING_SHARED = "offering_shared"
42
+ OFFERING_SLUG = "offering_slug"
43
+ OFFERING_THUMBNAIL = "offering_thumbnail"
44
+ OFFERING_TYPE = "offering_type"
45
+ OFFERING_UUID = "offering_uuid"
46
+ OPTIONS = "options"
47
+ ORDER_IN_PROGRESS = "order_in_progress"
48
+ PARENT_NAME = "parent_name"
49
+ PARENT_OFFERING_NAME = "parent_offering_name"
50
+ PARENT_OFFERING_SLUG = "parent_offering_slug"
51
+ PARENT_OFFERING_UUID = "parent_offering_uuid"
52
+ PARENT_UUID = "parent_uuid"
53
+ PAUSED = "paused"
54
+ PLAN = "plan"
55
+ PLAN_DESCRIPTION = "plan_description"
56
+ PLAN_NAME = "plan_name"
57
+ PLAN_UNIT = "plan_unit"
58
+ PLAN_UUID = "plan_uuid"
59
+ PROJECT = "project"
60
+ PROJECT_DESCRIPTION = "project_description"
61
+ PROJECT_END_DATE = "project_end_date"
62
+ PROJECT_END_DATE_REQUESTED_BY = "project_end_date_requested_by"
63
+ PROJECT_NAME = "project_name"
64
+ PROJECT_SLUG = "project_slug"
65
+ PROJECT_UUID = "project_uuid"
66
+ PROVIDER_NAME = "provider_name"
67
+ PROVIDER_UUID = "provider_uuid"
68
+ REPORT = "report"
69
+ RESOURCE_TYPE = "resource_type"
70
+ RESOURCE_UUID = "resource_uuid"
71
+ RESTRICT_MEMBER_ACCESS = "restrict_member_access"
72
+ SCOPE = "scope"
73
+ SERVICE_SETTINGS_UUID = "service_settings_uuid"
74
+ SLUG = "slug"
75
+ STATE = "state"
76
+ URL = "url"
77
+ USERNAME = "username"
78
+ USER_REQUIRES_RECONSENT = "user_requires_reconsent"
79
+ UUID = "uuid"
80
+
81
+ def __str__(self) -> str:
82
+ return str(self.value)
@@ -0,0 +1,186 @@
1
+ from collections.abc import Mapping
2
+ from typing import TYPE_CHECKING, 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.role_enum import RoleEnum
8
+ from ..types import UNSET, Unset
9
+
10
+ if TYPE_CHECKING:
11
+ from ..models.data_volume_request import DataVolumeRequest
12
+
13
+
14
+ T = TypeVar("T", bound="ManagedRancherCreateNodeRequest")
15
+
16
+
17
+ @_attrs_define
18
+ class ManagedRancherCreateNodeRequest:
19
+ """
20
+ Attributes:
21
+ role (RoleEnum):
22
+ subnet (Union[None, str]):
23
+ system_volume_size (Union[Unset, int]):
24
+ system_volume_type (Union[None, Unset, str]):
25
+ memory (Union[Unset, int]):
26
+ cpu (Union[Unset, int]):
27
+ flavor (Union[None, Unset, str]):
28
+ data_volumes (Union[Unset, list['DataVolumeRequest']]):
29
+ ssh_public_key (Union[Unset, str]):
30
+ tenant (Union[Unset, str]):
31
+ """
32
+
33
+ role: RoleEnum
34
+ subnet: Union[None, str]
35
+ system_volume_size: Union[Unset, int] = UNSET
36
+ system_volume_type: Union[None, Unset, str] = UNSET
37
+ memory: Union[Unset, int] = UNSET
38
+ cpu: Union[Unset, int] = UNSET
39
+ flavor: Union[None, Unset, str] = UNSET
40
+ data_volumes: Union[Unset, list["DataVolumeRequest"]] = UNSET
41
+ ssh_public_key: Union[Unset, str] = UNSET
42
+ tenant: Union[Unset, str] = UNSET
43
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
44
+
45
+ def to_dict(self) -> dict[str, Any]:
46
+ role = self.role.value
47
+
48
+ subnet: Union[None, str]
49
+ subnet = self.subnet
50
+
51
+ system_volume_size = self.system_volume_size
52
+
53
+ system_volume_type: Union[None, Unset, str]
54
+ if isinstance(self.system_volume_type, Unset):
55
+ system_volume_type = UNSET
56
+ else:
57
+ system_volume_type = self.system_volume_type
58
+
59
+ memory = self.memory
60
+
61
+ cpu = self.cpu
62
+
63
+ flavor: Union[None, Unset, str]
64
+ if isinstance(self.flavor, Unset):
65
+ flavor = UNSET
66
+ else:
67
+ flavor = self.flavor
68
+
69
+ data_volumes: Union[Unset, list[dict[str, Any]]] = UNSET
70
+ if not isinstance(self.data_volumes, Unset):
71
+ data_volumes = []
72
+ for data_volumes_item_data in self.data_volumes:
73
+ data_volumes_item = data_volumes_item_data.to_dict()
74
+ data_volumes.append(data_volumes_item)
75
+
76
+ ssh_public_key = self.ssh_public_key
77
+
78
+ tenant = self.tenant
79
+
80
+ field_dict: dict[str, Any] = {}
81
+ field_dict.update(self.additional_properties)
82
+ field_dict.update(
83
+ {
84
+ "role": role,
85
+ "subnet": subnet,
86
+ }
87
+ )
88
+ if system_volume_size is not UNSET:
89
+ field_dict["system_volume_size"] = system_volume_size
90
+ if system_volume_type is not UNSET:
91
+ field_dict["system_volume_type"] = system_volume_type
92
+ if memory is not UNSET:
93
+ field_dict["memory"] = memory
94
+ if cpu is not UNSET:
95
+ field_dict["cpu"] = cpu
96
+ if flavor is not UNSET:
97
+ field_dict["flavor"] = flavor
98
+ if data_volumes is not UNSET:
99
+ field_dict["data_volumes"] = data_volumes
100
+ if ssh_public_key is not UNSET:
101
+ field_dict["ssh_public_key"] = ssh_public_key
102
+ if tenant is not UNSET:
103
+ field_dict["tenant"] = tenant
104
+
105
+ return field_dict
106
+
107
+ @classmethod
108
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
109
+ from ..models.data_volume_request import DataVolumeRequest
110
+
111
+ d = dict(src_dict)
112
+ role = RoleEnum(d.pop("role"))
113
+
114
+ def _parse_subnet(data: object) -> Union[None, str]:
115
+ if data is None:
116
+ return data
117
+ return cast(Union[None, str], data)
118
+
119
+ subnet = _parse_subnet(d.pop("subnet"))
120
+
121
+ system_volume_size = d.pop("system_volume_size", UNSET)
122
+
123
+ def _parse_system_volume_type(data: object) -> Union[None, Unset, str]:
124
+ if data is None:
125
+ return data
126
+ if isinstance(data, Unset):
127
+ return data
128
+ return cast(Union[None, Unset, str], data)
129
+
130
+ system_volume_type = _parse_system_volume_type(d.pop("system_volume_type", UNSET))
131
+
132
+ memory = d.pop("memory", UNSET)
133
+
134
+ cpu = d.pop("cpu", UNSET)
135
+
136
+ def _parse_flavor(data: object) -> Union[None, Unset, str]:
137
+ if data is None:
138
+ return data
139
+ if isinstance(data, Unset):
140
+ return data
141
+ return cast(Union[None, Unset, str], data)
142
+
143
+ flavor = _parse_flavor(d.pop("flavor", UNSET))
144
+
145
+ data_volumes = []
146
+ _data_volumes = d.pop("data_volumes", UNSET)
147
+ for data_volumes_item_data in _data_volumes or []:
148
+ data_volumes_item = DataVolumeRequest.from_dict(data_volumes_item_data)
149
+
150
+ data_volumes.append(data_volumes_item)
151
+
152
+ ssh_public_key = d.pop("ssh_public_key", UNSET)
153
+
154
+ tenant = d.pop("tenant", UNSET)
155
+
156
+ managed_rancher_create_node_request = cls(
157
+ role=role,
158
+ subnet=subnet,
159
+ system_volume_size=system_volume_size,
160
+ system_volume_type=system_volume_type,
161
+ memory=memory,
162
+ cpu=cpu,
163
+ flavor=flavor,
164
+ data_volumes=data_volumes,
165
+ ssh_public_key=ssh_public_key,
166
+ tenant=tenant,
167
+ )
168
+
169
+ managed_rancher_create_node_request.additional_properties = d
170
+ return managed_rancher_create_node_request
171
+
172
+ @property
173
+ def additional_keys(self) -> list[str]:
174
+ return list(self.additional_properties.keys())
175
+
176
+ def __getitem__(self, key: str) -> Any:
177
+ return self.additional_properties[key]
178
+
179
+ def __setitem__(self, key: str, value: Any) -> None:
180
+ self.additional_properties[key] = value
181
+
182
+ def __delitem__(self, key: str) -> None:
183
+ del self.additional_properties[key]
184
+
185
+ def __contains__(self, key: str) -> bool:
186
+ return key in self.additional_properties
@@ -0,0 +1,10 @@
1
+ from enum import Enum
2
+
3
+
4
+ class MarketplaceCourseAccountsCountStateItem(str, Enum):
5
+ CLOSED = "Closed"
6
+ ERRED = "Erred"
7
+ OK = "OK"
8
+
9
+ def __str__(self) -> str:
10
+ return str(self.value)
@@ -0,0 +1,10 @@
1
+ from enum import Enum
2
+
3
+
4
+ class MarketplaceCourseAccountsListStateItem(str, Enum):
5
+ CLOSED = "Closed"
6
+ ERRED = "Erred"
7
+ OK = "OK"
8
+
9
+ def __str__(self) -> str:
10
+ return str(self.value)
@@ -0,0 +1,10 @@
1
+ from enum import Enum
2
+
3
+
4
+ class MarketplaceCustomerServiceAccountsCountStateItem(str, Enum):
5
+ CLOSED = "Closed"
6
+ ERRED = "Erred"
7
+ OK = "OK"
8
+
9
+ def __str__(self) -> str:
10
+ return str(self.value)
@@ -0,0 +1,10 @@
1
+ from enum import Enum
2
+
3
+
4
+ class MarketplaceCustomerServiceAccountsListStateItem(str, Enum):
5
+ CLOSED = "Closed"
6
+ ERRED = "Erred"
7
+ OK = "OK"
8
+
9
+ def __str__(self) -> str:
10
+ return str(self.value)
@@ -0,0 +1,10 @@
1
+ from enum import Enum
2
+
3
+
4
+ class MarketplaceProjectServiceAccountsCountStateItem(str, Enum):
5
+ CLOSED = "Closed"
6
+ ERRED = "Erred"
7
+ OK = "OK"
8
+
9
+ def __str__(self) -> str:
10
+ return str(self.value)
@@ -0,0 +1,10 @@
1
+ from enum import Enum
2
+
3
+
4
+ class MarketplaceProjectServiceAccountsListStateItem(str, Enum):
5
+ CLOSED = "Closed"
6
+ ERRED = "Erred"
7
+ OK = "OK"
8
+
9
+ def __str__(self) -> str:
10
+ return str(self.value)
@@ -0,0 +1,10 @@
1
+ from enum import Enum
2
+
3
+
4
+ class MarketplaceServiceProvidersCourseAccountsListStateItem(str, Enum):
5
+ CLOSED = "Closed"
6
+ ERRED = "Erred"
7
+ OK = "OK"
8
+
9
+ def __str__(self) -> str:
10
+ return str(self.value)
@@ -0,0 +1,10 @@
1
+ from enum import Enum
2
+
3
+
4
+ class MarketplaceServiceProvidersProjectServiceAccountsListStateItem(str, Enum):
5
+ CLOSED = "Closed"
6
+ ERRED = "Erred"
7
+ OK = "OK"
8
+
9
+ def __str__(self) -> str:
10
+ return str(self.value)
@@ -16,6 +16,7 @@ class MarketplaceServiceProvidersProjectsListFieldItem(str, Enum):
16
16
  END_DATE_REQUESTED_BY = "end_date_requested_by"
17
17
  IMAGE = "image"
18
18
  IS_INDUSTRY = "is_industry"
19
+ KIND = "kind"
19
20
  MARKETPLACE_RESOURCE_COUNT = "marketplace_resource_count"
20
21
  MAX_SERVICE_ACCOUNTS = "max_service_accounts"
21
22
  NAME = "name"
@@ -0,0 +1,223 @@
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.blank_enum import BlankEnum
9
+ from ..models.direction_enum import DirectionEnum
10
+ from ..models.ethertype_enum import EthertypeEnum
11
+ from ..models.protocol_enum import ProtocolEnum
12
+ from ..types import UNSET, Unset
13
+
14
+ T = TypeVar("T", bound="NestedSecurityGroupRule")
15
+
16
+
17
+ @_attrs_define
18
+ class NestedSecurityGroupRule:
19
+ """
20
+ Attributes:
21
+ ethertype (Union[Unset, EthertypeEnum]):
22
+ direction (Union[Unset, DirectionEnum]):
23
+ protocol (Union[BlankEnum, ProtocolEnum, Unset]): The network protocol (TCP, UDP, ICMP, or empty for any
24
+ protocol)
25
+ from_port (Union[None, Unset, int]): Starting port number in the range (1-65535)
26
+ to_port (Union[None, Unset, int]): Ending port number in the range (1-65535)
27
+ cidr (Union[None, Unset, str]): CIDR notation for the source/destination network address range
28
+ description (Union[Unset, str]):
29
+ remote_group_name (Union[Unset, str]):
30
+ remote_group_uuid (Union[Unset, UUID]):
31
+ id (Union[Unset, int]):
32
+ """
33
+
34
+ ethertype: Union[Unset, EthertypeEnum] = UNSET
35
+ direction: Union[Unset, DirectionEnum] = UNSET
36
+ protocol: Union[BlankEnum, ProtocolEnum, Unset] = UNSET
37
+ from_port: Union[None, Unset, int] = UNSET
38
+ to_port: Union[None, Unset, int] = UNSET
39
+ cidr: Union[None, Unset, str] = UNSET
40
+ description: Union[Unset, str] = UNSET
41
+ remote_group_name: Union[Unset, str] = UNSET
42
+ remote_group_uuid: Union[Unset, UUID] = UNSET
43
+ id: Union[Unset, int] = UNSET
44
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
45
+
46
+ def to_dict(self) -> dict[str, Any]:
47
+ ethertype: Union[Unset, str] = UNSET
48
+ if not isinstance(self.ethertype, Unset):
49
+ ethertype = self.ethertype.value
50
+
51
+ direction: Union[Unset, str] = UNSET
52
+ if not isinstance(self.direction, Unset):
53
+ direction = self.direction.value
54
+
55
+ protocol: Union[Unset, str]
56
+ if isinstance(self.protocol, Unset):
57
+ protocol = UNSET
58
+ elif isinstance(self.protocol, ProtocolEnum):
59
+ protocol = self.protocol.value
60
+ else:
61
+ protocol = self.protocol.value
62
+
63
+ from_port: Union[None, Unset, int]
64
+ if isinstance(self.from_port, Unset):
65
+ from_port = UNSET
66
+ else:
67
+ from_port = self.from_port
68
+
69
+ to_port: Union[None, Unset, int]
70
+ if isinstance(self.to_port, Unset):
71
+ to_port = UNSET
72
+ else:
73
+ to_port = self.to_port
74
+
75
+ cidr: Union[None, Unset, str]
76
+ if isinstance(self.cidr, Unset):
77
+ cidr = UNSET
78
+ else:
79
+ cidr = self.cidr
80
+
81
+ description = self.description
82
+
83
+ remote_group_name = self.remote_group_name
84
+
85
+ remote_group_uuid: Union[Unset, str] = UNSET
86
+ if not isinstance(self.remote_group_uuid, Unset):
87
+ remote_group_uuid = str(self.remote_group_uuid)
88
+
89
+ id = self.id
90
+
91
+ field_dict: dict[str, Any] = {}
92
+ field_dict.update(self.additional_properties)
93
+ field_dict.update({})
94
+ if ethertype is not UNSET:
95
+ field_dict["ethertype"] = ethertype
96
+ if direction is not UNSET:
97
+ field_dict["direction"] = direction
98
+ if protocol is not UNSET:
99
+ field_dict["protocol"] = protocol
100
+ if from_port is not UNSET:
101
+ field_dict["from_port"] = from_port
102
+ if to_port is not UNSET:
103
+ field_dict["to_port"] = to_port
104
+ if cidr is not UNSET:
105
+ field_dict["cidr"] = cidr
106
+ if description is not UNSET:
107
+ field_dict["description"] = description
108
+ if remote_group_name is not UNSET:
109
+ field_dict["remote_group_name"] = remote_group_name
110
+ if remote_group_uuid is not UNSET:
111
+ field_dict["remote_group_uuid"] = remote_group_uuid
112
+ if id is not UNSET:
113
+ field_dict["id"] = id
114
+
115
+ return field_dict
116
+
117
+ @classmethod
118
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
119
+ d = dict(src_dict)
120
+ _ethertype = d.pop("ethertype", UNSET)
121
+ ethertype: Union[Unset, EthertypeEnum]
122
+ if isinstance(_ethertype, Unset):
123
+ ethertype = UNSET
124
+ else:
125
+ ethertype = EthertypeEnum(_ethertype)
126
+
127
+ _direction = d.pop("direction", UNSET)
128
+ direction: Union[Unset, DirectionEnum]
129
+ if isinstance(_direction, Unset):
130
+ direction = UNSET
131
+ else:
132
+ direction = DirectionEnum(_direction)
133
+
134
+ def _parse_protocol(data: object) -> Union[BlankEnum, ProtocolEnum, Unset]:
135
+ if isinstance(data, Unset):
136
+ return data
137
+ try:
138
+ if not isinstance(data, str):
139
+ raise TypeError()
140
+ protocol_type_0 = ProtocolEnum(data)
141
+
142
+ return protocol_type_0
143
+ except: # noqa: E722
144
+ pass
145
+ if not isinstance(data, str):
146
+ raise TypeError()
147
+ protocol_type_1 = BlankEnum(data)
148
+
149
+ return protocol_type_1
150
+
151
+ protocol = _parse_protocol(d.pop("protocol", UNSET))
152
+
153
+ def _parse_from_port(data: object) -> Union[None, Unset, int]:
154
+ if data is None:
155
+ return data
156
+ if isinstance(data, Unset):
157
+ return data
158
+ return cast(Union[None, Unset, int], data)
159
+
160
+ from_port = _parse_from_port(d.pop("from_port", UNSET))
161
+
162
+ def _parse_to_port(data: object) -> Union[None, Unset, int]:
163
+ if data is None:
164
+ return data
165
+ if isinstance(data, Unset):
166
+ return data
167
+ return cast(Union[None, Unset, int], data)
168
+
169
+ to_port = _parse_to_port(d.pop("to_port", UNSET))
170
+
171
+ def _parse_cidr(data: object) -> Union[None, Unset, str]:
172
+ if data is None:
173
+ return data
174
+ if isinstance(data, Unset):
175
+ return data
176
+ return cast(Union[None, Unset, str], data)
177
+
178
+ cidr = _parse_cidr(d.pop("cidr", UNSET))
179
+
180
+ description = d.pop("description", UNSET)
181
+
182
+ remote_group_name = d.pop("remote_group_name", UNSET)
183
+
184
+ _remote_group_uuid = d.pop("remote_group_uuid", UNSET)
185
+ remote_group_uuid: Union[Unset, UUID]
186
+ if isinstance(_remote_group_uuid, Unset):
187
+ remote_group_uuid = UNSET
188
+ else:
189
+ remote_group_uuid = UUID(_remote_group_uuid)
190
+
191
+ id = d.pop("id", UNSET)
192
+
193
+ nested_security_group_rule = cls(
194
+ ethertype=ethertype,
195
+ direction=direction,
196
+ protocol=protocol,
197
+ from_port=from_port,
198
+ to_port=to_port,
199
+ cidr=cidr,
200
+ description=description,
201
+ remote_group_name=remote_group_name,
202
+ remote_group_uuid=remote_group_uuid,
203
+ id=id,
204
+ )
205
+
206
+ nested_security_group_rule.additional_properties = d
207
+ return nested_security_group_rule
208
+
209
+ @property
210
+ def additional_keys(self) -> list[str]:
211
+ return list(self.additional_properties.keys())
212
+
213
+ def __getitem__(self, key: str) -> Any:
214
+ return self.additional_properties[key]
215
+
216
+ def __setitem__(self, key: str, value: Any) -> None:
217
+ self.additional_properties[key] = value
218
+
219
+ def __delitem__(self, key: str) -> None:
220
+ del self.additional_properties[key]
221
+
222
+ def __contains__(self, key: str) -> bool:
223
+ return key in self.additional_properties