waldur-api-client 7.7.5__py3-none-any.whl → 7.7.6__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 (122) hide show
  1. waldur_api_client/api/marketplace_offering_users/marketplace_offering_users_checklist_retrieve.py +154 -0
  2. waldur_api_client/api/marketplace_offering_users/marketplace_offering_users_checklist_review_retrieve.py +154 -0
  3. waldur_api_client/api/marketplace_offering_users/marketplace_offering_users_completion_review_status_retrieve.py +154 -0
  4. waldur_api_client/api/marketplace_offering_users/marketplace_offering_users_completion_status_retrieve.py +154 -0
  5. waldur_api_client/api/marketplace_offering_users/marketplace_offering_users_submit_answers.py +179 -0
  6. waldur_api_client/api/marketplace_robot_accounts/marketplace_robot_accounts_list.py +23 -0
  7. waldur_api_client/api/marketplace_robot_accounts/marketplace_robot_accounts_retrieve.py +30 -1
  8. waldur_api_client/api/marketplace_service_providers/marketplace_service_providers_project_service_accounts_list.py +276 -0
  9. waldur_api_client/api/marketplace_service_providers/service_provider_compliance_overview.py +189 -0
  10. waldur_api_client/api/marketplace_service_providers/service_provider_offering_users_compliance.py +222 -0
  11. waldur_api_client/api/public_maintenance_announcements/__init__.py +1 -0
  12. waldur_api_client/api/public_maintenance_announcements/public_maintenance_announcements_count.py +325 -0
  13. waldur_api_client/api/public_maintenance_announcements/public_maintenance_announcements_list.py +328 -0
  14. waldur_api_client/api/public_maintenance_announcements/public_maintenance_announcements_retrieve.py +144 -0
  15. waldur_api_client/models/__init__.py +56 -4
  16. waldur_api_client/models/admin_announcement.py +109 -1
  17. waldur_api_client/models/admin_announcement_maintenance_affected_offerings_item.py +103 -0
  18. waldur_api_client/models/admin_announcements_list_field_item.py +8 -0
  19. waldur_api_client/models/admin_announcements_retrieve_field_item.py +8 -0
  20. waldur_api_client/models/azure_sql_server_create_order_attributes.py +80 -0
  21. waldur_api_client/models/azure_virtual_machine_create_order_attributes.py +96 -0
  22. waldur_api_client/models/basic_user.py +30 -21
  23. waldur_api_client/models/booking_offerings_list_field_item.py +1 -0
  24. waldur_api_client/models/booking_offerings_retrieve_field_item.py +1 -0
  25. waldur_api_client/models/create_router.py +1 -1
  26. waldur_api_client/models/create_router_request.py +1 -1
  27. waldur_api_client/models/customer.py +0 -30
  28. waldur_api_client/models/customers_list_field_item.py +0 -2
  29. waldur_api_client/models/customers_retrieve_field_item.py +0 -2
  30. waldur_api_client/models/fingerprint.py +19 -17
  31. waldur_api_client/models/instance_flavor_change_request.py +1 -1
  32. waldur_api_client/models/marketplace_managed_rancher_create_order_attributes.py +144 -0
  33. waldur_api_client/models/marketplace_provider_offerings_list_customer_service_accounts_retrieve_field_item.py +1 -0
  34. waldur_api_client/models/marketplace_provider_offerings_list_field_item.py +1 -0
  35. waldur_api_client/models/marketplace_provider_offerings_list_project_service_accounts_retrieve_field_item.py +1 -0
  36. waldur_api_client/models/marketplace_provider_offerings_retrieve_field_item.py +1 -0
  37. waldur_api_client/models/marketplace_provider_offerings_stats_retrieve_field_item.py +1 -0
  38. waldur_api_client/models/marketplace_provider_offerings_user_has_resource_access_retrieve_field_item.py +1 -0
  39. waldur_api_client/models/marketplace_public_offerings_list_field_item.py +1 -0
  40. waldur_api_client/models/marketplace_public_offerings_retrieve_field_item.py +1 -0
  41. waldur_api_client/models/marketplace_rancher_create_order_attributes.py +142 -0
  42. waldur_api_client/models/marketplace_robot_accounts_list_field_item.py +32 -0
  43. waldur_api_client/models/marketplace_robot_accounts_retrieve_field_item.py +32 -0
  44. waldur_api_client/models/offering.py +9 -0
  45. waldur_api_client/models/offering_create.py +8 -0
  46. waldur_api_client/models/open_stack_backend_instance.py +2 -2
  47. waldur_api_client/models/open_stack_backend_volumes.py +3 -3
  48. waldur_api_client/models/open_stack_backup.py +1 -1
  49. waldur_api_client/models/open_stack_backup_restoration.py +8 -5
  50. waldur_api_client/models/open_stack_backup_restoration_request.py +28 -3
  51. waldur_api_client/models/open_stack_fixed_ip.py +2 -2
  52. waldur_api_client/models/open_stack_fixed_ip_request.py +2 -2
  53. waldur_api_client/models/open_stack_floating_ip.py +5 -4
  54. waldur_api_client/models/open_stack_instance.py +17 -15
  55. waldur_api_client/models/open_stack_instance_allowed_address_pairs_update_request.py +3 -2
  56. waldur_api_client/models/open_stack_instance_availability_zone.py +1 -1
  57. waldur_api_client/models/open_stack_instance_create_order_attributes.py +280 -0
  58. waldur_api_client/models/open_stack_instance_request.py +4 -3
  59. waldur_api_client/models/open_stack_instance_security_groups_update_request.py +1 -1
  60. waldur_api_client/models/open_stack_nested_floating_ip.py +3 -3
  61. waldur_api_client/models/open_stack_nested_instance.py +1 -1
  62. waldur_api_client/models/open_stack_nested_port.py +5 -5
  63. waldur_api_client/models/open_stack_nested_port_request.py +1 -1
  64. waldur_api_client/models/open_stack_nested_security_group.py +1 -53
  65. waldur_api_client/models/open_stack_nested_security_group_request.py +59 -0
  66. waldur_api_client/models/open_stack_nested_sub_net.py +4 -4
  67. waldur_api_client/models/open_stack_nested_sub_net_request.py +4 -4
  68. waldur_api_client/models/open_stack_nested_volume.py +3 -3
  69. waldur_api_client/models/open_stack_nested_volume_request.py +3 -3
  70. waldur_api_client/models/open_stack_network.py +3 -3
  71. waldur_api_client/models/open_stack_port.py +10 -9
  72. waldur_api_client/models/open_stack_port_ip_update_request.py +2 -2
  73. waldur_api_client/models/open_stack_port_request.py +3 -3
  74. waldur_api_client/models/open_stack_router.py +2 -2
  75. waldur_api_client/models/open_stack_router_interface_request.py +4 -2
  76. waldur_api_client/models/open_stack_security_group_rule_create.py +6 -5
  77. waldur_api_client/models/open_stack_security_group_rule_create_request.py +6 -5
  78. waldur_api_client/models/open_stack_security_group_rule_update_request.py +6 -5
  79. waldur_api_client/models/open_stack_server_group.py +2 -1
  80. waldur_api_client/models/open_stack_server_group_request.py +2 -1
  81. waldur_api_client/models/open_stack_snapshot.py +2 -2
  82. waldur_api_client/models/open_stack_snapshot_restoration.py +1 -1
  83. waldur_api_client/models/open_stack_sub_net.py +5 -5
  84. waldur_api_client/models/open_stack_sub_net_request.py +2 -2
  85. waldur_api_client/models/open_stack_tenant.py +3 -3
  86. waldur_api_client/models/open_stack_tenant_create_order_attributes.py +109 -0
  87. waldur_api_client/models/open_stack_volume.py +9 -9
  88. waldur_api_client/models/open_stack_volume_create_order_attributes.py +152 -0
  89. waldur_api_client/models/open_stack_volume_request.py +1 -1
  90. waldur_api_client/models/order_create_request.py +165 -4
  91. waldur_api_client/models/patched_open_stack_instance_request.py +4 -3
  92. waldur_api_client/models/patched_open_stack_server_group_request.py +2 -1
  93. waldur_api_client/models/patched_open_stack_sub_net_request.py +2 -2
  94. waldur_api_client/models/patched_open_stack_volume_request.py +1 -1
  95. waldur_api_client/models/permission_request.py +2 -2
  96. waldur_api_client/models/provider_offering_details.py +9 -0
  97. waldur_api_client/models/public_maintenance_announcement.py +217 -0
  98. waldur_api_client/models/public_maintenance_announcement_state_enum.py +10 -0
  99. waldur_api_client/models/public_maintenance_announcements_count_o_item.py +15 -0
  100. waldur_api_client/models/public_maintenance_announcements_count_state_item.py +12 -0
  101. waldur_api_client/models/public_maintenance_announcements_list_o_item.py +15 -0
  102. waldur_api_client/models/public_maintenance_announcements_list_state_item.py +12 -0
  103. waldur_api_client/models/public_offering_details.py +9 -0
  104. waldur_api_client/models/rancher_cluster_security_group_rule.py +5 -4
  105. waldur_api_client/models/rancher_cluster_security_group_rule_request.py +5 -4
  106. waldur_api_client/models/remote_project_update_request.py +2 -2
  107. waldur_api_client/models/robot_account_details.py +226 -144
  108. waldur_api_client/models/service_provider_compliance_overview.py +122 -0
  109. waldur_api_client/models/service_provider_offering_user_compliance.py +179 -0
  110. waldur_api_client/models/service_provider_offering_user_compliance_state_enum.py +17 -0
  111. waldur_api_client/models/slurm_invoices_slurm_package_create_order_attributes.py +72 -0
  112. waldur_api_client/models/v_mware_virtual_machine_create_order_attributes.py +225 -0
  113. waldur_api_client/models/v_mware_virtual_machine_create_order_attributes_guest_os_type_1.py +155 -0
  114. waldur_api_client/models/v_mware_virtual_machine_create_order_attributes_guest_os_type_2_type_1.py +155 -0
  115. waldur_api_client/models/v_mware_virtual_machine_create_order_attributes_guest_os_type_3_type_1.py +155 -0
  116. waldur_api_client/models/volume_attach_request.py +1 -1
  117. {waldur_api_client-7.7.5.dist-info → waldur_api_client-7.7.6.dist-info}/METADATA +1 -1
  118. {waldur_api_client-7.7.5.dist-info → waldur_api_client-7.7.6.dist-info}/RECORD +120 -85
  119. waldur_api_client/models/nested_security_group_rule.py +0 -222
  120. waldur_api_client/models/nested_security_group_rule_request.py +0 -187
  121. {waldur_api_client-7.7.5.dist-info → waldur_api_client-7.7.6.dist-info}/LICENSE +0 -0
  122. {waldur_api_client-7.7.5.dist-info → waldur_api_client-7.7.6.dist-info}/WHEEL +0 -0
