diff --git a/services/resourcemanager/oas_commit b/services/resourcemanager/oas_commit
index 42d3f2f4f..d5d15003c 100644
--- a/services/resourcemanager/oas_commit
+++ b/services/resourcemanager/oas_commit
@@ -1 +1 @@
-79a99bf8bc8175f2f384c7636da1fae5f6a9bd60
+f385f3b154cb566b3c9e5156c29b28150f2af4a2
diff --git a/services/resourcemanager/src/stackit/resourcemanager/__init__.py b/services/resourcemanager/src/stackit/resourcemanager/__init__.py
index 6b75118e2..c64bb3eb4 100644
--- a/services/resourcemanager/src/stackit/resourcemanager/__init__.py
+++ b/services/resourcemanager/src/stackit/resourcemanager/__init__.py
@@ -27,7 +27,6 @@
"ApiKeyError",
"ApiAttributeError",
"ApiException",
- "ContainerSearchResult",
"CreateFolderPayload",
"CreateProjectPayload",
"ErrorResponse",
@@ -65,9 +64,6 @@
from stackit.resourcemanager.exceptions import OpenApiException as OpenApiException
# import models into sdk package
-from stackit.resourcemanager.models.container_search_result import (
- ContainerSearchResult as ContainerSearchResult,
-)
from stackit.resourcemanager.models.create_folder_payload import (
CreateFolderPayload as CreateFolderPayload,
)
diff --git a/services/resourcemanager/src/stackit/resourcemanager/api/default_api.py b/services/resourcemanager/src/stackit/resourcemanager/api/default_api.py
index 1ae9bd132..7f36a8447 100644
--- a/services/resourcemanager/src/stackit/resourcemanager/api/default_api.py
+++ b/services/resourcemanager/src/stackit/resourcemanager/api/default_api.py
@@ -75,7 +75,7 @@ def create_folder(
) -> FolderResponse:
"""Create Folder
- Create a new folder.
+ Creates a new folder within a parent organization or folder. Authorization & Permissions: - Evaluated on Target Parent Container: resource-manager.folder.create (required permission on the target parent organization or folder to create a folder).
:param create_folder_payload:
:type create_folder_payload: CreateFolderPayload
@@ -138,7 +138,7 @@ def create_folder_with_http_info(
) -> ApiResponse[FolderResponse]:
"""Create Folder
- Create a new folder.
+ Creates a new folder within a parent organization or folder. Authorization & Permissions: - Evaluated on Target Parent Container: resource-manager.folder.create (required permission on the target parent organization or folder to create a folder).
:param create_folder_payload:
:type create_folder_payload: CreateFolderPayload
@@ -201,7 +201,7 @@ def create_folder_without_preload_content(
) -> RESTResponseType:
"""Create Folder
- Create a new folder.
+ Creates a new folder within a parent organization or folder. Authorization & Permissions: - Evaluated on Target Parent Container: resource-manager.folder.create (required permission on the target parent organization or folder to create a folder).
:param create_folder_payload:
:type create_folder_payload: CreateFolderPayload
@@ -318,7 +318,7 @@ def create_project(
) -> Project:
"""Create Project
- Create a new project. - The request is synchronous, but the workflow-based creation is asynchronous. - Lifecycle state remains in CREATING, until workflow completes
+ Creates a new project within a parent container. - Creation request returns synchronously, while underlying resource provisioning runs asynchronously. - Initial lifecycle state is CREATING until provisioning completes. Authorization & Permissions: - Evaluated on Target Parent Container: resource-manager.project.create (required permission on the target parent organization or folder to create a project).
:param create_project_payload:
:type create_project_payload: CreateProjectPayload
@@ -381,7 +381,7 @@ def create_project_with_http_info(
) -> ApiResponse[Project]:
"""Create Project
- Create a new project. - The request is synchronous, but the workflow-based creation is asynchronous. - Lifecycle state remains in CREATING, until workflow completes
+ Creates a new project within a parent container. - Creation request returns synchronously, while underlying resource provisioning runs asynchronously. - Initial lifecycle state is CREATING until provisioning completes. Authorization & Permissions: - Evaluated on Target Parent Container: resource-manager.project.create (required permission on the target parent organization or folder to create a project).
:param create_project_payload:
:type create_project_payload: CreateProjectPayload
@@ -444,7 +444,7 @@ def create_project_without_preload_content(
) -> RESTResponseType:
"""Create Project
- Create a new project. - The request is synchronous, but the workflow-based creation is asynchronous. - Lifecycle state remains in CREATING, until workflow completes
+ Creates a new project within a parent container. - Creation request returns synchronously, while underlying resource provisioning runs asynchronously. - Initial lifecycle state is CREATING until provisioning completes. Authorization & Permissions: - Evaluated on Target Parent Container: resource-manager.project.create (required permission on the target parent organization or folder to create a project).
:param create_project_payload:
:type create_project_payload: CreateProjectPayload
@@ -569,7 +569,7 @@ def delete_folder(
) -> None:
"""Delete Folder
- Delete a folder and its metadata. - Folder must not be parent of any other container - A force flag may be set, deleting all underlying folders recursively - if no project is attached!
+ Delete a folder and its metadata. - Folder must not contain active child containers unless force deletion is enabled without attached projects. Authorization & Permissions: - Evaluated on Target Folder: resource-manager.folder.delete (required permission on the target folder to delete it).
:param container_id: Folder identifier - containerId as well as UUID identifier is supported. (required)
:type container_id: str
@@ -642,7 +642,7 @@ def delete_folder_with_http_info(
) -> ApiResponse[None]:
"""Delete Folder
- Delete a folder and its metadata. - Folder must not be parent of any other container - A force flag may be set, deleting all underlying folders recursively - if no project is attached!
+ Delete a folder and its metadata. - Folder must not contain active child containers unless force deletion is enabled without attached projects. Authorization & Permissions: - Evaluated on Target Folder: resource-manager.folder.delete (required permission on the target folder to delete it).
:param container_id: Folder identifier - containerId as well as UUID identifier is supported. (required)
:type container_id: str
@@ -715,7 +715,7 @@ def delete_folder_without_preload_content(
) -> RESTResponseType:
"""Delete Folder
- Delete a folder and its metadata. - Folder must not be parent of any other container - A force flag may be set, deleting all underlying folders recursively - if no project is attached!
+ Delete a folder and its metadata. - Folder must not contain active child containers unless force deletion is enabled without attached projects. Authorization & Permissions: - Evaluated on Target Folder: resource-manager.folder.delete (required permission on the target folder to delete it).
:param container_id: Folder identifier - containerId as well as UUID identifier is supported. (required)
:type container_id: str
@@ -834,7 +834,7 @@ def delete_folder_labels(
) -> None:
"""Delete Folder Labels
- Deletes all folder labels by given keys. - Specific labels may be deleted by key(s) - If no key is specified, all labels will be deleted!
+ Deletes folder labels by specified keys, or removes all labels if no key is provided. Authorization & Permissions: - Evaluated on Target Folder: resource-manager.folder.edit (required permission on the target folder to delete its labels).
:param container_id: Folder identifier - containerId as well as UUID identifier is supported. (required)
:type container_id: str
@@ -901,7 +901,7 @@ def delete_folder_labels_with_http_info(
) -> ApiResponse[None]:
"""Delete Folder Labels
- Deletes all folder labels by given keys. - Specific labels may be deleted by key(s) - If no key is specified, all labels will be deleted!
+ Deletes folder labels by specified keys, or removes all labels if no key is provided. Authorization & Permissions: - Evaluated on Target Folder: resource-manager.folder.edit (required permission on the target folder to delete its labels).
:param container_id: Folder identifier - containerId as well as UUID identifier is supported. (required)
:type container_id: str
@@ -968,7 +968,7 @@ def delete_folder_labels_without_preload_content(
) -> RESTResponseType:
"""Delete Folder Labels
- Deletes all folder labels by given keys. - Specific labels may be deleted by key(s) - If no key is specified, all labels will be deleted!
+ Deletes folder labels by specified keys, or removes all labels if no key is provided. Authorization & Permissions: - Evaluated on Target Folder: resource-manager.folder.edit (required permission on the target folder to delete its labels).
:param container_id: Folder identifier - containerId as well as UUID identifier is supported. (required)
:type container_id: str
@@ -1089,7 +1089,7 @@ def delete_organization_labels(
) -> None:
"""Delete Organization Labels
- Deletes all organization labels by given keys. - Specific labels may be deleted by key(s) - If no key is specified, all labels will be deleted!
+ Deletes organization labels by specified keys, or removes all labels if no key is provided. Authorization & Permissions: - Evaluated on Target Organization: resource-manager.organization.edit (required permission on the organization to delete labels).
:param container_id: Organization identifier - containerId as well as UUID identifier is supported. (required)
:type container_id: str
@@ -1157,7 +1157,7 @@ def delete_organization_labels_with_http_info(
) -> ApiResponse[None]:
"""Delete Organization Labels
- Deletes all organization labels by given keys. - Specific labels may be deleted by key(s) - If no key is specified, all labels will be deleted!
+ Deletes organization labels by specified keys, or removes all labels if no key is provided. Authorization & Permissions: - Evaluated on Target Organization: resource-manager.organization.edit (required permission on the organization to delete labels).
:param container_id: Organization identifier - containerId as well as UUID identifier is supported. (required)
:type container_id: str
@@ -1225,7 +1225,7 @@ def delete_organization_labels_without_preload_content(
) -> RESTResponseType:
"""Delete Organization Labels
- Deletes all organization labels by given keys. - Specific labels may be deleted by key(s) - If no key is specified, all labels will be deleted!
+ Deletes organization labels by specified keys, or removes all labels if no key is provided. Authorization & Permissions: - Evaluated on Target Organization: resource-manager.organization.edit (required permission on the organization to delete labels).
:param container_id: Organization identifier - containerId as well as UUID identifier is supported. (required)
:type container_id: str
@@ -1344,7 +1344,7 @@ def delete_project(
) -> None:
"""Delete Project
- Triggers the deletion of a project. - The request is synchronous, but the workflow-based deletion is asynchronous - Lifecycle state remains in DELETING, until workflow completes
+ Triggers the deletion of a project. - Request returns synchronously, while deletion process runs asynchronously. - Initial lifecycle state is DELETING until workflow completes. Authorization & Permissions: - Evaluated on Target Project: resource-manager.project.delete (required permission on the project to delete it).
:param id: Project identifier - containerId as well as UUID identifier is supported. (required)
:type id: str
@@ -1403,7 +1403,7 @@ def delete_project_with_http_info(
) -> ApiResponse[None]:
"""Delete Project
- Triggers the deletion of a project. - The request is synchronous, but the workflow-based deletion is asynchronous - Lifecycle state remains in DELETING, until workflow completes
+ Triggers the deletion of a project. - Request returns synchronously, while deletion process runs asynchronously. - Initial lifecycle state is DELETING until workflow completes. Authorization & Permissions: - Evaluated on Target Project: resource-manager.project.delete (required permission on the project to delete it).
:param id: Project identifier - containerId as well as UUID identifier is supported. (required)
:type id: str
@@ -1462,7 +1462,7 @@ def delete_project_without_preload_content(
) -> RESTResponseType:
"""Delete Project
- Triggers the deletion of a project. - The request is synchronous, but the workflow-based deletion is asynchronous - Lifecycle state remains in DELETING, until workflow completes
+ Triggers the deletion of a project. - Request returns synchronously, while deletion process runs asynchronously. - Initial lifecycle state is DELETING until workflow completes. Authorization & Permissions: - Evaluated on Target Project: resource-manager.project.delete (required permission on the project to delete it).
:param id: Project identifier - containerId as well as UUID identifier is supported. (required)
:type id: str
@@ -1568,7 +1568,7 @@ def delete_project_labels(
) -> None:
"""Delete Project Labels
- Deletes all project labels by given keys. - Specific labels may be deleted by key(s) - If no key is specified, all labels will be deleted!
+ Deletes project labels by specified keys, or removes all labels if no key is provided. Authorization & Permissions: - Evaluated on Target Project: resource-manager.project.edit (required permission on the project to delete its labels).
:param container_id: Project identifier - containerId as well as UUID identifier is supported. (required)
:type container_id: str
@@ -1635,7 +1635,7 @@ def delete_project_labels_with_http_info(
) -> ApiResponse[None]:
"""Delete Project Labels
- Deletes all project labels by given keys. - Specific labels may be deleted by key(s) - If no key is specified, all labels will be deleted!
+ Deletes project labels by specified keys, or removes all labels if no key is provided. Authorization & Permissions: - Evaluated on Target Project: resource-manager.project.edit (required permission on the project to delete its labels).
:param container_id: Project identifier - containerId as well as UUID identifier is supported. (required)
:type container_id: str
@@ -1702,7 +1702,7 @@ def delete_project_labels_without_preload_content(
) -> RESTResponseType:
"""Delete Project Labels
- Deletes all project labels by given keys. - Specific labels may be deleted by key(s) - If no key is specified, all labels will be deleted!
+ Deletes project labels by specified keys, or removes all labels if no key is provided. Authorization & Permissions: - Evaluated on Target Project: resource-manager.project.edit (required permission on the project to delete its labels).
:param container_id: Project identifier - containerId as well as UUID identifier is supported. (required)
:type container_id: str
@@ -1822,7 +1822,7 @@ def get_folder_details(
) -> GetFolderDetailsResponse:
"""Get Folder Details
- Returns all metadata for a specific folder.
+ Returns metadata for a specific folder. Authorization & Permissions: - Evaluated on Target Folder: resource-manager.folder.get (required primary permission to retrieve folder details). - Evaluated on Parent Containers: resource-manager.organization.get and resource-manager.folder.get implicitly to resolve parent hierarchy details.
:param container_id: Folder identifier - containerId as well as UUID identifier is supported. (required)
:type container_id: str
@@ -1890,7 +1890,7 @@ def get_folder_details_with_http_info(
) -> ApiResponse[GetFolderDetailsResponse]:
"""Get Folder Details
- Returns all metadata for a specific folder.
+ Returns metadata for a specific folder. Authorization & Permissions: - Evaluated on Target Folder: resource-manager.folder.get (required primary permission to retrieve folder details). - Evaluated on Parent Containers: resource-manager.organization.get and resource-manager.folder.get implicitly to resolve parent hierarchy details.
:param container_id: Folder identifier - containerId as well as UUID identifier is supported. (required)
:type container_id: str
@@ -1958,7 +1958,7 @@ def get_folder_details_without_preload_content(
) -> RESTResponseType:
"""Get Folder Details
- Returns all metadata for a specific folder.
+ Returns metadata for a specific folder. Authorization & Permissions: - Evaluated on Target Folder: resource-manager.folder.get (required primary permission to retrieve folder details). - Evaluated on Parent Containers: resource-manager.organization.get and resource-manager.folder.get implicitly to resolve parent hierarchy details.
:param container_id: Folder identifier - containerId as well as UUID identifier is supported. (required)
:type container_id: str
@@ -2077,7 +2077,7 @@ def get_organization(
) -> OrganizationResponse:
"""Get Organization Details
- Returns the organization and its metadata.
+ Returns metadata for a specific organization. Authorization & Permissions: - Evaluated on Target Organization: resource-manager.organization.get (required permission on the organization to view its details).
:param id: Organization identifier - containerId as well as UUID identifier is supported. (required)
:type id: str
@@ -2137,7 +2137,7 @@ def get_organization_with_http_info(
) -> ApiResponse[OrganizationResponse]:
"""Get Organization Details
- Returns the organization and its metadata.
+ Returns metadata for a specific organization. Authorization & Permissions: - Evaluated on Target Organization: resource-manager.organization.get (required permission on the organization to view its details).
:param id: Organization identifier - containerId as well as UUID identifier is supported. (required)
:type id: str
@@ -2197,7 +2197,7 @@ def get_organization_without_preload_content(
) -> RESTResponseType:
"""Get Organization Details
- Returns the organization and its metadata.
+ Returns metadata for a specific organization. Authorization & Permissions: - Evaluated on Target Organization: resource-manager.organization.get (required permission on the organization to view its details).
:param id: Organization identifier - containerId as well as UUID identifier is supported. (required)
:type id: str
@@ -2303,7 +2303,7 @@ def get_project(
) -> GetProjectResponse:
"""Get Project Details
- Returns the project and its metadata.
+ Returns the project and its metadata. Authorization & Permissions: - Evaluated on Target Project: resource-manager.project.get (required primary permission to view project details). - Evaluated on Parent Containers: resource-manager.organization.get and resource-manager.folder.get on parent organizations/folders implicitly to resolve and include parent metadata in the response hierarchy.
:param id: Project identifier - containerId as well as UUID identifier is supported. (required)
:type id: str
@@ -2371,7 +2371,7 @@ def get_project_with_http_info(
) -> ApiResponse[GetProjectResponse]:
"""Get Project Details
- Returns the project and its metadata.
+ Returns the project and its metadata. Authorization & Permissions: - Evaluated on Target Project: resource-manager.project.get (required primary permission to view project details). - Evaluated on Parent Containers: resource-manager.organization.get and resource-manager.folder.get on parent organizations/folders implicitly to resolve and include parent metadata in the response hierarchy.
:param id: Project identifier - containerId as well as UUID identifier is supported. (required)
:type id: str
@@ -2439,7 +2439,7 @@ def get_project_without_preload_content(
) -> RESTResponseType:
"""Get Project Details
- Returns the project and its metadata.
+ Returns the project and its metadata. Authorization & Permissions: - Evaluated on Target Project: resource-manager.project.get (required primary permission to view project details). - Evaluated on Parent Containers: resource-manager.organization.get and resource-manager.folder.get on parent organizations/folders implicitly to resolve and include parent metadata in the response hierarchy.
:param id: Project identifier - containerId as well as UUID identifier is supported. (required)
:type id: str
@@ -2590,7 +2590,7 @@ def list_folders(
) -> ListFoldersResponse:
"""Get All Folders
- Returns all folders and their metadata that: - Are children of the specific containerParentId - Match the given containerIds - User is member of
Filter: - Either containerParentId OR containerIds OR member must be passed - If containerId and containerParentId are given, both are used for filtering - containers must point to the same parent - If member and containerParentId are given, both are used for filtering - If member is given, containers must not point to the same container parent
+ Returns all folders and their metadata that: - Are children of the specific containerParentId - Match the given containerIds - User is member of
Filter: - Either containerParentId OR containerIds OR member must be passed - If containerId and containerParentId are given, both are used for filtering - containers must point to the same parent - If member and containerParentId are given, both are used for filtering - If member is given, containers must not point to the same container parent Authorization & Permissions: - When filtering by member: resource-manager.folder.direct.get is evaluated on target folders for the member; if caller differs from target member, system-level resource-manager.folder.get is required. - When filtering by containerParentId: resource-manager.folder.list is evaluated on the parent container. - When filtering by containerIds: resource-manager.folder.get is evaluated on the parent container of requested folders.
:param container_parent_id: Identifier of the parent resource container - containerId as well as UUID identifier is supported.
:type container_parent_id: str
@@ -2703,7 +2703,7 @@ def list_folders_with_http_info(
) -> ApiResponse[ListFoldersResponse]:
"""Get All Folders
- Returns all folders and their metadata that: - Are children of the specific containerParentId - Match the given containerIds - User is member of
Filter: - Either containerParentId OR containerIds OR member must be passed - If containerId and containerParentId are given, both are used for filtering - containers must point to the same parent - If member and containerParentId are given, both are used for filtering - If member is given, containers must not point to the same container parent
+ Returns all folders and their metadata that: - Are children of the specific containerParentId - Match the given containerIds - User is member of
Filter: - Either containerParentId OR containerIds OR member must be passed - If containerId and containerParentId are given, both are used for filtering - containers must point to the same parent - If member and containerParentId are given, both are used for filtering - If member is given, containers must not point to the same container parent Authorization & Permissions: - When filtering by member: resource-manager.folder.direct.get is evaluated on target folders for the member; if caller differs from target member, system-level resource-manager.folder.get is required. - When filtering by containerParentId: resource-manager.folder.list is evaluated on the parent container. - When filtering by containerIds: resource-manager.folder.get is evaluated on the parent container of requested folders.
:param container_parent_id: Identifier of the parent resource container - containerId as well as UUID identifier is supported.
:type container_parent_id: str
@@ -2816,7 +2816,7 @@ def list_folders_without_preload_content(
) -> RESTResponseType:
"""Get All Folders
- Returns all folders and their metadata that: - Are children of the specific containerParentId - Match the given containerIds - User is member of
Filter: - Either containerParentId OR containerIds OR member must be passed - If containerId and containerParentId are given, both are used for filtering - containers must point to the same parent - If member and containerParentId are given, both are used for filtering - If member is given, containers must not point to the same container parent
+ Returns all folders and their metadata that: - Are children of the specific containerParentId - Match the given containerIds - User is member of
Filter: - Either containerParentId OR containerIds OR member must be passed - If containerId and containerParentId are given, both are used for filtering - containers must point to the same parent - If member and containerParentId are given, both are used for filtering - If member is given, containers must not point to the same container parent Authorization & Permissions: - When filtering by member: resource-manager.folder.direct.get is evaluated on target folders for the member; if caller differs from target member, system-level resource-manager.folder.get is required. - When filtering by containerParentId: resource-manager.folder.list is evaluated on the parent container. - When filtering by containerIds: resource-manager.folder.get is evaluated on the parent container of requested folders.
:param container_parent_id: Identifier of the parent resource container - containerId as well as UUID identifier is supported.
:type container_parent_id: str
@@ -3002,9 +3002,9 @@ def list_organizations(
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> ListOrganizationsResponse:
- """Get All Organizations
+ """Get all organizations of member
- Returns all organizations and their metadata. - If no containerIds are specified, all organizations are returned, if permitted - ContainerIds may be set to filter - Member may be set to filter - If member and containerIds are given, both are used for filtering
+ Returns all organizations and their metadata accessible to the caller. - Filterable by containerIds or member. Authorization & Permissions: - Evaluated on Target Organizations: resource-manager.organization.list and/or (depending if containerIDs was used in the request) resource-manager.organization.get to filter and list accessible organizations.
:param container_ids: Organization identifiers - containerId as well as UUID identifier is supported. A combination of both is not allowed.
:type container_ids: List[str]
@@ -3107,9 +3107,9 @@ def list_organizations_with_http_info(
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> ApiResponse[ListOrganizationsResponse]:
- """Get All Organizations
+ """Get all organizations of member
- Returns all organizations and their metadata. - If no containerIds are specified, all organizations are returned, if permitted - ContainerIds may be set to filter - Member may be set to filter - If member and containerIds are given, both are used for filtering
+ Returns all organizations and their metadata accessible to the caller. - Filterable by containerIds or member. Authorization & Permissions: - Evaluated on Target Organizations: resource-manager.organization.list and/or (depending if containerIDs was used in the request) resource-manager.organization.get to filter and list accessible organizations.
:param container_ids: Organization identifiers - containerId as well as UUID identifier is supported. A combination of both is not allowed.
:type container_ids: List[str]
@@ -3212,9 +3212,9 @@ def list_organizations_without_preload_content(
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> RESTResponseType:
- """Get All Organizations
+ """Get all organizations of member
- Returns all organizations and their metadata. - If no containerIds are specified, all organizations are returned, if permitted - ContainerIds may be set to filter - Member may be set to filter - If member and containerIds are given, both are used for filtering
+ Returns all organizations and their metadata accessible to the caller. - Filterable by containerIds or member. Authorization & Permissions: - Evaluated on Target Organizations: resource-manager.organization.list and/or (depending if containerIDs was used in the request) resource-manager.organization.get to filter and list accessible organizations.
:param container_ids: Organization identifiers - containerId as well as UUID identifier is supported. A combination of both is not allowed.
:type container_ids: List[str]
@@ -3395,9 +3395,9 @@ def list_projects(
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> ListProjectsResponse:
- """Get All Projects
+ """Get All Projects of a member.
- Returns all projects and their metadata that: - Are children of the specific containerParentId - Match the given containerIds - User is member of Filter: - Either containerParentId OR containerIds OR member must be passed - If containerId and containerParentId are given, both are used for filtering - containers must point to the same parent - If member and containerParentId are given, both are used for filtering - If member is given, containers must not point to the same container parent
+ Returns all projects and their metadata that: - Are children of the specific containerParentId - Match the given containerIds - User is member of Filter: - Either containerParentId OR containerIds OR member must be passed - If containerId and containerParentId are given, both are used for filtering - containers must point to the same parent - If member and containerParentId are given, both are used for filtering - If member is given, containers must not point to the same container parent Authorization & Permissions: - Evaluated on Target Projects: resource-manager.project.get, resource-manager.project.list, or resource-manager.project.direct.get to filter and return accessible projects.
:param container_parent_id: Identifier of the parent resource container - containerId as well as UUID identifier is supported.
:type container_parent_id: str
@@ -3507,9 +3507,9 @@ def list_projects_with_http_info(
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> ApiResponse[ListProjectsResponse]:
- """Get All Projects
+ """Get All Projects of a member.
- Returns all projects and their metadata that: - Are children of the specific containerParentId - Match the given containerIds - User is member of Filter: - Either containerParentId OR containerIds OR member must be passed - If containerId and containerParentId are given, both are used for filtering - containers must point to the same parent - If member and containerParentId are given, both are used for filtering - If member is given, containers must not point to the same container parent
+ Returns all projects and their metadata that: - Are children of the specific containerParentId - Match the given containerIds - User is member of Filter: - Either containerParentId OR containerIds OR member must be passed - If containerId and containerParentId are given, both are used for filtering - containers must point to the same parent - If member and containerParentId are given, both are used for filtering - If member is given, containers must not point to the same container parent Authorization & Permissions: - Evaluated on Target Projects: resource-manager.project.get, resource-manager.project.list, or resource-manager.project.direct.get to filter and return accessible projects.
:param container_parent_id: Identifier of the parent resource container - containerId as well as UUID identifier is supported.
:type container_parent_id: str
@@ -3619,9 +3619,9 @@ def list_projects_without_preload_content(
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> RESTResponseType:
- """Get All Projects
+ """Get All Projects of a member.
- Returns all projects and their metadata that: - Are children of the specific containerParentId - Match the given containerIds - User is member of Filter: - Either containerParentId OR containerIds OR member must be passed - If containerId and containerParentId are given, both are used for filtering - containers must point to the same parent - If member and containerParentId are given, both are used for filtering - If member is given, containers must not point to the same container parent
+ Returns all projects and their metadata that: - Are children of the specific containerParentId - Match the given containerIds - User is member of Filter: - Either containerParentId OR containerIds OR member must be passed - If containerId and containerParentId are given, both are used for filtering - containers must point to the same parent - If member and containerParentId are given, both are used for filtering - If member is given, containers must not point to the same container parent Authorization & Permissions: - Evaluated on Target Projects: resource-manager.project.get, resource-manager.project.list, or resource-manager.project.direct.get to filter and return accessible projects.
:param container_parent_id: Identifier of the parent resource container - containerId as well as UUID identifier is supported.
:type container_parent_id: str
@@ -3780,7 +3780,7 @@ def partial_update_folder(
) -> FolderResponse:
"""Update Folder
- Update the folder and its metadata. - Update folder name - Update folder labels - Update folder parent (folder or organization)
+ Update the folder and its metadata (name, labels, parent container). Authorization & Permissions: - Evaluated on Target Folder: resource-manager.folder.edit (required permission on the target folder to modify its details, labels, or parent).
:param container_id: Folder identifier - containerId as well as UUID identifier is supported. (required)
:type container_id: str
@@ -3849,7 +3849,7 @@ def partial_update_folder_with_http_info(
) -> ApiResponse[FolderResponse]:
"""Update Folder
- Update the folder and its metadata. - Update folder name - Update folder labels - Update folder parent (folder or organization)
+ Update the folder and its metadata (name, labels, parent container). Authorization & Permissions: - Evaluated on Target Folder: resource-manager.folder.edit (required permission on the target folder to modify its details, labels, or parent).
:param container_id: Folder identifier - containerId as well as UUID identifier is supported. (required)
:type container_id: str
@@ -3918,7 +3918,7 @@ def partial_update_folder_without_preload_content(
) -> RESTResponseType:
"""Update Folder
- Update the folder and its metadata. - Update folder name - Update folder labels - Update folder parent (folder or organization)
+ Update the folder and its metadata (name, labels, parent container). Authorization & Permissions: - Evaluated on Target Folder: resource-manager.folder.edit (required permission on the target folder to modify its details, labels, or parent).
:param container_id: Folder identifier - containerId as well as UUID identifier is supported. (required)
:type container_id: str
@@ -4045,7 +4045,7 @@ def partial_update_organization(
) -> OrganizationResponse:
"""Update Organization
- Update the organization and its metadata. - Update organization name - Update organization labels
+ Updates organization metadata (name, labels). Authorization & Permissions: - Evaluated on Target Organization: resource-manager.organization.edit (required permission on the organization to update metadata and labels).
:param id: Organization identifier - containerId as well as UUID identifier is supported. (required)
:type id: str
@@ -4114,7 +4114,7 @@ def partial_update_organization_with_http_info(
) -> ApiResponse[OrganizationResponse]:
"""Update Organization
- Update the organization and its metadata. - Update organization name - Update organization labels
+ Updates organization metadata (name, labels). Authorization & Permissions: - Evaluated on Target Organization: resource-manager.organization.edit (required permission on the organization to update metadata and labels).
:param id: Organization identifier - containerId as well as UUID identifier is supported. (required)
:type id: str
@@ -4183,7 +4183,7 @@ def partial_update_organization_without_preload_content(
) -> RESTResponseType:
"""Update Organization
- Update the organization and its metadata. - Update organization name - Update organization labels
+ Updates organization metadata (name, labels). Authorization & Permissions: - Evaluated on Target Organization: resource-manager.organization.edit (required permission on the organization to update metadata and labels).
:param id: Organization identifier - containerId as well as UUID identifier is supported. (required)
:type id: str
@@ -4308,7 +4308,7 @@ def partial_update_project(
) -> Project:
"""Update Project
- Update the project and its metadata. - Update project name - Update project labels - Update project parent (folder or organization)
+ Updates project metadata (name, labels, or parent hierarchy). Authorization & Permissions: - Evaluated on Target Project: resource-manager.project.edit (required permission on the project to modify its details, labels, or parent).
:param id: Project identifier - containerId as well as UUID identifier is supported. (required)
:type id: str
@@ -4377,7 +4377,7 @@ def partial_update_project_with_http_info(
) -> ApiResponse[Project]:
"""Update Project
- Update the project and its metadata. - Update project name - Update project labels - Update project parent (folder or organization)
+ Updates project metadata (name, labels, or parent hierarchy). Authorization & Permissions: - Evaluated on Target Project: resource-manager.project.edit (required permission on the project to modify its details, labels, or parent).
:param id: Project identifier - containerId as well as UUID identifier is supported. (required)
:type id: str
@@ -4446,7 +4446,7 @@ def partial_update_project_without_preload_content(
) -> RESTResponseType:
"""Update Project
- Update the project and its metadata. - Update project name - Update project labels - Update project parent (folder or organization)
+ Updates project metadata (name, labels, or parent hierarchy). Authorization & Permissions: - Evaluated on Target Project: resource-manager.project.edit (required permission on the project to modify its details, labels, or parent).
:param id: Project identifier - containerId as well as UUID identifier is supported. (required)
:type id: str
diff --git a/services/resourcemanager/src/stackit/resourcemanager/models/__init__.py b/services/resourcemanager/src/stackit/resourcemanager/models/__init__.py
index 7d35303f7..180c1d0f6 100644
--- a/services/resourcemanager/src/stackit/resourcemanager/models/__init__.py
+++ b/services/resourcemanager/src/stackit/resourcemanager/models/__init__.py
@@ -13,7 +13,6 @@
""" # noqa: E501
# import models into model package
-from stackit.resourcemanager.models.container_search_result import ContainerSearchResult
from stackit.resourcemanager.models.create_folder_payload import CreateFolderPayload
from stackit.resourcemanager.models.create_project_payload import CreateProjectPayload
from stackit.resourcemanager.models.error_response import ErrorResponse
diff --git a/services/resourcemanager/src/stackit/resourcemanager/models/container_search_result.py b/services/resourcemanager/src/stackit/resourcemanager/models/container_search_result.py
deleted file mode 100644
index d2f36ffc8..000000000
--- a/services/resourcemanager/src/stackit/resourcemanager/models/container_search_result.py
+++ /dev/null
@@ -1,115 +0,0 @@
-# coding: utf-8
-
-"""
-STACKIT Resource Manager API
-
-API v2 to manage resource containers - organizations, folders, projects incl. labels ### Resource Management STACKIT resource management handles the terms _Organization_, _Folder_, _Project_, _Label_, and the hierarchical structure between them. Technically, organizations, folders, and projects are _Resource Containers_ to which a _Label_ can be attached to. The STACKIT _Resource Manager_ provides CRUD endpoints to query and to modify the state. ### Organizations STACKIT organizations are the base element to create and to use cloud-resources. An organization is bound to one customer account. Organizations have a lifecycle. - Organizations are always the root node in resource hierarchy and do not have a parent ### Projects STACKIT projects are needed to use cloud-resources. Projects serve as wrapper for underlying technical structures and processes. Projects have a lifecycle. Projects compared to folders may have different policies. - Projects are optional, but mandatory for cloud-resource usage - A project can be created having either an organization, or a folder as parent - A project must not have a project as parent - Project names under the same parent must not be unique - Root organization cannot be changed ### Label STACKIT labels are key-value pairs including a resource container reference. Labels can be defined and attached freely to resource containers by which resources can be organized and queried. - Policy-based, immutable labels may exists
-
-The version of the OpenAPI document: 2.0
-Generated by OpenAPI Generator (https://openapi-generator.tech)
-
-Do not edit the class manually.
-""" # noqa: E501
-
-from __future__ import annotations
-
-import json
-import pprint
-from typing import Any, ClassVar, Dict, List, Optional, Set
-from uuid import UUID
-
-from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
-from pydantic_core import to_jsonable_python
-from typing_extensions import Self
-
-from stackit.resourcemanager.models.lifecycle_state import LifecycleState
-
-
-class ContainerSearchResult(BaseModel):
- """
- ContainerSearchResult
- """ # noqa: E501
-
- container_id: StrictStr = Field(description="Globally unique user-friendly identifier.", alias="containerId")
- container_type: StrictStr = Field(description="Resource container type.", alias="containerType")
- id: UUID = Field(description="Globally unique identifier.")
- lifecycle_state: Optional[LifecycleState] = Field(default=None, alias="lifecycleState")
- name: StrictStr = Field(description="Resource container name.")
- organization_id: Optional[UUID] = Field(
- default=None, description="Id of the organization the container is in.", alias="organizationId"
- )
- __properties: ClassVar[List[str]] = [
- "containerId",
- "containerType",
- "id",
- "lifecycleState",
- "name",
- "organizationId",
- ]
-
- @field_validator("container_type")
- def container_type_validate_enum(cls, value):
- """Validates the enum"""
- if value not in set(["PROJECT", "FOLDER"]):
- raise ValueError("must be one of enum values ('PROJECT', 'FOLDER')")
- return value
-
- model_config = ConfigDict(
- validate_by_name=True,
- validate_by_alias=True,
- validate_assignment=True,
- protected_namespaces=(),
- )
-
- def to_str(self) -> str:
- """Returns the string representation of the model using alias"""
- return pprint.pformat(self.model_dump(by_alias=True))
-
- def to_json(self) -> str:
- """Returns the JSON representation of the model using alias"""
- return json.dumps(to_jsonable_python(self.to_dict()))
-
- @classmethod
- def from_json(cls, json_str: str) -> Optional[Self]:
- """Create an instance of ContainerSearchResult from a JSON string"""
- return cls.from_dict(json.loads(json_str))
-
- def to_dict(self) -> Dict[str, Any]:
- """Return the dictionary representation of the model using alias.
-
- This has the following differences from calling pydantic's
- `self.model_dump(by_alias=True)`:
-
- * `None` is only added to the output dict for nullable fields that
- were set at model initialization. Other fields with value `None`
- are ignored.
- """
- excluded_fields: Set[str] = set([])
-
- _dict = self.model_dump(
- by_alias=True,
- exclude=excluded_fields,
- exclude_none=True,
- )
- return _dict
-
- @classmethod
- def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
- """Create an instance of ContainerSearchResult from a dict"""
- if obj is None:
- return None
-
- if not isinstance(obj, dict):
- return cls.model_validate(obj)
-
- _obj = cls.model_validate(
- {
- "containerId": obj.get("containerId"),
- "containerType": obj.get("containerType"),
- "id": obj.get("id"),
- "lifecycleState": obj.get("lifecycleState"),
- "name": obj.get("name"),
- "organizationId": obj.get("organizationId"),
- }
- )
- return _obj