From bb3c67a2976a11b00e0904d473da41c910003241 Mon Sep 17 00:00:00 2001 From: SDK Generator Bot Date: Mon, 7 Sep 2026 13:34:52 +0000 Subject: [PATCH] Generate resourcemanager --- services/resourcemanager/oas_commit | 2 +- .../src/stackit/resourcemanager/__init__.py | 4 - .../resourcemanager/api/default_api.py | 108 ++++++++-------- .../resourcemanager/models/__init__.py | 1 - .../models/container_search_result.py | 115 ------------------ 5 files changed, 55 insertions(+), 175 deletions(-) delete mode 100644 services/resourcemanager/src/stackit/resourcemanager/models/container_search_result.py 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