@@ -0,0 +1,144 @@
1
+ from collections.abc import Mapping
2
+ from typing import 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 ..types import UNSET, Unset
9
+
10
+ T = TypeVar("T", bound="MarketplaceManagedRancherCreateOrderAttributes")
11
+
12
+
13
+ @_attrs_define
14
+ class MarketplaceManagedRancherCreateOrderAttributes:
15
+ """
16
+ Attributes:
17
+ name (str): Unique identifier for the cluster
18
+ worker_nodes_count (int):
19
+ worker_nodes_flavor_name (str):
20
+ worker_nodes_data_volume_size (int): Data volume size for worker nodes in MB (consistent with OpenStack)
21
+ worker_nodes_data_volume_type_name (Union[Unset, str]):
22
+ openstack_offering_uuid_list (Union[Unset, list[UUID]]): List of UUID of OpenStack offerings where tenant can be
23
+ created
24
+ install_longhorn (Union[Unset, bool]): Longhorn is a distributed block storage deployed on top of Kubernetes
25
+ cluster Default: False.
26
+ worker_nodes_longhorn_volume_size (Union[Unset, int]): Longhorn storage volume size for worker nodes in MB
27
+ (consistent with OpenStack)
28
+ worker_nodes_longhorn_volume_type_name (Union[Unset, str]):
29
+ """
30
+
31
+ name: str
32
+ worker_nodes_count: int
33
+ worker_nodes_flavor_name: str
34
+ worker_nodes_data_volume_size: int
35
+ worker_nodes_data_volume_type_name: Union[Unset, str] = UNSET
36
+ openstack_offering_uuid_list: Union[Unset, list[UUID]] = UNSET
37
+ install_longhorn: Union[Unset, bool] = False
38
+ worker_nodes_longhorn_volume_size: Union[Unset, int] = UNSET
39
+ worker_nodes_longhorn_volume_type_name: Union[Unset, str] = UNSET
40
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
41
+
42
+ def to_dict(self) -> dict[str, Any]:
43
+ name = self.name
44
+
45
+ worker_nodes_count = self.worker_nodes_count
46
+
47
+ worker_nodes_flavor_name = self.worker_nodes_flavor_name
48
+
49
+ worker_nodes_data_volume_size = self.worker_nodes_data_volume_size
50
+
51
+ worker_nodes_data_volume_type_name = self.worker_nodes_data_volume_type_name
52
+
53
+ openstack_offering_uuid_list: Union[Unset, list[str]] = UNSET
54
+ if not isinstance(self.openstack_offering_uuid_list, Unset):
55
+ openstack_offering_uuid_list = []
56
+ for openstack_offering_uuid_list_item_data in self.openstack_offering_uuid_list:
57
+ openstack_offering_uuid_list_item = str(openstack_offering_uuid_list_item_data)
58
+ openstack_offering_uuid_list.append(openstack_offering_uuid_list_item)
59
+
60
+ install_longhorn = self.install_longhorn
61
+
62
+ worker_nodes_longhorn_volume_size = self.worker_nodes_longhorn_volume_size
63
+
64
+ worker_nodes_longhorn_volume_type_name = self.worker_nodes_longhorn_volume_type_name
65
+
66
+ field_dict: dict[str, Any] = {}
67
+ field_dict.update(self.additional_properties)
68
+ field_dict.update(
69
+ {
70
+ "name": name,
71
+ "worker_nodes_count": worker_nodes_count,
72
+ "worker_nodes_flavor_name": worker_nodes_flavor_name,
73
+ "worker_nodes_data_volume_size": worker_nodes_data_volume_size,
74
+ }
75
+ )
76
+ if worker_nodes_data_volume_type_name is not UNSET:
77
+ field_dict["worker_nodes_data_volume_type_name"] = worker_nodes_data_volume_type_name
78
+ if openstack_offering_uuid_list is not UNSET:
79
+ field_dict["openstack_offering_uuid_list"] = openstack_offering_uuid_list
80
+ if install_longhorn is not UNSET:
81
+ field_dict["install_longhorn"] = install_longhorn
82
+ if worker_nodes_longhorn_volume_size is not UNSET:
83
+ field_dict["worker_nodes_longhorn_volume_size"] = worker_nodes_longhorn_volume_size
84
+ if worker_nodes_longhorn_volume_type_name is not UNSET:
85
+ field_dict["worker_nodes_longhorn_volume_type_name"] = worker_nodes_longhorn_volume_type_name
86
+
87
+ return field_dict
88
+
89
+ @classmethod
90
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
91
+ d = dict(src_dict)
92
+ name = d.pop("name")
93
+
94
+ worker_nodes_count = d.pop("worker_nodes_count")
95
+
96
+ worker_nodes_flavor_name = d.pop("worker_nodes_flavor_name")
97
+
98
+ worker_nodes_data_volume_size = d.pop("worker_nodes_data_volume_size")
99
+
100
+ worker_nodes_data_volume_type_name = d.pop("worker_nodes_data_volume_type_name", UNSET)
101
+
102
+ openstack_offering_uuid_list = []
103
+ _openstack_offering_uuid_list = d.pop("openstack_offering_uuid_list", UNSET)
104
+ for openstack_offering_uuid_list_item_data in _openstack_offering_uuid_list or []:
105
+ openstack_offering_uuid_list_item = UUID(openstack_offering_uuid_list_item_data)
106
+
107
+ openstack_offering_uuid_list.append(openstack_offering_uuid_list_item)
108
+
109
+ install_longhorn = d.pop("install_longhorn", UNSET)
110
+
111
+ worker_nodes_longhorn_volume_size = d.pop("worker_nodes_longhorn_volume_size", UNSET)
112
+
113
+ worker_nodes_longhorn_volume_type_name = d.pop("worker_nodes_longhorn_volume_type_name", UNSET)
114
+
115
+ marketplace_managed_rancher_create_order_attributes = cls(
116
+ name=name,
117
+ worker_nodes_count=worker_nodes_count,
118
+ worker_nodes_flavor_name=worker_nodes_flavor_name,
119
+ worker_nodes_data_volume_size=worker_nodes_data_volume_size,
120
+ worker_nodes_data_volume_type_name=worker_nodes_data_volume_type_name,
121
+ openstack_offering_uuid_list=openstack_offering_uuid_list,
122
+ install_longhorn=install_longhorn,
123
+ worker_nodes_longhorn_volume_size=worker_nodes_longhorn_volume_size,
124
+ worker_nodes_longhorn_volume_type_name=worker_nodes_longhorn_volume_type_name,
125
+ )
126
+
127
+ marketplace_managed_rancher_create_order_attributes.additional_properties = d
128
+ return marketplace_managed_rancher_create_order_attributes
129
+
130
+ @property
131
+ def additional_keys(self) -> list[str]:
132
+ return list(self.additional_properties.keys())
133
+
134
+ def __getitem__(self, key: str) -> Any:
135
+ return self.additional_properties[key]
136
+
137
+ def __setitem__(self, key: str, value: Any) -> None:
138
+ self.additional_properties[key] = value
139
+
140
+ def __delitem__(self, key: str) -> None:
141
+ del self.additional_properties[key]
142
+
143
+ def __contains__(self, key: str) -> bool:
144
+ return key in self.additional_properties
@@ -25,6 +25,7 @@ class MarketplaceProviderOfferingsListCustomerServiceAccountsRetrieveFieldItem(s
25
25
  GETTING_STARTED = "getting_started"
26
26
  GOOGLE_CALENDAR_IS_PUBLIC = "google_calendar_is_public"
27
27
  GOOGLE_CALENDAR_LINK = "google_calendar_link"
28
+ HAS_COMPLIANCE_REQUIREMENTS = "has_compliance_requirements"
28
29
  IMAGE = "image"
29
30
  INTEGRATION_GUIDE = "integration_guide"
30
31
  INTEGRATION_STATUS = "integration_status"
@@ -25,6 +25,7 @@ class MarketplaceProviderOfferingsListFieldItem(str, Enum):
25
25
  GETTING_STARTED = "getting_started"
26
26
  GOOGLE_CALENDAR_IS_PUBLIC = "google_calendar_is_public"
27
27
  GOOGLE_CALENDAR_LINK = "google_calendar_link"
28
+ HAS_COMPLIANCE_REQUIREMENTS = "has_compliance_requirements"
28
29
  IMAGE = "image"
29
30
  INTEGRATION_GUIDE = "integration_guide"
30
31
  INTEGRATION_STATUS = "integration_status"
@@ -25,6 +25,7 @@ class MarketplaceProviderOfferingsListProjectServiceAccountsRetrieveFieldItem(st
25
25
  GETTING_STARTED = "getting_started"
26
26
  GOOGLE_CALENDAR_IS_PUBLIC = "google_calendar_is_public"
27
27
  GOOGLE_CALENDAR_LINK = "google_calendar_link"
28
+ HAS_COMPLIANCE_REQUIREMENTS = "has_compliance_requirements"
28
29
  IMAGE = "image"
29
30
  INTEGRATION_GUIDE = "integration_guide"
30
31
  INTEGRATION_STATUS = "integration_status"
@@ -25,6 +25,7 @@ class MarketplaceProviderOfferingsRetrieveFieldItem(str, Enum):
25
25
  GETTING_STARTED = "getting_started"
26
26
  GOOGLE_CALENDAR_IS_PUBLIC = "google_calendar_is_public"
27
27
  GOOGLE_CALENDAR_LINK = "google_calendar_link"
28
+ HAS_COMPLIANCE_REQUIREMENTS = "has_compliance_requirements"
28
29
  IMAGE = "image"
29
30
  INTEGRATION_GUIDE = "integration_guide"
30
31
  INTEGRATION_STATUS = "integration_status"
@@ -25,6 +25,7 @@ class MarketplaceProviderOfferingsStatsRetrieveFieldItem(str, Enum):
25
25
  GETTING_STARTED = "getting_started"
26
26
  GOOGLE_CALENDAR_IS_PUBLIC = "google_calendar_is_public"
27
27
  GOOGLE_CALENDAR_LINK = "google_calendar_link"
28
+ HAS_COMPLIANCE_REQUIREMENTS = "has_compliance_requirements"
28
29
  IMAGE = "image"
29
30
  INTEGRATION_GUIDE = "integration_guide"
30
31
  INTEGRATION_STATUS = "integration_status"
@@ -25,6 +25,7 @@ class MarketplaceProviderOfferingsUserHasResourceAccessRetrieveFieldItem(str, En
25
25
  GETTING_STARTED = "getting_started"
26
26
  GOOGLE_CALENDAR_IS_PUBLIC = "google_calendar_is_public"
27
27
  GOOGLE_CALENDAR_LINK = "google_calendar_link"
28
+ HAS_COMPLIANCE_REQUIREMENTS = "has_compliance_requirements"
28
29
  IMAGE = "image"
29
30
  INTEGRATION_GUIDE = "integration_guide"
30
31
  INTEGRATION_STATUS = "integration_status"
@@ -25,6 +25,7 @@ class MarketplacePublicOfferingsListFieldItem(str, Enum):
25
25
  GETTING_STARTED = "getting_started"
26
26
  GOOGLE_CALENDAR_IS_PUBLIC = "google_calendar_is_public"
27
27
  GOOGLE_CALENDAR_LINK = "google_calendar_link"
28
+ HAS_COMPLIANCE_REQUIREMENTS = "has_compliance_requirements"
28
29
  IMAGE = "image"
29
30
  INTEGRATION_GUIDE = "integration_guide"
30
31
  LATITUDE = "latitude"
@@ -25,6 +25,7 @@ class MarketplacePublicOfferingsRetrieveFieldItem(str, Enum):
25
25
  GETTING_STARTED = "getting_started"
26
26
  GOOGLE_CALENDAR_IS_PUBLIC = "google_calendar_is_public"
27
27
  GOOGLE_CALENDAR_LINK = "google_calendar_link"
28
+ HAS_COMPLIANCE_REQUIREMENTS = "has_compliance_requirements"
28
29
  IMAGE = "image"
29
30
  INTEGRATION_GUIDE = "integration_guide"
30
31
  LATITUDE = "latitude"
@@ -0,0 +1,142 @@
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 ..types import UNSET, Unset
8
+
9
+ if TYPE_CHECKING:
10
+ from ..models.rancher_nested_node_request import RancherNestedNodeRequest
11
+
12
+
13
+ T = TypeVar("T", bound="MarketplaceRancherCreateOrderAttributes")
14
+
15
+
16
+ @_attrs_define
17
+ class MarketplaceRancherCreateOrderAttributes:
18
+ """This mixin allows to specify list of fields to be rendered by serializer.
19
+ It expects that request is available in serializer's context.
20
+
21
+ Attributes:
22
+ name (str):
23
+ nodes (list['RancherNestedNodeRequest']):
24
+ description (Union[Unset, str]):
25
+ tenant (Union[Unset, str]):
26
+ ssh_public_key (Union[Unset, str]):
27
+ install_longhorn (Union[Unset, bool]): Longhorn is a distributed block storage deployed on top of Kubernetes
28
+ cluster Default: False.
29
+ vm_project (Union[None, Unset, str]):
30
+ """
31
+
32
+ name: str
33
+ nodes: list["RancherNestedNodeRequest"]
34
+ description: Union[Unset, str] = UNSET
35
+ tenant: Union[Unset, str] = UNSET
36
+ ssh_public_key: Union[Unset, str] = UNSET
37
+ install_longhorn: Union[Unset, bool] = False
38
+ vm_project: Union[None, Unset, str] = UNSET
39
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
40
+
41
+ def to_dict(self) -> dict[str, Any]:
42
+ name = self.name
43
+
44
+ nodes = []
45
+ for nodes_item_data in self.nodes:
46
+ nodes_item = nodes_item_data.to_dict()
47
+ nodes.append(nodes_item)
48
+
49
+ description = self.description
50
+
51
+ tenant = self.tenant
52
+
53
+ ssh_public_key = self.ssh_public_key
54
+
55
+ install_longhorn = self.install_longhorn
56
+
57
+ vm_project: Union[None, Unset, str]
58
+ if isinstance(self.vm_project, Unset):
59
+ vm_project = UNSET
60
+ else:
61
+ vm_project = self.vm_project
62
+
63
+ field_dict: dict[str, Any] = {}
64
+ field_dict.update(self.additional_properties)
65
+ field_dict.update(
66
+ {
67
+ "name": name,
68
+ "nodes": nodes,
69
+ }
70
+ )
71
+ if description is not UNSET:
72
+ field_dict["description"] = description
73
+ if tenant is not UNSET:
74
+ field_dict["tenant"] = tenant
75
+ if ssh_public_key is not UNSET:
76
+ field_dict["ssh_public_key"] = ssh_public_key
77
+ if install_longhorn is not UNSET:
78
+ field_dict["install_longhorn"] = install_longhorn
79
+ if vm_project is not UNSET:
80
+ field_dict["vm_project"] = vm_project
81
+
82
+ return field_dict
83
+
84
+ @classmethod
85
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
86
+ from ..models.rancher_nested_node_request import RancherNestedNodeRequest
87
+
88
+ d = dict(src_dict)
89
+ name = d.pop("name")
90
+
91
+ nodes = []
92
+ _nodes = d.pop("nodes")
93
+ for nodes_item_data in _nodes:
94
+ nodes_item = RancherNestedNodeRequest.from_dict(nodes_item_data)
95
+
96
+ nodes.append(nodes_item)
97
+
98
+ description = d.pop("description", UNSET)
99
+
100
+ tenant = d.pop("tenant", UNSET)
101
+
102
+ ssh_public_key = d.pop("ssh_public_key", UNSET)
103
+
104
+ install_longhorn = d.pop("install_longhorn", UNSET)
105
+
106
+ def _parse_vm_project(data: object) -> Union[None, Unset, str]:
107
+ if data is None:
108
+ return data
109
+ if isinstance(data, Unset):
110
+ return data
111
+ return cast(Union[None, Unset, str], data)
112
+
113
+ vm_project = _parse_vm_project(d.pop("vm_project", UNSET))
114
+
115
+ marketplace_rancher_create_order_attributes = cls(
116
+ name=name,
117
+ nodes=nodes,
118
+ description=description,
119
+ tenant=tenant,
120
+ ssh_public_key=ssh_public_key,
121
+ install_longhorn=install_longhorn,
122
+ vm_project=vm_project,
123
+ )
124
+
125
+ marketplace_rancher_create_order_attributes.additional_properties = d
126
+ return marketplace_rancher_create_order_attributes
127
+
128
+ @property
129
+ def additional_keys(self) -> list[str]:
130
+ return list(self.additional_properties.keys())
131
+
132
+ def __getitem__(self, key: str) -> Any:
133
+ return self.additional_properties[key]
134
+
135
+ def __setitem__(self, key: str, value: Any) -> None:
136
+ self.additional_properties[key] = value
137
+
138
+ def __delitem__(self, key: str) -> None:
139
+ del self.additional_properties[key]
140
+
141
+ def __contains__(self, key: str) -> bool:
142
+ return key in self.additional_properties
@@ -0,0 +1,32 @@
1
+ from enum import Enum
2
+
3
+
4
+ class MarketplaceRobotAccountsListFieldItem(str, Enum):
5
+ BACKEND_ID = "backend_id"
6
+ CREATED = "created"
7
+ CUSTOMER_NAME = "customer_name"
8
+ CUSTOMER_UUID = "customer_uuid"
9
+ DESCRIPTION = "description"
10
+ ERROR_MESSAGE = "error_message"
11
+ ERROR_TRACEBACK = "error_traceback"
12
+ FINGERPRINTS = "fingerprints"
13
+ KEYS = "keys"
14
+ MODIFIED = "modified"
15
+ OFFERING_CUSTOMER_UUID = "offering_customer_uuid"
16
+ OFFERING_PLUGIN_OPTIONS = "offering_plugin_options"
17
+ PROJECT_NAME = "project_name"
18
+ PROJECT_UUID = "project_uuid"
19
+ RESOURCE = "resource"
20
+ RESOURCE_NAME = "resource_name"
21
+ RESOURCE_UUID = "resource_uuid"
22
+ RESPONSIBLE_USER = "responsible_user"
23
+ STATE = "state"
24
+ TYPE = "type"
25
+ URL = "url"
26
+ USERNAME = "username"
27
+ USERS = "users"
28
+ USER_KEYS = "user_keys"
29
+ UUID = "uuid"
30
+
31
+ def __str__(self) -> str:
32
+ return str(self.value)
@@ -0,0 +1,32 @@
1
+ from enum import Enum
2
+
3
+
4
+ class MarketplaceRobotAccountsRetrieveFieldItem(str, Enum):
5
+ BACKEND_ID = "backend_id"
6
+ CREATED = "created"
7
+ CUSTOMER_NAME = "customer_name"
8
+ CUSTOMER_UUID = "customer_uuid"
9
+ DESCRIPTION = "description"
10
+ ERROR_MESSAGE = "error_message"
11
+ ERROR_TRACEBACK = "error_traceback"
12
+ FINGERPRINTS = "fingerprints"
13
+ KEYS = "keys"
14
+ MODIFIED = "modified"
15
+ OFFERING_CUSTOMER_UUID = "offering_customer_uuid"
16
+ OFFERING_PLUGIN_OPTIONS = "offering_plugin_options"
17
+ PROJECT_NAME = "project_name"
18
+ PROJECT_UUID = "project_uuid"
19
+ RESOURCE = "resource"
20
+ RESOURCE_NAME = "resource_name"
21
+ RESOURCE_UUID = "resource_uuid"
22
+ RESPONSIBLE_USER = "responsible_user"
23
+ STATE = "state"
24
+ TYPE = "type"
25
+ URL = "url"
26
+ USERNAME = "username"
27
+ USERS = "users"
28
+ USER_KEYS = "user_keys"
29
+ UUID = "uuid"
30
+
31
+ def __str__(self) -> str:
32
+ return str(self.value)
@@ -96,6 +96,7 @@ class Offering:
96
96
  parent_uuid (Union[None, UUID, Unset]):
97
97
  parent_name (Union[None, Unset, str]):
98
98
  backend_metadata (Union[Unset, Any]):
99
+ has_compliance_requirements (Union[Unset, bool]):
99
100
  googlecalendar (Union[Unset, GoogleCalendar]):
100
101
  """
101
102
 
@@ -160,6 +161,7 @@ class Offering:
160
161
  parent_uuid: Union[None, UUID, Unset] = UNSET
161
162
  parent_name: Union[None, Unset, str] = UNSET
162
163
  backend_metadata: Union[Unset, Any] = UNSET
164
+ has_compliance_requirements: Union[Unset, bool] = UNSET
163
165
  googlecalendar: Union[Unset, "GoogleCalendar"] = UNSET
164
166
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
165
167
 
@@ -440,6 +442,8 @@ class Offering:
440
442
 
441
443
  backend_metadata = self.backend_metadata
442
444
 
445
+ has_compliance_requirements = self.has_compliance_requirements
446
+
443
447
  googlecalendar: Union[Unset, dict[str, Any]] = UNSET
444
448
  if not isinstance(self.googlecalendar, Unset):
445
449
  googlecalendar = self.googlecalendar.to_dict()
@@ -569,6 +573,8 @@ class Offering:
569
573
  field_dict["parent_name"] = parent_name
570
574
  if backend_metadata is not UNSET:
571
575
  field_dict["backend_metadata"] = backend_metadata
576
+ if has_compliance_requirements is not UNSET:
577
+ field_dict["has_compliance_requirements"] = has_compliance_requirements
572
578
  if googlecalendar is not UNSET:
573
579
  field_dict["googlecalendar"] = googlecalendar
574
580
 
@@ -997,6 +1003,8 @@ class Offering:
997
1003
 
998
1004
  backend_metadata = d.pop("backend_metadata", UNSET)
999
1005
 
1006
+ has_compliance_requirements = d.pop("has_compliance_requirements", UNSET)
1007
+
1000
1008
  _googlecalendar = d.pop("googlecalendar", UNSET)
1001
1009
  googlecalendar: Union[Unset, GoogleCalendar]
1002
1010
  if isinstance(_googlecalendar, Unset):
@@ -1066,6 +1074,7 @@ class Offering:
1066
1074
  parent_uuid=parent_uuid,
1067
1075
  parent_name=parent_name,
1068
1076
  backend_metadata=backend_metadata,
1077
+ has_compliance_requirements=has_compliance_requirements,
1069
1078
  googlecalendar=googlecalendar,
1070
1079
  )
1071
1080
 
@@ -73,6 +73,7 @@ class OfferingCreate:
73
73
  parent_description (Union[None, str]):
74
74
  parent_uuid (Union[None, UUID]):
75
75
  parent_name (Union[None, str]):
76
+ has_compliance_requirements (bool):
76
77
  description (Union[Unset, str]):
77
78
  full_description (Union[Unset, str]):
78
79
  terms_of_service (Union[Unset, str]):
@@ -138,6 +139,7 @@ class OfferingCreate:
138
139
  parent_description: Union[None, str]
139
140
  parent_uuid: Union[None, UUID]
140
141
  parent_name: Union[None, str]
142
+ has_compliance_requirements: bool
141
143
  description: Union[Unset, str] = UNSET
142
144
  full_description: Union[Unset, str] = UNSET
143
145
  terms_of_service: Union[Unset, str] = UNSET
@@ -293,6 +295,8 @@ class OfferingCreate:
293
295
  parent_name: Union[None, str]
294
296
  parent_name = self.parent_name
295
297
 
298
+ has_compliance_requirements = self.has_compliance_requirements
299
+
296
300
  description = self.description
297
301
 
298
302
  full_description = self.full_description
@@ -425,6 +429,7 @@ class OfferingCreate:
425
429
  "parent_description": parent_description,
426
430
  "parent_uuid": parent_uuid,
427
431
  "parent_name": parent_name,
432
+ "has_compliance_requirements": has_compliance_requirements,
428
433
  }
429
434
  )
430
435
  if description is not UNSET:
@@ -725,6 +730,8 @@ class OfferingCreate:
725
730
 
726
731
  parent_name = _parse_parent_name(d.pop("parent_name"))
727
732
 
733
+ has_compliance_requirements = d.pop("has_compliance_requirements")
734
+
728
735
  description = d.pop("description", UNSET)
729
736
 
730
737
  full_description = d.pop("full_description", UNSET)
@@ -886,6 +893,7 @@ class OfferingCreate:
886
893
  parent_description=parent_description,
887
894
  parent_uuid=parent_uuid,
888
895
  parent_name=parent_name,
896
+ has_compliance_requirements=has_compliance_requirements,
889
897
  description=description,
890
898
  full_description=full_description,
891
899
  terms_of_service=terms_of_service,
@@ -22,8 +22,8 @@ class OpenStackBackendInstance:
22
22
  key_name (Union[Unset, str]):
23
23
  start_time (Union[None, Unset, datetime.datetime]):
24
24
  runtime_state (Union[Unset, str]):
25
- backend_id (Union[None, Unset, str]):
26
- hypervisor_hostname (Union[Unset, str]):
25
+ backend_id (Union[None, Unset, str]): Instance ID in the OpenStack backend
26
+ hypervisor_hostname (Union[Unset, str]): Name of the hypervisor hosting this instance
27
27
  """
28
28
 
29
29
  name: str
@@ -19,9 +19,9 @@ class OpenStackBackendVolumes:
19
19
  state (str):
20
20
  availability_zone (str):
21
21
  description (Union[Unset, str]):
22
- metadata (Union[Unset, str]):
23
- backend_id (Union[None, Unset, str]):
24
- bootable (Union[Unset, bool]):
22
+ metadata (Union[Unset, str]): Arbitrary key-value pairs associated with the volume
23
+ backend_id (Union[None, Unset, str]): Volume ID in the OpenStack backend
24
+ bootable (Union[Unset, bool]): Indicates if this volume can be used to boot an instance
25
25
  runtime_state (Union[Unset, str]):
26
26
  """
27
27
 
@@ -53,7 +53,7 @@ class OpenStackBackup:
53
53
  access_url (Union[None, Unset, str]):
54
54
  kept_until (Union[None, Unset, datetime.datetime]): Guaranteed time of backup retention. If null - keep forever.
55
55
  metadata (Union[Unset, Any]):
56
- instance (Union[Unset, str]):
56
+ instance (Union[Unset, str]): Instance that this backup is created from
57
57
  instance_name (Union[Unset, str]):
58
58
  instance_marketplace_uuid (Union[Unset, UUID]):
59
59
  restorations (Union[Unset, list['OpenStackBackupRestoration']]):
@@ -23,13 +23,16 @@ class OpenStackBackupRestoration:
23
23
  """
24
24
  Attributes:
25
25
  uuid (Union[Unset, UUID]):
26
- instance (Union[Unset, str]):
26
+ instance (Union[Unset, str]): Instance that is being restored from the backup
27
27
  created (Union[Unset, datetime.datetime]):
28
- flavor (Union[Unset, str]):
28
+ flavor (Union[Unset, str]): Flavor to be used for the restored instance. If not specified, original instance
29
+ flavor will be used
29
30
  name (Union[Unset, str]): New instance name. Leave blank to use source instance name.
30
- floating_ips (Union[Unset, list['OpenStackNestedFloatingIP']]):
31
- security_groups (Union[Unset, list['OpenStackNestedSecurityGroup']]):
32
- ports (Union[Unset, list['OpenStackNestedPort']]):
31
+ floating_ips (Union[Unset, list['OpenStackNestedFloatingIP']]): Floating IPs that will be assigned to the
32
+ restored instance
33
+ security_groups (Union[Unset, list['OpenStackNestedSecurityGroup']]): Security groups that will be assigned to
34
+ the restored instance
35
+ ports (Union[Unset, list['OpenStackNestedPort']]): Network ports that will be attached to the restored instance
33
36
  """
34
37
 
35
38
  uuid: Union[Unset, UUID] = UNSET
@@ -9,6 +9,7 @@ from ..types import UNSET, Unset
9
9
  if TYPE_CHECKING:
10
10
  from ..models.open_stack_nested_floating_ip_request import OpenStackNestedFloatingIPRequest
11
11
  from ..models.open_stack_nested_port_request import OpenStackNestedPortRequest
12
+ from ..models.open_stack_nested_security_group_request import OpenStackNestedSecurityGroupRequest
12
13
 
13
14
 
14
15
  T = TypeVar("T", bound="OpenStackBackupRestorationRequest")
@@ -18,15 +19,21 @@ T = TypeVar("T", bound="OpenStackBackupRestorationRequest")
18
19
  class OpenStackBackupRestorationRequest:
19
20
  """
20
21
  Attributes:
21
- flavor (str):
22
+ flavor (str): Flavor to be used for the restored instance. If not specified, original instance flavor will be
23
+ used
22
24
  name (Union[Unset, str]): New instance name. Leave blank to use source instance name.
23
- floating_ips (Union[Unset, list['OpenStackNestedFloatingIPRequest']]):
24
- ports (Union[Unset, list['OpenStackNestedPortRequest']]):
25
+ floating_ips (Union[Unset, list['OpenStackNestedFloatingIPRequest']]): Floating IPs that will be assigned to the
26
+ restored instance
27
+ security_groups (Union[Unset, list['OpenStackNestedSecurityGroupRequest']]): Security groups that will be
28
+ assigned to the restored instance
29
+ ports (Union[Unset, list['OpenStackNestedPortRequest']]): Network ports that will be attached to the restored
30
+ instance
25
31
  """
26
32
 
27
33
  flavor: str
28
34
  name: Union[Unset, str] = UNSET
29
35
  floating_ips: Union[Unset, list["OpenStackNestedFloatingIPRequest"]] = UNSET
36
+ security_groups: Union[Unset, list["OpenStackNestedSecurityGroupRequest"]] = UNSET
30
37
  ports: Union[Unset, list["OpenStackNestedPortRequest"]] = UNSET
31
38
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
32
39
 
@@ -42,6 +49,13 @@ class OpenStackBackupRestorationRequest:
42
49
  floating_ips_item = floating_ips_item_data.to_dict()
43
50
  floating_ips.append(floating_ips_item)
44
51
 
52
+ security_groups: Union[Unset, list[dict[str, Any]]] = UNSET
53
+ if not isinstance(self.security_groups, Unset):
54
+ security_groups = []
55
+ for security_groups_item_data in self.security_groups:
56
+ security_groups_item = security_groups_item_data.to_dict()
57
+ security_groups.append(security_groups_item)
58
+
45
59
  ports: Union[Unset, list[dict[str, Any]]] = UNSET
46
60
  if not isinstance(self.ports, Unset):
47
61
  ports = []
@@ -60,6 +74,8 @@ class OpenStackBackupRestorationRequest:
60
74
  field_dict["name"] = name
61
75
  if floating_ips is not UNSET:
62
76
  field_dict["floating_ips"] = floating_ips
77
+ if security_groups is not UNSET:
78
+ field_dict["security_groups"] = security_groups
63
79
  if ports is not UNSET:
64
80
  field_dict["ports"] = ports
65
81
 
@@ -69,6 +85,7 @@ class OpenStackBackupRestorationRequest:
69
85
  def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
70
86
  from ..models.open_stack_nested_floating_ip_request import OpenStackNestedFloatingIPRequest
71
87
  from ..models.open_stack_nested_port_request import OpenStackNestedPortRequest
88
+ from ..models.open_stack_nested_security_group_request import OpenStackNestedSecurityGroupRequest
72
89
 
73
90
  d = dict(src_dict)
74
91
  flavor = d.pop("flavor")
@@ -82,6 +99,13 @@ class OpenStackBackupRestorationRequest:
82
99
 
83
100
  floating_ips.append(floating_ips_item)
84
101
 
102
+ security_groups = []
103
+ _security_groups = d.pop("security_groups", UNSET)
104
+ for security_groups_item_data in _security_groups or []:
105
+ security_groups_item = OpenStackNestedSecurityGroupRequest.from_dict(security_groups_item_data)
106
+
107
+ security_groups.append(security_groups_item)
108
+
85
109
  ports = []
86
110
  _ports = d.pop("ports", UNSET)
87
111
  for ports_item_data in _ports or []:
@@ -93,6 +117,7 @@ class OpenStackBackupRestorationRequest:
93
117
  flavor=flavor,
94
118
  name=name,
95
119
  floating_ips=floating_ips,
120
+ security_groups=security_groups,
96
121
  ports=ports,
97
122
  )
98
123