From b53a00c67652d2312ded60b99374a6f38a9e096b Mon Sep 17 00:00:00 2001 From: svc-excavator-bot Date: Thu, 2 Jul 2026 20:58:46 +0000 Subject: [PATCH] Excavator: Upgrade API Version --- README.md | 43 ++ docs-snippets-npm/package.json | 2 +- docs-snippets-npm/src/index.ts | 30 +- docs/v2/AipAgents/models/ModelPurpose.md | 11 + docs/v2/Datasets/models/DatasetRid.md | 12 + docs/v2/Filesystem/Folder.md | 2 +- docs/v2/Filesystem/Resource.md | 10 +- docs/v2/Filesystem/ResourceTag.md | 169 +++++++ docs/v2/Filesystem/Space.md | 2 +- .../models/AddResourceTagsRequest.md | 11 + .../GetByPathResourcesBatchRequestElement.md | 2 +- .../models/ListResourceTagsResponse.md | 11 + .../models/RemoveResourceTagsRequest.md | 11 + docs/v2/Filesystem/models/Resource.md | 22 +- .../Filesystem/models/ResourceDisplayName.md | 2 +- docs/v2/Filesystem/models/ResourceRid.md | 2 +- docs/v2/Filesystem/models/ResourceTag.md | 12 + .../models/ResourceTagDisplayName.md | 11 + docs/v2/Filesystem/models/ResourceType.md | 2 +- docs/v2/Filesystem/models/TagRid.md | 11 + .../LanguageModels/models/LanguageModelRid.md | 11 + docs/v2/Ontologies/ActionType.md | 14 +- docs/v2/Ontologies/ObjectType.md | 20 +- docs/v2/Ontologies/OntologyScenario.md | 78 +++ docs/v2/Ontologies/models/ColumnName.md | 11 + .../models/ColumnPropertyMapping.md | 12 + .../Ontologies/models/DatasourceBranchId.md | 12 + docs/v2/Ontologies/models/DatasourceRid.md | 12 + docs/v2/Ontologies/models/DirectSourceRid.md | 12 + .../models/EditOnlyPropertyMapping.md | 12 + .../models/GeotimeSeriesIntegrationRid.md | 11 + .../ListScenarioConflictingObjectsResponse.md | 12 + docs/v2/Ontologies/models/ObjectLocator.md | 12 + .../models/ObjectTypeDatasetDatasource.md | 15 + .../Ontologies/models/ObjectTypeDatasource.md | 16 + .../models/ObjectTypeDatasourceDefinition.md | 26 + .../models/ObjectTypeDirectDatasource.md | 17 + .../models/ObjectTypeEditsOnlyDatasource.md | 16 + .../ObjectTypeGeotimeSeriesDatasource.md | 15 + .../ObjectTypeMediaSetViewDatasource.md | 14 + .../ObjectTypeRestrictedViewDatasource.md | 14 + .../models/ObjectTypeStreamDatasource.md | 14 + .../models/ObjectTypeTableDatasource.md | 14 + .../models/ObjectTypeTimeSeriesDatasource.md | 14 + .../models/ObjectTypeUnsupportedDatasource.md | 18 + docs/v2/Ontologies/models/ObjectTypeV2.md | 1 + .../models/PropertyTypeMappingInfo.md | 20 + .../v2/Ontologies/models/RestrictedViewRid.md | 11 + docs/v2/Ontologies/models/SearchOrderByV2.md | 17 +- docs/v2/Ontologies/models/StreamRid.md | 11 + .../models/StructFieldPropertyMapping.md | 12 + .../models/StructPropertyMapping.md | 14 + docs/v2/Ontologies/models/TableRid.md | 11 + .../v2/Ontologies/models/TimeseriesSyncRid.md | 11 + foundry_sdk/_version.py | 2 +- foundry_sdk/v2/admin/errors.py | 16 + foundry_sdk/v2/admin/group_member.py | 4 + foundry_sdk/v2/aip_agents/errors.py | 51 ++ foundry_sdk/v2/aip_agents/models.py | 5 + foundry_sdk/v2/aip_agents/session.py | 24 + foundry_sdk/v2/cli.py | 195 +++++++- foundry_sdk/v2/datasets/dataset.py | 4 +- foundry_sdk/v2/datasets/errors.py | 14 +- foundry_sdk/v2/datasets/models.py | 5 + foundry_sdk/v2/datasets/view.py | 20 +- foundry_sdk/v2/filesystem/errors.py | 62 ++- foundry_sdk/v2/filesystem/folder.py | 32 +- foundry_sdk/v2/filesystem/models.py | 70 ++- foundry_sdk/v2/filesystem/project.py | 8 +- foundry_sdk/v2/filesystem/resource.py | 52 +- foundry_sdk/v2/filesystem/resource_tag.py | 463 ++++++++++++++++++ foundry_sdk/v2/filesystem/space.py | 4 +- foundry_sdk/v2/language_models/models.py | 5 + foundry_sdk/v2/models/model.py | 4 +- foundry_sdk/v2/models/model_studio.py | 4 +- foundry_sdk/v2/ontologies/action_type.py | 16 + foundry_sdk/v2/ontologies/models.py | 316 +++++++++++- foundry_sdk/v2/ontologies/object_type.py | 24 + .../v2/ontologies/ontology_scenario.py | 162 ++++++ tests/test_resource_import.py | 6 + 80 files changed, 2358 insertions(+), 118 deletions(-) create mode 100644 docs/v2/AipAgents/models/ModelPurpose.md create mode 100644 docs/v2/Datasets/models/DatasetRid.md create mode 100644 docs/v2/Filesystem/ResourceTag.md create mode 100644 docs/v2/Filesystem/models/AddResourceTagsRequest.md create mode 100644 docs/v2/Filesystem/models/ListResourceTagsResponse.md create mode 100644 docs/v2/Filesystem/models/RemoveResourceTagsRequest.md create mode 100644 docs/v2/Filesystem/models/ResourceTag.md create mode 100644 docs/v2/Filesystem/models/ResourceTagDisplayName.md create mode 100644 docs/v2/Filesystem/models/TagRid.md create mode 100644 docs/v2/LanguageModels/models/LanguageModelRid.md create mode 100644 docs/v2/Ontologies/models/ColumnName.md create mode 100644 docs/v2/Ontologies/models/ColumnPropertyMapping.md create mode 100644 docs/v2/Ontologies/models/DatasourceBranchId.md create mode 100644 docs/v2/Ontologies/models/DatasourceRid.md create mode 100644 docs/v2/Ontologies/models/DirectSourceRid.md create mode 100644 docs/v2/Ontologies/models/EditOnlyPropertyMapping.md create mode 100644 docs/v2/Ontologies/models/GeotimeSeriesIntegrationRid.md create mode 100644 docs/v2/Ontologies/models/ListScenarioConflictingObjectsResponse.md create mode 100644 docs/v2/Ontologies/models/ObjectLocator.md create mode 100644 docs/v2/Ontologies/models/ObjectTypeDatasetDatasource.md create mode 100644 docs/v2/Ontologies/models/ObjectTypeDatasource.md create mode 100644 docs/v2/Ontologies/models/ObjectTypeDatasourceDefinition.md create mode 100644 docs/v2/Ontologies/models/ObjectTypeDirectDatasource.md create mode 100644 docs/v2/Ontologies/models/ObjectTypeEditsOnlyDatasource.md create mode 100644 docs/v2/Ontologies/models/ObjectTypeGeotimeSeriesDatasource.md create mode 100644 docs/v2/Ontologies/models/ObjectTypeMediaSetViewDatasource.md create mode 100644 docs/v2/Ontologies/models/ObjectTypeRestrictedViewDatasource.md create mode 100644 docs/v2/Ontologies/models/ObjectTypeStreamDatasource.md create mode 100644 docs/v2/Ontologies/models/ObjectTypeTableDatasource.md create mode 100644 docs/v2/Ontologies/models/ObjectTypeTimeSeriesDatasource.md create mode 100644 docs/v2/Ontologies/models/ObjectTypeUnsupportedDatasource.md create mode 100644 docs/v2/Ontologies/models/PropertyTypeMappingInfo.md create mode 100644 docs/v2/Ontologies/models/RestrictedViewRid.md create mode 100644 docs/v2/Ontologies/models/StreamRid.md create mode 100644 docs/v2/Ontologies/models/StructFieldPropertyMapping.md create mode 100644 docs/v2/Ontologies/models/StructPropertyMapping.md create mode 100644 docs/v2/Ontologies/models/TableRid.md create mode 100644 docs/v2/Ontologies/models/TimeseriesSyncRid.md create mode 100644 foundry_sdk/v2/filesystem/resource_tag.py diff --git a/README.md b/README.md index 7275d07a8..4e3a6f8b2 100644 --- a/README.md +++ b/README.md @@ -1157,6 +1157,7 @@ Namespace | Name | Import | **AipAgents** | [ListAgentVersionsResponse](docs/v2/AipAgents/models/ListAgentVersionsResponse.md) | `from foundry_sdk.v2.aip_agents.models import ListAgentVersionsResponse` | **AipAgents** | [ListSessionsResponse](docs/v2/AipAgents/models/ListSessionsResponse.md) | `from foundry_sdk.v2.aip_agents.models import ListSessionsResponse` | **AipAgents** | [MessageId](docs/v2/AipAgents/models/MessageId.md) | `from foundry_sdk.v2.aip_agents.models import MessageId` | +**AipAgents** | [ModelPurpose](docs/v2/AipAgents/models/ModelPurpose.md) | `from foundry_sdk.v2.aip_agents.models import ModelPurpose` | **AipAgents** | [ObjectContext](docs/v2/AipAgents/models/ObjectContext.md) | `from foundry_sdk.v2.aip_agents.models import ObjectContext` | **AipAgents** | [ObjectSetParameter](docs/v2/AipAgents/models/ObjectSetParameter.md) | `from foundry_sdk.v2.aip_agents.models import ObjectSetParameter` | **AipAgents** | [ObjectSetParameterValue](docs/v2/AipAgents/models/ObjectSetParameterValue.md) | `from foundry_sdk.v2.aip_agents.models import ObjectSetParameterValue` | @@ -1673,6 +1674,7 @@ Namespace | Name | Import | **Datasets** | [DataframeReader](docs/v2/Datasets/models/DataframeReader.md) | `from foundry_sdk.v2.datasets.models import DataframeReader` | **Datasets** | [Dataset](docs/v2/Datasets/models/Dataset.md) | `from foundry_sdk.v2.datasets.models import Dataset` | **Datasets** | [DatasetName](docs/v2/Datasets/models/DatasetName.md) | `from foundry_sdk.v2.datasets.models import DatasetName` | +**Datasets** | [DatasetRid](docs/v2/Datasets/models/DatasetRid.md) | `from foundry_sdk.v2.datasets.models import DatasetRid` | **Datasets** | [File](docs/v2/Datasets/models/File.md) | `from foundry_sdk.v2.datasets.models import File` | **Datasets** | [FileUpdatedTime](docs/v2/Datasets/models/FileUpdatedTime.md) | `from foundry_sdk.v2.datasets.models import FileUpdatedTime` | **Datasets** | [GetDatasetJobsAndFilter](docs/v2/Datasets/models/GetDatasetJobsAndFilter.md) | `from foundry_sdk.v2.datasets.models import GetDatasetJobsAndFilter` | @@ -1722,6 +1724,7 @@ Namespace | Name | Import | **Filesystem** | [AddProjectResourceReferencesRequest](docs/v2/Filesystem/models/AddProjectResourceReferencesRequest.md) | `from foundry_sdk.v2.filesystem.models import AddProjectResourceReferencesRequest` | **Filesystem** | [AddResourceReferenceRequest](docs/v2/Filesystem/models/AddResourceReferenceRequest.md) | `from foundry_sdk.v2.filesystem.models import AddResourceReferenceRequest` | **Filesystem** | [AddResourceRolesRequest](docs/v2/Filesystem/models/AddResourceRolesRequest.md) | `from foundry_sdk.v2.filesystem.models import AddResourceRolesRequest` | +**Filesystem** | [AddResourceTagsRequest](docs/v2/Filesystem/models/AddResourceTagsRequest.md) | `from foundry_sdk.v2.filesystem.models import AddResourceTagsRequest` | **Filesystem** | [CreateFolderRequest](docs/v2/Filesystem/models/CreateFolderRequest.md) | `from foundry_sdk.v2.filesystem.models import CreateFolderRequest` | **Filesystem** | [CreateProjectFromTemplateRequest](docs/v2/Filesystem/models/CreateProjectFromTemplateRequest.md) | `from foundry_sdk.v2.filesystem.models import CreateProjectFromTemplateRequest` | **Filesystem** | [CreateProjectRequest](docs/v2/Filesystem/models/CreateProjectRequest.md) | `from foundry_sdk.v2.filesystem.models import CreateProjectRequest` | @@ -1743,6 +1746,7 @@ Namespace | Name | Import | **Filesystem** | [ListOrganizationsOfProjectResponse](docs/v2/Filesystem/models/ListOrganizationsOfProjectResponse.md) | `from foundry_sdk.v2.filesystem.models import ListOrganizationsOfProjectResponse` | **Filesystem** | [ListProjectResourceReferencesResponse](docs/v2/Filesystem/models/ListProjectResourceReferencesResponse.md) | `from foundry_sdk.v2.filesystem.models import ListProjectResourceReferencesResponse` | **Filesystem** | [ListResourceRolesResponse](docs/v2/Filesystem/models/ListResourceRolesResponse.md) | `from foundry_sdk.v2.filesystem.models import ListResourceRolesResponse` | +**Filesystem** | [ListResourceTagsResponse](docs/v2/Filesystem/models/ListResourceTagsResponse.md) | `from foundry_sdk.v2.filesystem.models import ListResourceTagsResponse` | **Filesystem** | [ListSpacesResponse](docs/v2/Filesystem/models/ListSpacesResponse.md) | `from foundry_sdk.v2.filesystem.models import ListSpacesResponse` | **Filesystem** | [Marking](docs/v2/Filesystem/models/Marking.md) | `from foundry_sdk.v2.filesystem.models import Marking` | **Filesystem** | [Organization](docs/v2/Filesystem/models/Organization.md) | `from foundry_sdk.v2.filesystem.models import Organization` | @@ -1763,6 +1767,7 @@ Namespace | Name | Import | **Filesystem** | [RemoveOrganizationsRequest](docs/v2/Filesystem/models/RemoveOrganizationsRequest.md) | `from foundry_sdk.v2.filesystem.models import RemoveOrganizationsRequest` | **Filesystem** | [RemoveProjectResourceReferencesRequest](docs/v2/Filesystem/models/RemoveProjectResourceReferencesRequest.md) | `from foundry_sdk.v2.filesystem.models import RemoveProjectResourceReferencesRequest` | **Filesystem** | [RemoveResourceRolesRequest](docs/v2/Filesystem/models/RemoveResourceRolesRequest.md) | `from foundry_sdk.v2.filesystem.models import RemoveResourceRolesRequest` | +**Filesystem** | [RemoveResourceTagsRequest](docs/v2/Filesystem/models/RemoveResourceTagsRequest.md) | `from foundry_sdk.v2.filesystem.models import RemoveResourceTagsRequest` | **Filesystem** | [ReplaceFolderRequest](docs/v2/Filesystem/models/ReplaceFolderRequest.md) | `from foundry_sdk.v2.filesystem.models import ReplaceFolderRequest` | **Filesystem** | [ReplaceProjectRequest](docs/v2/Filesystem/models/ReplaceProjectRequest.md) | `from foundry_sdk.v2.filesystem.models import ReplaceProjectRequest` | **Filesystem** | [ReplaceSpaceRequest](docs/v2/Filesystem/models/ReplaceSpaceRequest.md) | `from foundry_sdk.v2.filesystem.models import ReplaceSpaceRequest` | @@ -1774,10 +1779,13 @@ Namespace | Name | Import | **Filesystem** | [ResourceRoleIdentifier](docs/v2/Filesystem/models/ResourceRoleIdentifier.md) | `from foundry_sdk.v2.filesystem.models import ResourceRoleIdentifier` | **Filesystem** | [ResourceRolePrincipal](docs/v2/Filesystem/models/ResourceRolePrincipal.md) | `from foundry_sdk.v2.filesystem.models import ResourceRolePrincipal` | **Filesystem** | [ResourceRolePrincipalIdentifier](docs/v2/Filesystem/models/ResourceRolePrincipalIdentifier.md) | `from foundry_sdk.v2.filesystem.models import ResourceRolePrincipalIdentifier` | +**Filesystem** | [ResourceTag](docs/v2/Filesystem/models/ResourceTag.md) | `from foundry_sdk.v2.filesystem.models import ResourceTag` | +**Filesystem** | [ResourceTagDisplayName](docs/v2/Filesystem/models/ResourceTagDisplayName.md) | `from foundry_sdk.v2.filesystem.models import ResourceTagDisplayName` | **Filesystem** | [ResourceType](docs/v2/Filesystem/models/ResourceType.md) | `from foundry_sdk.v2.filesystem.models import ResourceType` | **Filesystem** | [Space](docs/v2/Filesystem/models/Space.md) | `from foundry_sdk.v2.filesystem.models import Space` | **Filesystem** | [SpaceMavenIdentifier](docs/v2/Filesystem/models/SpaceMavenIdentifier.md) | `from foundry_sdk.v2.filesystem.models import SpaceMavenIdentifier` | **Filesystem** | [SpaceRid](docs/v2/Filesystem/models/SpaceRid.md) | `from foundry_sdk.v2.filesystem.models import SpaceRid` | +**Filesystem** | [TagRid](docs/v2/Filesystem/models/TagRid.md) | `from foundry_sdk.v2.filesystem.models import TagRid` | **Filesystem** | [TrashStatus](docs/v2/Filesystem/models/TrashStatus.md) | `from foundry_sdk.v2.filesystem.models import TrashStatus` | **Filesystem** | [UsageAccountRid](docs/v2/Filesystem/models/UsageAccountRid.md) | `from foundry_sdk.v2.filesystem.models import UsageAccountRid` | **Functions** | [ArrayConstraint](docs/v2/Functions/models/ArrayConstraint.md) | `from foundry_sdk.v2.functions.models import ArrayConstraint` | @@ -1931,6 +1939,7 @@ Namespace | Name | Import | **LanguageModels** | [AnthropicToolUse](docs/v2/LanguageModels/models/AnthropicToolUse.md) | `from foundry_sdk.v2.language_models.models import AnthropicToolUse` | **LanguageModels** | [JsonSchema](docs/v2/LanguageModels/models/JsonSchema.md) | `from foundry_sdk.v2.language_models.models import JsonSchema` | **LanguageModels** | [LanguageModelApiName](docs/v2/LanguageModels/models/LanguageModelApiName.md) | `from foundry_sdk.v2.language_models.models import LanguageModelApiName` | +**LanguageModels** | [LanguageModelRid](docs/v2/LanguageModels/models/LanguageModelRid.md) | `from foundry_sdk.v2.language_models.models import LanguageModelRid` | **LanguageModels** | [OpenAiEmbeddingInput](docs/v2/LanguageModels/models/OpenAiEmbeddingInput.md) | `from foundry_sdk.v2.language_models.models import OpenAiEmbeddingInput` | **LanguageModels** | [OpenAiEmbeddingsRequest](docs/v2/LanguageModels/models/OpenAiEmbeddingsRequest.md) | `from foundry_sdk.v2.language_models.models import OpenAiEmbeddingsRequest` | **LanguageModels** | [OpenAiEmbeddingsResponse](docs/v2/LanguageModels/models/OpenAiEmbeddingsResponse.md) | `from foundry_sdk.v2.language_models.models import OpenAiEmbeddingsResponse` | @@ -2420,6 +2429,8 @@ Namespace | Name | Import | **Ontologies** | [BoundingBoxValue](docs/v2/Ontologies/models/BoundingBoxValue.md) | `from foundry_sdk.v2.ontologies.models import BoundingBoxValue` | **Ontologies** | [CenterPoint](docs/v2/Ontologies/models/CenterPoint.md) | `from foundry_sdk.v2.ontologies.models import CenterPoint` | **Ontologies** | [CenterPointTypes](docs/v2/Ontologies/models/CenterPointTypes.md) | `from foundry_sdk.v2.ontologies.models import CenterPointTypes` | +**Ontologies** | [ColumnName](docs/v2/Ontologies/models/ColumnName.md) | `from foundry_sdk.v2.ontologies.models import ColumnName` | +**Ontologies** | [ColumnPropertyMapping](docs/v2/Ontologies/models/ColumnPropertyMapping.md) | `from foundry_sdk.v2.ontologies.models import ColumnPropertyMapping` | **Ontologies** | [ConjunctiveMarkingSummary](docs/v2/Ontologies/models/ConjunctiveMarkingSummary.md) | `from foundry_sdk.v2.ontologies.models import ConjunctiveMarkingSummary` | **Ontologies** | [ContainerConjunctiveMarkingSummary](docs/v2/Ontologies/models/ContainerConjunctiveMarkingSummary.md) | `from foundry_sdk.v2.ontologies.models import ContainerConjunctiveMarkingSummary` | **Ontologies** | [ContainerDisjunctiveMarkingSummary](docs/v2/Ontologies/models/ContainerDisjunctiveMarkingSummary.md) | `from foundry_sdk.v2.ontologies.models import ContainerDisjunctiveMarkingSummary` | @@ -2446,6 +2457,8 @@ Namespace | Name | Import | **Ontologies** | [CreateTemporaryObjectSetResponseV2](docs/v2/Ontologies/models/CreateTemporaryObjectSetResponseV2.md) | `from foundry_sdk.v2.ontologies.models import CreateTemporaryObjectSetResponseV2` | **Ontologies** | [CurrentTimeArgument](docs/v2/Ontologies/models/CurrentTimeArgument.md) | `from foundry_sdk.v2.ontologies.models import CurrentTimeArgument` | **Ontologies** | [CurrentUserArgument](docs/v2/Ontologies/models/CurrentUserArgument.md) | `from foundry_sdk.v2.ontologies.models import CurrentUserArgument` | +**Ontologies** | [DatasourceBranchId](docs/v2/Ontologies/models/DatasourceBranchId.md) | `from foundry_sdk.v2.ontologies.models import DatasourceBranchId` | +**Ontologies** | [DatasourceRid](docs/v2/Ontologies/models/DatasourceRid.md) | `from foundry_sdk.v2.ontologies.models import DatasourceRid` | **Ontologies** | [DataValue](docs/v2/Ontologies/models/DataValue.md) | `from foundry_sdk.v2.ontologies.models import DataValue` | **Ontologies** | [DatetimeFormat](docs/v2/Ontologies/models/DatetimeFormat.md) | `from foundry_sdk.v2.ontologies.models import DatetimeFormat` | **Ontologies** | [DatetimeLocalizedFormat](docs/v2/Ontologies/models/DatetimeLocalizedFormat.md) | `from foundry_sdk.v2.ontologies.models import DatetimeLocalizedFormat` | @@ -2470,6 +2483,7 @@ Namespace | Name | Import | **Ontologies** | [DeprecatedPropertyTypeStatus](docs/v2/Ontologies/models/DeprecatedPropertyTypeStatus.md) | `from foundry_sdk.v2.ontologies.models import DeprecatedPropertyTypeStatus` | **Ontologies** | [DerivedPropertyApiName](docs/v2/Ontologies/models/DerivedPropertyApiName.md) | `from foundry_sdk.v2.ontologies.models import DerivedPropertyApiName` | **Ontologies** | [DerivedPropertyDefinition](docs/v2/Ontologies/models/DerivedPropertyDefinition.md) | `from foundry_sdk.v2.ontologies.models import DerivedPropertyDefinition` | +**Ontologies** | [DirectSourceRid](docs/v2/Ontologies/models/DirectSourceRid.md) | `from foundry_sdk.v2.ontologies.models import DirectSourceRid` | **Ontologies** | [DisjunctiveMarkingSummary](docs/v2/Ontologies/models/DisjunctiveMarkingSummary.md) | `from foundry_sdk.v2.ontologies.models import DisjunctiveMarkingSummary` | **Ontologies** | [DividePropertyExpression](docs/v2/Ontologies/models/DividePropertyExpression.md) | `from foundry_sdk.v2.ontologies.models import DividePropertyExpression` | **Ontologies** | [DoesNotIntersectBoundingBoxQuery](docs/v2/Ontologies/models/DoesNotIntersectBoundingBoxQuery.md) | `from foundry_sdk.v2.ontologies.models import DoesNotIntersectBoundingBoxQuery` | @@ -2480,6 +2494,7 @@ Namespace | Name | Import | **Ontologies** | [DurationFormatStyle](docs/v2/Ontologies/models/DurationFormatStyle.md) | `from foundry_sdk.v2.ontologies.models import DurationFormatStyle` | **Ontologies** | [DurationPrecision](docs/v2/Ontologies/models/DurationPrecision.md) | `from foundry_sdk.v2.ontologies.models import DurationPrecision` | **Ontologies** | [EditHistoryEdit](docs/v2/Ontologies/models/EditHistoryEdit.md) | `from foundry_sdk.v2.ontologies.models import EditHistoryEdit` | +**Ontologies** | [EditOnlyPropertyMapping](docs/v2/Ontologies/models/EditOnlyPropertyMapping.md) | `from foundry_sdk.v2.ontologies.models import EditOnlyPropertyMapping` | **Ontologies** | [EditsHistoryFilter](docs/v2/Ontologies/models/EditsHistoryFilter.md) | `from foundry_sdk.v2.ontologies.models import EditsHistoryFilter` | **Ontologies** | [EditsHistoryOperationIdsFilter](docs/v2/Ontologies/models/EditsHistoryOperationIdsFilter.md) | `from foundry_sdk.v2.ontologies.models import EditsHistoryOperationIdsFilter` | **Ontologies** | [EditsHistorySortOrder](docs/v2/Ontologies/models/EditsHistorySortOrder.md) | `from foundry_sdk.v2.ontologies.models import EditsHistorySortOrder` | @@ -2516,6 +2531,7 @@ Namespace | Name | Import | **Ontologies** | [GeoShapeV2Geometry](docs/v2/Ontologies/models/GeoShapeV2Geometry.md) | `from foundry_sdk.v2.ontologies.models import GeoShapeV2Geometry` | **Ontologies** | [GeoShapeV2Query](docs/v2/Ontologies/models/GeoShapeV2Query.md) | `from foundry_sdk.v2.ontologies.models import GeoShapeV2Query` | **Ontologies** | [GeotemporalSeriesEntry](docs/v2/Ontologies/models/GeotemporalSeriesEntry.md) | `from foundry_sdk.v2.ontologies.models import GeotemporalSeriesEntry` | +**Ontologies** | [GeotimeSeriesIntegrationRid](docs/v2/Ontologies/models/GeotimeSeriesIntegrationRid.md) | `from foundry_sdk.v2.ontologies.models import GeotimeSeriesIntegrationRid` | **Ontologies** | [GeotimeSeriesValue](docs/v2/Ontologies/models/GeotimeSeriesValue.md) | `from foundry_sdk.v2.ontologies.models import GeotimeSeriesValue` | **Ontologies** | [GetActionTypeByRidBatchRequest](docs/v2/Ontologies/models/GetActionTypeByRidBatchRequest.md) | `from foundry_sdk.v2.ontologies.models import GetActionTypeByRidBatchRequest` | **Ontologies** | [GetActionTypeByRidBatchRequestElement](docs/v2/Ontologies/models/GetActionTypeByRidBatchRequestElement.md) | `from foundry_sdk.v2.ontologies.models import GetActionTypeByRidBatchRequestElement` | @@ -2598,6 +2614,7 @@ Namespace | Name | Import | **Ontologies** | [ListOutgoingInterfaceLinkTypesResponse](docs/v2/Ontologies/models/ListOutgoingInterfaceLinkTypesResponse.md) | `from foundry_sdk.v2.ontologies.models import ListOutgoingInterfaceLinkTypesResponse` | **Ontologies** | [ListOutgoingLinkTypesResponseV2](docs/v2/Ontologies/models/ListOutgoingLinkTypesResponseV2.md) | `from foundry_sdk.v2.ontologies.models import ListOutgoingLinkTypesResponseV2` | **Ontologies** | [ListQueryTypesResponseV2](docs/v2/Ontologies/models/ListQueryTypesResponseV2.md) | `from foundry_sdk.v2.ontologies.models import ListQueryTypesResponseV2` | +**Ontologies** | [ListScenarioConflictingObjectsResponse](docs/v2/Ontologies/models/ListScenarioConflictingObjectsResponse.md) | `from foundry_sdk.v2.ontologies.models import ListScenarioConflictingObjectsResponse` | **Ontologies** | [ListScenarioEditedEntityTypesResponse](docs/v2/Ontologies/models/ListScenarioEditedEntityTypesResponse.md) | `from foundry_sdk.v2.ontologies.models import ListScenarioEditedEntityTypesResponse` | **Ontologies** | [ListScenarioEditedLinksResponse](docs/v2/Ontologies/models/ListScenarioEditedLinksResponse.md) | `from foundry_sdk.v2.ontologies.models import ListScenarioEditedLinksResponse` | **Ontologies** | [ListScenarioEditedLinkTypesResponse](docs/v2/Ontologies/models/ListScenarioEditedLinkTypesResponse.md) | `from foundry_sdk.v2.ontologies.models import ListScenarioEditedLinkTypesResponse` | @@ -2659,6 +2676,7 @@ Namespace | Name | Import | **Ontologies** | [ObjectEditHistoryEntry](docs/v2/Ontologies/models/ObjectEditHistoryEntry.md) | `from foundry_sdk.v2.ontologies.models import ObjectEditHistoryEntry` | **Ontologies** | [ObjectEdits](docs/v2/Ontologies/models/ObjectEdits.md) | `from foundry_sdk.v2.ontologies.models import ObjectEdits` | **Ontologies** | [ObjectLoadingResponseOptions](docs/v2/Ontologies/models/ObjectLoadingResponseOptions.md) | `from foundry_sdk.v2.ontologies.models import ObjectLoadingResponseOptions` | +**Ontologies** | [ObjectLocator](docs/v2/Ontologies/models/ObjectLocator.md) | `from foundry_sdk.v2.ontologies.models import ObjectLocator` | **Ontologies** | [ObjectParameterPropertyArgument](docs/v2/Ontologies/models/ObjectParameterPropertyArgument.md) | `from foundry_sdk.v2.ontologies.models import ObjectParameterPropertyArgument` | **Ontologies** | [ObjectPrimaryKey](docs/v2/Ontologies/models/ObjectPrimaryKey.md) | `from foundry_sdk.v2.ontologies.models import ObjectPrimaryKey` | **Ontologies** | [ObjectPrimaryKeyV2](docs/v2/Ontologies/models/ObjectPrimaryKeyV2.md) | `from foundry_sdk.v2.ontologies.models import ObjectPrimaryKeyV2` | @@ -2691,14 +2709,26 @@ Namespace | Name | Import | **Ontologies** | [ObjectSetWithPropertiesType](docs/v2/Ontologies/models/ObjectSetWithPropertiesType.md) | `from foundry_sdk.v2.ontologies.models import ObjectSetWithPropertiesType` | **Ontologies** | [ObjectState](docs/v2/Ontologies/models/ObjectState.md) | `from foundry_sdk.v2.ontologies.models import ObjectState` | **Ontologies** | [ObjectTypeApiName](docs/v2/Ontologies/models/ObjectTypeApiName.md) | `from foundry_sdk.v2.ontologies.models import ObjectTypeApiName` | +**Ontologies** | [ObjectTypeDatasetDatasource](docs/v2/Ontologies/models/ObjectTypeDatasetDatasource.md) | `from foundry_sdk.v2.ontologies.models import ObjectTypeDatasetDatasource` | +**Ontologies** | [ObjectTypeDatasource](docs/v2/Ontologies/models/ObjectTypeDatasource.md) | `from foundry_sdk.v2.ontologies.models import ObjectTypeDatasource` | +**Ontologies** | [ObjectTypeDatasourceDefinition](docs/v2/Ontologies/models/ObjectTypeDatasourceDefinition.md) | `from foundry_sdk.v2.ontologies.models import ObjectTypeDatasourceDefinition` | +**Ontologies** | [ObjectTypeDirectDatasource](docs/v2/Ontologies/models/ObjectTypeDirectDatasource.md) | `from foundry_sdk.v2.ontologies.models import ObjectTypeDirectDatasource` | **Ontologies** | [ObjectTypeEdits](docs/v2/Ontologies/models/ObjectTypeEdits.md) | `from foundry_sdk.v2.ontologies.models import ObjectTypeEdits` | **Ontologies** | [ObjectTypeEditsHistoryRequest](docs/v2/Ontologies/models/ObjectTypeEditsHistoryRequest.md) | `from foundry_sdk.v2.ontologies.models import ObjectTypeEditsHistoryRequest` | **Ontologies** | [ObjectTypeEditsHistoryResponse](docs/v2/Ontologies/models/ObjectTypeEditsHistoryResponse.md) | `from foundry_sdk.v2.ontologies.models import ObjectTypeEditsHistoryResponse` | +**Ontologies** | [ObjectTypeEditsOnlyDatasource](docs/v2/Ontologies/models/ObjectTypeEditsOnlyDatasource.md) | `from foundry_sdk.v2.ontologies.models import ObjectTypeEditsOnlyDatasource` | **Ontologies** | [ObjectTypeFullMetadata](docs/v2/Ontologies/models/ObjectTypeFullMetadata.md) | `from foundry_sdk.v2.ontologies.models import ObjectTypeFullMetadata` | +**Ontologies** | [ObjectTypeGeotimeSeriesDatasource](docs/v2/Ontologies/models/ObjectTypeGeotimeSeriesDatasource.md) | `from foundry_sdk.v2.ontologies.models import ObjectTypeGeotimeSeriesDatasource` | **Ontologies** | [ObjectTypeId](docs/v2/Ontologies/models/ObjectTypeId.md) | `from foundry_sdk.v2.ontologies.models import ObjectTypeId` | **Ontologies** | [ObjectTypeInterfaceImplementation](docs/v2/Ontologies/models/ObjectTypeInterfaceImplementation.md) | `from foundry_sdk.v2.ontologies.models import ObjectTypeInterfaceImplementation` | **Ontologies** | [ObjectTypeLinkTypeApiNameMapping](docs/v2/Ontologies/models/ObjectTypeLinkTypeApiNameMapping.md) | `from foundry_sdk.v2.ontologies.models import ObjectTypeLinkTypeApiNameMapping` | +**Ontologies** | [ObjectTypeMediaSetViewDatasource](docs/v2/Ontologies/models/ObjectTypeMediaSetViewDatasource.md) | `from foundry_sdk.v2.ontologies.models import ObjectTypeMediaSetViewDatasource` | +**Ontologies** | [ObjectTypeRestrictedViewDatasource](docs/v2/Ontologies/models/ObjectTypeRestrictedViewDatasource.md) | `from foundry_sdk.v2.ontologies.models import ObjectTypeRestrictedViewDatasource` | **Ontologies** | [ObjectTypeRid](docs/v2/Ontologies/models/ObjectTypeRid.md) | `from foundry_sdk.v2.ontologies.models import ObjectTypeRid` | +**Ontologies** | [ObjectTypeStreamDatasource](docs/v2/Ontologies/models/ObjectTypeStreamDatasource.md) | `from foundry_sdk.v2.ontologies.models import ObjectTypeStreamDatasource` | +**Ontologies** | [ObjectTypeTableDatasource](docs/v2/Ontologies/models/ObjectTypeTableDatasource.md) | `from foundry_sdk.v2.ontologies.models import ObjectTypeTableDatasource` | +**Ontologies** | [ObjectTypeTimeSeriesDatasource](docs/v2/Ontologies/models/ObjectTypeTimeSeriesDatasource.md) | `from foundry_sdk.v2.ontologies.models import ObjectTypeTimeSeriesDatasource` | +**Ontologies** | [ObjectTypeUnsupportedDatasource](docs/v2/Ontologies/models/ObjectTypeUnsupportedDatasource.md) | `from foundry_sdk.v2.ontologies.models import ObjectTypeUnsupportedDatasource` | **Ontologies** | [ObjectTypeV2](docs/v2/Ontologies/models/ObjectTypeV2.md) | `from foundry_sdk.v2.ontologies.models import ObjectTypeV2` | **Ontologies** | [ObjectTypeVisibility](docs/v2/Ontologies/models/ObjectTypeVisibility.md) | `from foundry_sdk.v2.ontologies.models import ObjectTypeVisibility` | **Ontologies** | [ObjectUpdate](docs/v2/Ontologies/models/ObjectUpdate.md) | `from foundry_sdk.v2.ontologies.models import ObjectUpdate` | @@ -2768,6 +2798,7 @@ Namespace | Name | Import | **Ontologies** | [PropertySecurity](docs/v2/Ontologies/models/PropertySecurity.md) | `from foundry_sdk.v2.ontologies.models import PropertySecurity` | **Ontologies** | [PropertyTimestampFormattingRule](docs/v2/Ontologies/models/PropertyTimestampFormattingRule.md) | `from foundry_sdk.v2.ontologies.models import PropertyTimestampFormattingRule` | **Ontologies** | [PropertyTypeApiName](docs/v2/Ontologies/models/PropertyTypeApiName.md) | `from foundry_sdk.v2.ontologies.models import PropertyTypeApiName` | +**Ontologies** | [PropertyTypeMappingInfo](docs/v2/Ontologies/models/PropertyTypeMappingInfo.md) | `from foundry_sdk.v2.ontologies.models import PropertyTypeMappingInfo` | **Ontologies** | [PropertyTypeReference](docs/v2/Ontologies/models/PropertyTypeReference.md) | `from foundry_sdk.v2.ontologies.models import PropertyTypeReference` | **Ontologies** | [PropertyTypeReferenceOrStringConstant](docs/v2/Ontologies/models/PropertyTypeReferenceOrStringConstant.md) | `from foundry_sdk.v2.ontologies.models import PropertyTypeReferenceOrStringConstant` | **Ontologies** | [PropertyTypeRid](docs/v2/Ontologies/models/PropertyTypeRid.md) | `from foundry_sdk.v2.ontologies.models import PropertyTypeRid` | @@ -2817,6 +2848,7 @@ Namespace | Name | Import | **Ontologies** | [RelativeTimeUnit](docs/v2/Ontologies/models/RelativeTimeUnit.md) | `from foundry_sdk.v2.ontologies.models import RelativeTimeUnit` | **Ontologies** | [RequestId](docs/v2/Ontologies/models/RequestId.md) | `from foundry_sdk.v2.ontologies.models import RequestId` | **Ontologies** | [ResolvedInterfacePropertyType](docs/v2/Ontologies/models/ResolvedInterfacePropertyType.md) | `from foundry_sdk.v2.ontologies.models import ResolvedInterfacePropertyType` | +**Ontologies** | [RestrictedViewRid](docs/v2/Ontologies/models/RestrictedViewRid.md) | `from foundry_sdk.v2.ontologies.models import RestrictedViewRid` | **Ontologies** | [ReturnEditsMode](docs/v2/Ontologies/models/ReturnEditsMode.md) | `from foundry_sdk.v2.ontologies.models import ReturnEditsMode` | **Ontologies** | [RevertActionEnabledActionTypesQueryV2](docs/v2/Ontologies/models/RevertActionEnabledActionTypesQueryV2.md) | `from foundry_sdk.v2.ontologies.models import RevertActionEnabledActionTypesQueryV2` | **Ontologies** | [RidConstraint](docs/v2/Ontologies/models/RidConstraint.md) | `from foundry_sdk.v2.ontologies.models import RidConstraint` | @@ -2857,6 +2889,7 @@ Namespace | Name | Import | **Ontologies** | [StatusActionTypesQueryV2](docs/v2/Ontologies/models/StatusActionTypesQueryV2.md) | `from foundry_sdk.v2.ontologies.models import StatusActionTypesQueryV2` | **Ontologies** | [StreamingOutputFormat](docs/v2/Ontologies/models/StreamingOutputFormat.md) | `from foundry_sdk.v2.ontologies.models import StreamingOutputFormat` | **Ontologies** | [StreamMessage](docs/v2/Ontologies/models/StreamMessage.md) | `from foundry_sdk.v2.ontologies.models import StreamMessage` | +**Ontologies** | [StreamRid](docs/v2/Ontologies/models/StreamRid.md) | `from foundry_sdk.v2.ontologies.models import StreamRid` | **Ontologies** | [StreamTimeSeriesPointsRequest](docs/v2/Ontologies/models/StreamTimeSeriesPointsRequest.md) | `from foundry_sdk.v2.ontologies.models import StreamTimeSeriesPointsRequest` | **Ontologies** | [StreamTimeSeriesValuesRequest](docs/v2/Ontologies/models/StreamTimeSeriesValuesRequest.md) | `from foundry_sdk.v2.ontologies.models import StreamTimeSeriesValuesRequest` | **Ontologies** | [StringConstant](docs/v2/Ontologies/models/StringConstant.md) | `from foundry_sdk.v2.ontologies.models import StringConstant` | @@ -2870,12 +2903,14 @@ Namespace | Name | Import | **Ontologies** | [StructFieldEvaluatedConstraint](docs/v2/Ontologies/models/StructFieldEvaluatedConstraint.md) | `from foundry_sdk.v2.ontologies.models import StructFieldEvaluatedConstraint` | **Ontologies** | [StructFieldEvaluationResult](docs/v2/Ontologies/models/StructFieldEvaluationResult.md) | `from foundry_sdk.v2.ontologies.models import StructFieldEvaluationResult` | **Ontologies** | [StructFieldOfPropertyImplementation](docs/v2/Ontologies/models/StructFieldOfPropertyImplementation.md) | `from foundry_sdk.v2.ontologies.models import StructFieldOfPropertyImplementation` | +**Ontologies** | [StructFieldPropertyMapping](docs/v2/Ontologies/models/StructFieldPropertyMapping.md) | `from foundry_sdk.v2.ontologies.models import StructFieldPropertyMapping` | **Ontologies** | [StructFieldSelector](docs/v2/Ontologies/models/StructFieldSelector.md) | `from foundry_sdk.v2.ontologies.models import StructFieldSelector` | **Ontologies** | [StructFieldType](docs/v2/Ontologies/models/StructFieldType.md) | `from foundry_sdk.v2.ontologies.models import StructFieldType` | **Ontologies** | [StructFieldTypeRid](docs/v2/Ontologies/models/StructFieldTypeRid.md) | `from foundry_sdk.v2.ontologies.models import StructFieldTypeRid` | **Ontologies** | [StructListParameterFieldArgument](docs/v2/Ontologies/models/StructListParameterFieldArgument.md) | `from foundry_sdk.v2.ontologies.models import StructListParameterFieldArgument` | **Ontologies** | [StructParameterFieldApiName](docs/v2/Ontologies/models/StructParameterFieldApiName.md) | `from foundry_sdk.v2.ontologies.models import StructParameterFieldApiName` | **Ontologies** | [StructParameterFieldArgument](docs/v2/Ontologies/models/StructParameterFieldArgument.md) | `from foundry_sdk.v2.ontologies.models import StructParameterFieldArgument` | +**Ontologies** | [StructPropertyMapping](docs/v2/Ontologies/models/StructPropertyMapping.md) | `from foundry_sdk.v2.ontologies.models import StructPropertyMapping` | **Ontologies** | [StructType](docs/v2/Ontologies/models/StructType.md) | `from foundry_sdk.v2.ontologies.models import StructType` | **Ontologies** | [StructTypeMainValue](docs/v2/Ontologies/models/StructTypeMainValue.md) | `from foundry_sdk.v2.ontologies.models import StructTypeMainValue` | **Ontologies** | [SubmissionCriteriaEvaluation](docs/v2/Ontologies/models/SubmissionCriteriaEvaluation.md) | `from foundry_sdk.v2.ontologies.models import SubmissionCriteriaEvaluation` | @@ -2888,6 +2923,7 @@ Namespace | Name | Import | **Ontologies** | [SumAggregationV2](docs/v2/Ontologies/models/SumAggregationV2.md) | `from foundry_sdk.v2.ontologies.models import SumAggregationV2` | **Ontologies** | [SyncApplyActionResponseV2](docs/v2/Ontologies/models/SyncApplyActionResponseV2.md) | `from foundry_sdk.v2.ontologies.models import SyncApplyActionResponseV2` | **Ontologies** | [SynchronousWebhookOutputArgument](docs/v2/Ontologies/models/SynchronousWebhookOutputArgument.md) | `from foundry_sdk.v2.ontologies.models import SynchronousWebhookOutputArgument` | +**Ontologies** | [TableRid](docs/v2/Ontologies/models/TableRid.md) | `from foundry_sdk.v2.ontologies.models import TableRid` | **Ontologies** | [ThreeDimensionalAggregation](docs/v2/Ontologies/models/ThreeDimensionalAggregation.md) | `from foundry_sdk.v2.ontologies.models import ThreeDimensionalAggregation` | **Ontologies** | [TimeCodeFormat](docs/v2/Ontologies/models/TimeCodeFormat.md) | `from foundry_sdk.v2.ontologies.models import TimeCodeFormat` | **Ontologies** | [TimeRange](docs/v2/Ontologies/models/TimeRange.md) | `from foundry_sdk.v2.ontologies.models import TimeRange` | @@ -2899,6 +2935,7 @@ Namespace | Name | Import | **Ontologies** | [TimeSeriesPoint](docs/v2/Ontologies/models/TimeSeriesPoint.md) | `from foundry_sdk.v2.ontologies.models import TimeSeriesPoint` | **Ontologies** | [TimeSeriesRollingAggregate](docs/v2/Ontologies/models/TimeSeriesRollingAggregate.md) | `from foundry_sdk.v2.ontologies.models import TimeSeriesRollingAggregate` | **Ontologies** | [TimeSeriesRollingAggregateWindow](docs/v2/Ontologies/models/TimeSeriesRollingAggregateWindow.md) | `from foundry_sdk.v2.ontologies.models import TimeSeriesRollingAggregateWindow` | +**Ontologies** | [TimeseriesSyncRid](docs/v2/Ontologies/models/TimeseriesSyncRid.md) | `from foundry_sdk.v2.ontologies.models import TimeseriesSyncRid` | **Ontologies** | [TimeSeriesWindowType](docs/v2/Ontologies/models/TimeSeriesWindowType.md) | `from foundry_sdk.v2.ontologies.models import TimeSeriesWindowType` | **Ontologies** | [TimestampValue](docs/v2/Ontologies/models/TimestampValue.md) | `from foundry_sdk.v2.ontologies.models import TimestampValue` | **Ontologies** | [TimeUnit](docs/v2/Ontologies/models/TimeUnit.md) | `from foundry_sdk.v2.ontologies.models import TimeUnit` | @@ -3434,6 +3471,7 @@ Namespace | Name | Import | **Admin** | ListAvailableRolesOrganizationPermissionDenied | `from foundry_sdk.v2.admin.errors import ListAvailableRolesOrganizationPermissionDenied` | **Admin** | ListCurrentGroupsPermissionDenied | `from foundry_sdk.v2.admin.errors import ListCurrentGroupsPermissionDenied` | **Admin** | ListEnrollmentRoleAssignmentsPermissionDenied | `from foundry_sdk.v2.admin.errors import ListEnrollmentRoleAssignmentsPermissionDenied` | +**Admin** | ListGroupMembersPermissionDenied | `from foundry_sdk.v2.admin.errors import ListGroupMembersPermissionDenied` | **Admin** | ListHostsPermissionDenied | `from foundry_sdk.v2.admin.errors import ListHostsPermissionDenied` | **Admin** | ListMarkingMembersPermissionDenied | `from foundry_sdk.v2.admin.errors import ListMarkingMembersPermissionDenied` | **Admin** | ListMarkingRoleAssignmentsPermissionDenied | `from foundry_sdk.v2.admin.errors import ListMarkingRoleAssignmentsPermissionDenied` | @@ -3475,6 +3513,7 @@ Namespace | Name | Import | **Admin** | UserIsActive | `from foundry_sdk.v2.admin.errors import UserIsActive` | **Admin** | UserNotFound | `from foundry_sdk.v2.admin.errors import UserNotFound` | **Admin** | UserProviderInfoNotFound | `from foundry_sdk.v2.admin.errors import UserProviderInfoNotFound` | +**AipAgents** | ActionTypeNotFound | `from foundry_sdk.v2.aip_agents.errors import ActionTypeNotFound` | **AipAgents** | AgentIterationsExceededLimit | `from foundry_sdk.v2.aip_agents.errors import AgentIterationsExceededLimit` | **AipAgents** | AgentNotFound | `from foundry_sdk.v2.aip_agents.errors import AgentNotFound` | **AipAgents** | AgentVersionNotFound | `from foundry_sdk.v2.aip_agents.errors import AgentVersionNotFound` | @@ -3504,6 +3543,7 @@ Namespace | Name | Import | **AipAgents** | SessionTraceIdAlreadyExists | `from foundry_sdk.v2.aip_agents.errors import SessionTraceIdAlreadyExists` | **AipAgents** | SessionTraceNotFound | `from foundry_sdk.v2.aip_agents.errors import SessionTraceNotFound` | **AipAgents** | StreamingContinueSessionPermissionDenied | `from foundry_sdk.v2.aip_agents.errors import StreamingContinueSessionPermissionDenied` | +**AipAgents** | UnsupportedLanguageModelRid | `from foundry_sdk.v2.aip_agents.errors import UnsupportedLanguageModelRid` | **AipAgents** | UpdateSessionTitlePermissionDenied | `from foundry_sdk.v2.aip_agents.errors import UpdateSessionTitlePermissionDenied` | **Audit** | GetLogFileContentPermissionDenied | `from foundry_sdk.v2.audit.errors import GetLogFileContentPermissionDenied` | **Audit** | ListLogFilesPermissionDenied | `from foundry_sdk.v2.audit.errors import ListLogFilesPermissionDenied` | @@ -3662,6 +3702,7 @@ Namespace | Name | Import | **Filesystem** | AddOrganizationsPermissionDenied | `from foundry_sdk.v2.filesystem.errors import AddOrganizationsPermissionDenied` | **Filesystem** | AddProjectResourceReferencesPermissionDenied | `from foundry_sdk.v2.filesystem.errors import AddProjectResourceReferencesPermissionDenied` | **Filesystem** | AddResourceRolesPermissionDenied | `from foundry_sdk.v2.filesystem.errors import AddResourceRolesPermissionDenied` | +**Filesystem** | AddResourceTagsPermissionDenied | `from foundry_sdk.v2.filesystem.errors import AddResourceTagsPermissionDenied` | **Filesystem** | CircularDependency | `from foundry_sdk.v2.filesystem.errors import CircularDependency` | **Filesystem** | CreateFolderOutsideProjectNotSupported | `from foundry_sdk.v2.filesystem.errors import CreateFolderOutsideProjectNotSupported` | **Filesystem** | CreateFolderPermissionDenied | `from foundry_sdk.v2.filesystem.errors import CreateFolderPermissionDenied` | @@ -3713,6 +3754,7 @@ Namespace | Name | Import | **Filesystem** | RemoveOrganizationsPermissionDenied | `from foundry_sdk.v2.filesystem.errors import RemoveOrganizationsPermissionDenied` | **Filesystem** | RemoveProjectResourceReferencesPermissionDenied | `from foundry_sdk.v2.filesystem.errors import RemoveProjectResourceReferencesPermissionDenied` | **Filesystem** | RemoveResourceRolesPermissionDenied | `from foundry_sdk.v2.filesystem.errors import RemoveResourceRolesPermissionDenied` | +**Filesystem** | RemoveResourceTagsPermissionDenied | `from foundry_sdk.v2.filesystem.errors import RemoveResourceTagsPermissionDenied` | **Filesystem** | ReplaceFolderPermissionDenied | `from foundry_sdk.v2.filesystem.errors import ReplaceFolderPermissionDenied` | **Filesystem** | ReplaceProjectPermissionDenied | `from foundry_sdk.v2.filesystem.errors import ReplaceProjectPermissionDenied` | **Filesystem** | ReplaceSpacePermissionDenied | `from foundry_sdk.v2.filesystem.errors import ReplaceSpacePermissionDenied` | @@ -3728,6 +3770,7 @@ Namespace | Name | Import | **Filesystem** | SpaceNameInvalid | `from foundry_sdk.v2.filesystem.errors import SpaceNameInvalid` | **Filesystem** | SpaceNotEmpty | `from foundry_sdk.v2.filesystem.errors import SpaceNotEmpty` | **Filesystem** | SpaceNotFound | `from foundry_sdk.v2.filesystem.errors import SpaceNotFound` | +**Filesystem** | TagNotFound | `from foundry_sdk.v2.filesystem.errors import TagNotFound` | **Filesystem** | TemplateGroupNameConflict | `from foundry_sdk.v2.filesystem.errors import TemplateGroupNameConflict` | **Filesystem** | TemplateMarkingNameConflict | `from foundry_sdk.v2.filesystem.errors import TemplateMarkingNameConflict` | **Filesystem** | TrashingAutosavedResourcesNotSupported | `from foundry_sdk.v2.filesystem.errors import TrashingAutosavedResourcesNotSupported` | diff --git a/docs-snippets-npm/package.json b/docs-snippets-npm/package.json index 40ddb5ace..2c0e5f42b 100644 --- a/docs-snippets-npm/package.json +++ b/docs-snippets-npm/package.json @@ -24,7 +24,7 @@ "sls": { "dependencies": { "com.palantir.foundry.api:api-gateway": { - "minVersion": "1.1680.0", + "minVersion": "1.1689.0", "maxVersion": "1.x.x", "optional": false } diff --git a/docs-snippets-npm/src/index.ts b/docs-snippets-npm/src/index.ts index ee9202552..afb9b3f36 100644 --- a/docs-snippets-npm/src/index.ts +++ b/docs-snippets-npm/src/index.ts @@ -1065,7 +1065,7 @@ export const PYTHON_PLATFORM_SNIPPETS: SdkSnippets core.ResourceIterator[filesystem_models.Resource]: """ - List all child Resources of the Folder. + List all child resources of the Folder. This is a paged endpoint. The page size will be limited to 2,000 results per page. If no page size is provided, this page size will also be used as the default. @@ -87,7 +87,7 @@ def children( :raises FolderNotFound: The given Folder could not be found. :raises GetRootFolderNotSupported: Getting the root folder as a resource is not supported. :raises GetSpaceResourceNotSupported: Getting a space as a resource is not supported. - :raises InvalidFolder: The given Resource is not a Folder. + :raises InvalidFolder: The given resource is not a Folder. :raises ResourceNotFound: The given Resource could not be found. """ @@ -141,12 +141,12 @@ def create( :return: Returns the result object. :rtype: filesystem_models.Folder - :raises CreateFolderOutsideProjectNotSupported: The given Resource is not a folder. + :raises CreateFolderOutsideProjectNotSupported: The given resource is not a folder. :raises CreateFolderPermissionDenied: Could not create the Folder. :raises FolderNotFound: The given Folder could not be found. :raises GetRootFolderNotSupported: Getting the root folder as a resource is not supported. - :raises InvalidDisplayName: The display name of a Resource should not be exactly `.` or `..`, contain a forward slash `/` and must be less than or equal to 700 characters. - :raises InvalidFolder: The given Resource is not a Folder. + :raises InvalidDisplayName: The display name of a resource should not be exactly `.` or `..`, contain a forward slash `/` and must be less than or equal to 700 characters. + :raises InvalidFolder: The given resource is not a Folder. :raises MissingDisplayName: A Display Name must be provided. :raises ResourceNameAlreadyExists: The provided resource name is already in use by another resource in the same folder. """ @@ -202,7 +202,7 @@ def get( :raises FolderNotFound: The given Folder could not be found. :raises GetRootFolderNotSupported: Getting the root folder as a resource is not supported. - :raises InvalidFolder: The given Resource is not a Folder. + :raises InvalidFolder: The given resource is not a Folder. """ return self._api_client.call_api( @@ -303,8 +303,8 @@ def replace( :raises CircularDependency: The requested operation would result in a circular dependency in the folder hierarchy. For example, moving a folder into one of its descendants. :raises FolderNotFound: The given Folder could not be found. :raises GetRootFolderNotSupported: Getting the root folder as a resource is not supported. - :raises InvalidDisplayName: The display name of a Resource should not be exactly `.` or `..`, contain a forward slash `/` and must be less than or equal to 700 characters. - :raises InvalidFolder: The given Resource is not a Folder. + :raises InvalidDisplayName: The display name of a resource should not be exactly `.` or `..`, contain a forward slash `/` and must be less than or equal to 700 characters. + :raises InvalidFolder: The given resource is not a Folder. :raises InvalidParentFolder: The specified parent folder is not a valid destination for the resource. For example, a project cannot be moved under a regular folder, a folder cannot be moved to a Space, etc. :raises MissingDisplayName: A Display Name must be provided. :raises ReplaceFolderPermissionDenied: Could not replace the Folder. @@ -419,7 +419,7 @@ def children( _sdk_internal: core.SdkInternal = {}, ) -> core.AsyncResourceIterator[filesystem_models.Resource]: """ - List all child Resources of the Folder. + List all child resources of the Folder. This is a paged endpoint. The page size will be limited to 2,000 results per page. If no page size is provided, this page size will also be used as the default. @@ -438,7 +438,7 @@ def children( :raises FolderNotFound: The given Folder could not be found. :raises GetRootFolderNotSupported: Getting the root folder as a resource is not supported. :raises GetSpaceResourceNotSupported: Getting a space as a resource is not supported. - :raises InvalidFolder: The given Resource is not a Folder. + :raises InvalidFolder: The given resource is not a Folder. :raises ResourceNotFound: The given Resource could not be found. """ @@ -492,12 +492,12 @@ def create( :return: Returns the result object. :rtype: typing.Awaitable[filesystem_models.Folder] - :raises CreateFolderOutsideProjectNotSupported: The given Resource is not a folder. + :raises CreateFolderOutsideProjectNotSupported: The given resource is not a folder. :raises CreateFolderPermissionDenied: Could not create the Folder. :raises FolderNotFound: The given Folder could not be found. :raises GetRootFolderNotSupported: Getting the root folder as a resource is not supported. - :raises InvalidDisplayName: The display name of a Resource should not be exactly `.` or `..`, contain a forward slash `/` and must be less than or equal to 700 characters. - :raises InvalidFolder: The given Resource is not a Folder. + :raises InvalidDisplayName: The display name of a resource should not be exactly `.` or `..`, contain a forward slash `/` and must be less than or equal to 700 characters. + :raises InvalidFolder: The given resource is not a Folder. :raises MissingDisplayName: A Display Name must be provided. :raises ResourceNameAlreadyExists: The provided resource name is already in use by another resource in the same folder. """ @@ -553,7 +553,7 @@ def get( :raises FolderNotFound: The given Folder could not be found. :raises GetRootFolderNotSupported: Getting the root folder as a resource is not supported. - :raises InvalidFolder: The given Resource is not a Folder. + :raises InvalidFolder: The given resource is not a Folder. """ return self._api_client.call_api( @@ -654,8 +654,8 @@ def replace( :raises CircularDependency: The requested operation would result in a circular dependency in the folder hierarchy. For example, moving a folder into one of its descendants. :raises FolderNotFound: The given Folder could not be found. :raises GetRootFolderNotSupported: Getting the root folder as a resource is not supported. - :raises InvalidDisplayName: The display name of a Resource should not be exactly `.` or `..`, contain a forward slash `/` and must be less than or equal to 700 characters. - :raises InvalidFolder: The given Resource is not a Folder. + :raises InvalidDisplayName: The display name of a resource should not be exactly `.` or `..`, contain a forward slash `/` and must be less than or equal to 700 characters. + :raises InvalidFolder: The given resource is not a Folder. :raises InvalidParentFolder: The specified parent folder is not a valid destination for the resource. For example, a project cannot be moved under a regular folder, a folder cannot be moved to a Space, etc. :raises MissingDisplayName: A Display Name must be provided. :raises ReplaceFolderPermissionDenied: Could not replace the Folder. diff --git a/foundry_sdk/v2/filesystem/models.py b/foundry_sdk/v2/filesystem/models.py index 55e7e87e7..bfd8f33e7 100644 --- a/foundry_sdk/v2/filesystem/models.py +++ b/foundry_sdk/v2/filesystem/models.py @@ -84,6 +84,12 @@ class AddResourceRolesRequest(core.ModelBase): roles: typing.List[ResourceRoleIdentifier] +class AddResourceTagsRequest(core.ModelBase): + """AddResourceTagsRequest""" + + tag_rids: typing.List[TagRid] = pydantic.Field(alias=str("tagRids")) # type: ignore[literal-required] + + class CreateFolderRequest(core.ModelBase): """CreateFolderRequest""" @@ -216,7 +222,7 @@ class GetByPathResourcesBatchRequestElement(core.ModelBase): """GetByPathResourcesBatchRequestElement""" path: ResourcePath - """The path to the Resource. The leading slash is optional.""" + """The path to the resource. The leading slash is optional.""" class GetByPathResourcesBatchResponse(core.ModelBase): @@ -291,6 +297,12 @@ class ListResourceRolesResponse(core.ModelBase): next_page_token: typing.Optional[core_models.PageToken] = pydantic.Field(alias=str("nextPageToken"), default=None) # type: ignore[literal-required] +class ListResourceTagsResponse(core.ModelBase): + """ListResourceTagsResponse""" + + data: typing.List[ResourceTag] + + class ListSpacesResponse(core.ModelBase): """ListSpacesResponse""" @@ -462,6 +474,12 @@ class RemoveResourceRolesRequest(core.ModelBase): roles: typing.List[ResourceRoleIdentifier] +class RemoveResourceTagsRequest(core.ModelBase): + """RemoveResourceTagsRequest""" + + tag_rids: typing.List[TagRid] = pydantic.Field(alias=str("tagRids")) # type: ignore[literal-required] + + class ReplaceFolderRequest(core.ModelBase): """ReplaceFolderRequest""" @@ -503,38 +521,38 @@ class Resource(core.ModelBase): rid: ResourceRid display_name: ResourceDisplayName = pydantic.Field(alias=str("displayName")) # type: ignore[literal-required] - """The display name of the Resource""" + """The display name of the resource""" description: typing.Optional[str] = None - """The description of the Resource""" + """The description of the resource""" documentation: typing.Optional[str] = None - """The documentation associated with the Resource""" + """The documentation associated with the resource""" path: ResourcePath """The full path to the resource, including the resource name itself""" type: ResourceType - """The type of the Resource derived from the Resource Identifier (RID).""" + """The type of the resource derived from the Resource Identifier (RID).""" created_by: core_models.CreatedBy = pydantic.Field(alias=str("createdBy")) # type: ignore[literal-required] - """The user that created the Resource.""" + """The user that created the resource""" updated_by: core_models.UpdatedBy = pydantic.Field(alias=str("updatedBy")) # type: ignore[literal-required] - """The user that last updated the Resource.""" + """The user that last updated the resource.""" created_time: core_models.CreatedTime = pydantic.Field(alias=str("createdTime")) # type: ignore[literal-required] - """The timestamp that the Resource was last created.""" + """The timestamp that the resource was last created.""" updated_time: core_models.UpdatedTime = pydantic.Field(alias=str("updatedTime")) # type: ignore[literal-required] """ - The timestamp that the Resource was last modified. For folders, this includes any of its descendants. For + The timestamp that the resource was last modified. For folders, this includes any of its descendants. For top level folders (spaces and projects), this is not updated by child updates for performance reasons. """ trash_status: TrashStatus = pydantic.Field(alias=str("trashStatus")) # type: ignore[literal-required] """ - The trash status of the Resource. If trashed, this could either be because the Resource itself has been + The trash status of the resource. If trashed, this could either be because the resource itself has been trashed or because one of its ancestors has been trashed. """ @@ -543,16 +561,16 @@ class Resource(core.ModelBase): project_rid: ProjectRid = pydantic.Field(alias=str("projectRid")) # type: ignore[literal-required] """ - The Project Resource Identifier (RID) that the Resource lives in. If the Resource itself is a + The Project Resource Identifier (RID) that the resource lives in. If the resource itself is a Project, this value will still be populated with the Project RID. """ space_rid: SpaceRid = pydantic.Field(alias=str("spaceRid")) # type: ignore[literal-required] - """The Space Resource Identifier (RID) that the Resource lives in.""" + """The Space Resource Identifier (RID) that the resource lives in.""" ResourceDisplayName: typing_extensions.TypeAlias = str -"""The display name of the Resource""" +"""The display name of the resource""" ResourcePath: typing_extensions.TypeAlias = str @@ -560,7 +578,7 @@ class Resource(core.ModelBase): ResourceRid: typing_extensions.TypeAlias = core.RID -"""The unique resource identifier (RID) of a Resource.""" +"""The unique resource identifier (RID) of a resource.""" class ResourceRole(core.ModelBase): @@ -589,6 +607,18 @@ class ResourceRoleIdentifier(core.ModelBase): """A principal for resource role operations that doesn't require specifying the principal type.""" +class ResourceTag(core.ModelBase): + """ResourceTag""" + + tag_rid: TagRid = pydantic.Field(alias=str("tagRid")) # type: ignore[literal-required] + display_name: ResourceTagDisplayName = pydantic.Field(alias=str("displayName")) # type: ignore[literal-required] + """The display name of the tag, qualified by its category as `{category}:{tag}`.""" + + +ResourceTagDisplayName: typing_extensions.TypeAlias = str +"""The display name of the tag, qualified by its category as `{category}:{tag}`.""" + + ResourceType: typing_extensions.TypeAlias = pydantic.SkipValidation[ typing.Literal[ "AIP_PROFILE", @@ -679,7 +709,7 @@ class ResourceRoleIdentifier(core.ModelBase): ] ] -"""The type of the Resource derived from the Resource Identifier (RID).""" +"""The type of the resource derived from the Resource Identifier (RID).""" class Space(core.ModelBase): @@ -718,6 +748,10 @@ class Space(core.ModelBase): """The unique resource identifier (RID) of a Space.""" +TagRid: typing_extensions.TypeAlias = core.RID +"""The unique resource identifier (RID) of a Tag.""" + + TrashStatus: typing_extensions.TypeAlias = typing.Literal[ "DIRECTLY_TRASHED", "ANCESTOR_TRASHED", "NOT_TRASHED" ] @@ -744,6 +778,7 @@ class Space(core.ModelBase): "AddProjectResourceReferencesRequest", "AddResourceReferenceRequest", "AddResourceRolesRequest", + "AddResourceTagsRequest", "CreateFolderRequest", "CreateProjectFromTemplateRequest", "CreateProjectRequest", @@ -765,6 +800,7 @@ class Space(core.ModelBase): "ListOrganizationsOfProjectResponse", "ListProjectResourceReferencesResponse", "ListResourceRolesResponse", + "ListResourceTagsResponse", "ListSpacesResponse", "Marking", "Organization", @@ -785,6 +821,7 @@ class Space(core.ModelBase): "RemoveOrganizationsRequest", "RemoveProjectResourceReferencesRequest", "RemoveResourceRolesRequest", + "RemoveResourceTagsRequest", "ReplaceFolderRequest", "ReplaceProjectRequest", "ReplaceSpaceRequest", @@ -796,10 +833,13 @@ class Space(core.ModelBase): "ResourceRoleIdentifier", "ResourceRolePrincipal", "ResourceRolePrincipalIdentifier", + "ResourceTag", + "ResourceTagDisplayName", "ResourceType", "Space", "SpaceMavenIdentifier", "SpaceRid", + "TagRid", "TrashStatus", "UsageAccountRid", ] diff --git a/foundry_sdk/v2/filesystem/project.py b/foundry_sdk/v2/filesystem/project.py index d711bc73b..cbf44240a 100644 --- a/foundry_sdk/v2/filesystem/project.py +++ b/foundry_sdk/v2/filesystem/project.py @@ -167,7 +167,7 @@ def create( :raises CreateProjectNoOwnerLikeRoleGrant: The create project request would create a project with no principal being granted an owner-like role. As a result, there would be no user with administrative privileges over the project. A role is defined to be owner-like if it has the `compass:edit-project` operation. In the common case of the default role-set, this is just the `compass:manage` role. :raises CreateProjectPermissionDenied: Could not create the Project. - :raises InvalidDisplayName: The display name of a Resource should not be exactly `.` or `..`, contain a forward slash `/` and must be less than or equal to 700 characters. + :raises InvalidDisplayName: The display name of a resource should not be exactly `.` or `..`, contain a forward slash `/` and must be less than or equal to 700 characters. :raises InvalidRoleIds: A roleId referenced in either default roles or role grants does not exist in the project role set for the space. :raises OrganizationMarkingNotOnSpace: At least one of the organization markings associated with a passed organization is not applied on the requested space. :raises OrganizationsNotFound: At least one organization RID could not be found. @@ -494,7 +494,7 @@ def replace( :return: Returns the result object. :rtype: filesystem_models.Project - :raises InvalidDisplayName: The display name of a Resource should not be exactly `.` or `..`, contain a forward slash `/` and must be less than or equal to 700 characters. + :raises InvalidDisplayName: The display name of a resource should not be exactly `.` or `..`, contain a forward slash `/` and must be less than or equal to 700 characters. :raises ProjectNameAlreadyExists: The requested display name for the created project is already being used in the space. :raises ProjectNotFound: The given Project could not be found. :raises ReplaceProjectPermissionDenied: Could not replace the Project. @@ -712,7 +712,7 @@ def create( :raises CreateProjectNoOwnerLikeRoleGrant: The create project request would create a project with no principal being granted an owner-like role. As a result, there would be no user with administrative privileges over the project. A role is defined to be owner-like if it has the `compass:edit-project` operation. In the common case of the default role-set, this is just the `compass:manage` role. :raises CreateProjectPermissionDenied: Could not create the Project. - :raises InvalidDisplayName: The display name of a Resource should not be exactly `.` or `..`, contain a forward slash `/` and must be less than or equal to 700 characters. + :raises InvalidDisplayName: The display name of a resource should not be exactly `.` or `..`, contain a forward slash `/` and must be less than or equal to 700 characters. :raises InvalidRoleIds: A roleId referenced in either default roles or role grants does not exist in the project role set for the space. :raises OrganizationMarkingNotOnSpace: At least one of the organization markings associated with a passed organization is not applied on the requested space. :raises OrganizationsNotFound: At least one organization RID could not be found. @@ -1039,7 +1039,7 @@ def replace( :return: Returns the result object. :rtype: typing.Awaitable[filesystem_models.Project] - :raises InvalidDisplayName: The display name of a Resource should not be exactly `.` or `..`, contain a forward slash `/` and must be less than or equal to 700 characters. + :raises InvalidDisplayName: The display name of a resource should not be exactly `.` or `..`, contain a forward slash `/` and must be less than or equal to 700 characters. :raises ProjectNameAlreadyExists: The requested display name for the created project is already being used in the space. :raises ProjectNotFound: The given Project could not be found. :raises ReplaceProjectPermissionDenied: Could not replace the Project. diff --git a/foundry_sdk/v2/filesystem/resource.py b/foundry_sdk/v2/filesystem/resource.py index ad9dff269..c8c96bc57 100644 --- a/foundry_sdk/v2/filesystem/resource.py +++ b/foundry_sdk/v2/filesystem/resource.py @@ -66,6 +66,16 @@ def Role(self): config=self._config, ) + @cached_property + def Tag(self): + from foundry_sdk.v2.filesystem.resource_tag import ResourceTagClient + + return ResourceTagClient( + auth=self._auth, + hostname=self._hostname_supplier, + config=self._config, + ) + @core.maybe_ignore_preview @pydantic.validate_call @errors.handle_unexpected @@ -147,8 +157,8 @@ def delete( :raises DeleteResourcePermissionDenied: Could not delete the Resource. :raises ResourceNotFound: The given Resource could not be found. - :raises TrashingAutosavedResourcesNotSupported: Auto-saved Resources cannot be trashed. - :raises TrashingHiddenResourcesNotSupported: Hidden Resources cannot be trashed. + :raises TrashingAutosavedResourcesNotSupported: Auto-saved resources cannot be trashed. + :raises TrashingHiddenResourcesNotSupported: Hidden resources cannot be trashed. :raises TrashingSpaceNotSupported: Spaces cannot be trashed. """ @@ -326,8 +336,8 @@ def get_by_path( _sdk_internal: core.SdkInternal = {}, ) -> filesystem_models.Resource: """ - Get a Resource by its absolute path. - :param path: The path to the Resource. The leading slash is optional. + Get a resource by its absolute path. + :param path: The path to the resource. The leading slash is optional. :type path: ResourcePath :param request_timeout: timeout setting for this request in seconds. :type request_timeout: Optional[int] @@ -382,7 +392,7 @@ def get_by_path_batch( _sdk_internal: core.SdkInternal = {}, ) -> filesystem_models.GetByPathResourcesBatchResponse: """ - Gets multiple Resources by their absolute paths. + Gets multiple resources by their absolute paths. Returns a list of resources. If a path does not exist, is inaccessible, or refers to a root folder or space, it will not be included in the response. At most 1,000 paths should be requested at once. @@ -480,7 +490,7 @@ def permanently_delete( _sdk_internal: core.SdkInternal = {}, ) -> None: """ - Permanently delete the given resource from the trash. If the Resource is not directly trashed, a + Permanently delete the given resource from the trash. If the resource is not directly trashed, a `ResourceNotTrashed` error will be thrown. :param resource_rid: @@ -492,7 +502,7 @@ def permanently_delete( :raises PermanentlyDeleteResourcePermissionDenied: Could not permanentlyDelete the Resource. :raises ResourceNotFound: The given Resource could not be found. - :raises ResourceNotTrashed: The Resource should be directly trashed before being permanently deleted. + :raises ResourceNotTrashed: The resource should be directly trashed before being permanently deleted. """ return self._api_client.call_api( @@ -595,7 +605,7 @@ def restore( :return: Returns the result object. :rtype: None - :raises ResourceNotDirectlyTrashed: The Resource is not directly trashed. + :raises ResourceNotDirectlyTrashed: The resource is not directly trashed. :raises ResourceNotFound: The given Resource could not be found. :raises RestoreResourcePermissionDenied: Could not restore the Resource. """ @@ -713,6 +723,16 @@ def Role(self): config=self._config, ) + @cached_property + def Tag(self): + from foundry_sdk.v2.filesystem.resource_tag import AsyncResourceTagClient + + return AsyncResourceTagClient( + auth=self._auth, + hostname=self._hostname_supplier, + config=self._config, + ) + @core.maybe_ignore_preview @pydantic.validate_call @errors.handle_unexpected @@ -794,8 +814,8 @@ def delete( :raises DeleteResourcePermissionDenied: Could not delete the Resource. :raises ResourceNotFound: The given Resource could not be found. - :raises TrashingAutosavedResourcesNotSupported: Auto-saved Resources cannot be trashed. - :raises TrashingHiddenResourcesNotSupported: Hidden Resources cannot be trashed. + :raises TrashingAutosavedResourcesNotSupported: Auto-saved resources cannot be trashed. + :raises TrashingHiddenResourcesNotSupported: Hidden resources cannot be trashed. :raises TrashingSpaceNotSupported: Spaces cannot be trashed. """ @@ -973,8 +993,8 @@ def get_by_path( _sdk_internal: core.SdkInternal = {}, ) -> typing.Awaitable[filesystem_models.Resource]: """ - Get a Resource by its absolute path. - :param path: The path to the Resource. The leading slash is optional. + Get a resource by its absolute path. + :param path: The path to the resource. The leading slash is optional. :type path: ResourcePath :param request_timeout: timeout setting for this request in seconds. :type request_timeout: Optional[int] @@ -1029,7 +1049,7 @@ def get_by_path_batch( _sdk_internal: core.SdkInternal = {}, ) -> typing.Awaitable[filesystem_models.GetByPathResourcesBatchResponse]: """ - Gets multiple Resources by their absolute paths. + Gets multiple resources by their absolute paths. Returns a list of resources. If a path does not exist, is inaccessible, or refers to a root folder or space, it will not be included in the response. At most 1,000 paths should be requested at once. @@ -1127,7 +1147,7 @@ def permanently_delete( _sdk_internal: core.SdkInternal = {}, ) -> typing.Awaitable[None]: """ - Permanently delete the given resource from the trash. If the Resource is not directly trashed, a + Permanently delete the given resource from the trash. If the resource is not directly trashed, a `ResourceNotTrashed` error will be thrown. :param resource_rid: @@ -1139,7 +1159,7 @@ def permanently_delete( :raises PermanentlyDeleteResourcePermissionDenied: Could not permanentlyDelete the Resource. :raises ResourceNotFound: The given Resource could not be found. - :raises ResourceNotTrashed: The Resource should be directly trashed before being permanently deleted. + :raises ResourceNotTrashed: The resource should be directly trashed before being permanently deleted. """ return self._api_client.call_api( @@ -1242,7 +1262,7 @@ def restore( :return: Returns the result object. :rtype: typing.Awaitable[None] - :raises ResourceNotDirectlyTrashed: The Resource is not directly trashed. + :raises ResourceNotDirectlyTrashed: The resource is not directly trashed. :raises ResourceNotFound: The given Resource could not be found. :raises RestoreResourcePermissionDenied: Could not restore the Resource. """ diff --git a/foundry_sdk/v2/filesystem/resource_tag.py b/foundry_sdk/v2/filesystem/resource_tag.py new file mode 100644 index 000000000..8aa698c6d --- /dev/null +++ b/foundry_sdk/v2/filesystem/resource_tag.py @@ -0,0 +1,463 @@ +# Copyright 2024 Palantir Technologies, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +import typing + +import pydantic +import typing_extensions + +from foundry_sdk import _core as core +from foundry_sdk import _errors as errors +from foundry_sdk.v2.core import models as core_models +from foundry_sdk.v2.filesystem import errors as filesystem_errors +from foundry_sdk.v2.filesystem import models as filesystem_models + + +class ResourceTagClient: + """ + The API client for the ResourceTag Resource. + + :param auth: Your auth configuration. + :param hostname: The hostname supplier for resolving base URLs. + :param config: Optionally specify the configuration for the HTTP session. + """ + + def __init__( + self, + auth: core.Auth, + hostname: typing.Union[str, core.HostnameSupplier], + config: typing.Optional[core.Config] = None, + ): + self._auth = auth + if isinstance(hostname, core.HostnameSupplier): + self._hostname_supplier = hostname + else: + self._hostname_supplier = core.create_hostname_supplier(hostname, config) + self._hostname = self._hostname_supplier.get_hostname() + self._config = config + self._api_client = core.ApiClient( + auth=auth, hostname=self._hostname_supplier, config=config + ) + + self.with_streaming_response = _ResourceTagClientStreaming(self) + self.with_raw_response = _ResourceTagClientRaw(self) + + @core.maybe_ignore_preview + @pydantic.validate_call + @errors.handle_unexpected + def add( + self, + resource_rid: filesystem_models.ResourceRid, + *, + tag_rids: typing.List[filesystem_models.TagRid], + preview: typing.Optional[core_models.PreviewMode] = None, + request_timeout: typing.Optional[core.Timeout] = None, + _sdk_internal: core.SdkInternal = {}, + ) -> None: + """ + Apply tags to a resource. + :param resource_rid: + :type resource_rid: ResourceRid + :param tag_rids: + :type tag_rids: List[TagRid] + :param preview: Enables the use of preview functionality. + :type preview: Optional[PreviewMode] + :param request_timeout: timeout setting for this request in seconds. + :type request_timeout: Optional[int] + :return: Returns the result object. + :rtype: None + + :raises AddResourceTagsPermissionDenied: Could not add the ResourceTag. + :raises ForbiddenOperationOnAutosavedResource: Performing this operation on an autosaved resource is not supported. + :raises ForbiddenOperationOnHiddenResource: Performing this operation on a hidden resource is not supported. + :raises ResourceNotFound: The given Resource could not be found. + :raises TagNotFound: At least one of the provided tag RIDs could not be found. + """ + + return self._api_client.call_api( + core.RequestInfo( + method="POST", + resource_path="/v2/filesystem/resources/{resourceRid}/tags/add", + query_params={ + "preview": preview, + }, + path_params={ + "resourceRid": resource_rid, + }, + header_params={ + "Content-Type": "application/json", + }, + body=filesystem_models.AddResourceTagsRequest( + tag_rids=tag_rids, + ), + response_type=None, + request_timeout=request_timeout, + throwable_errors={ + "AddResourceTagsPermissionDenied": filesystem_errors.AddResourceTagsPermissionDenied, + "ForbiddenOperationOnAutosavedResource": filesystem_errors.ForbiddenOperationOnAutosavedResource, + "ForbiddenOperationOnHiddenResource": filesystem_errors.ForbiddenOperationOnHiddenResource, + "ResourceNotFound": filesystem_errors.ResourceNotFound, + "TagNotFound": filesystem_errors.TagNotFound, + }, + response_mode=_sdk_internal.get("response_mode"), + ), + ) + + @core.maybe_ignore_preview + @pydantic.validate_call + @errors.handle_unexpected + def list( + self, + resource_rid: filesystem_models.ResourceRid, + *, + preview: typing.Optional[core_models.PreviewMode] = None, + request_timeout: typing.Optional[core.Timeout] = None, + _sdk_internal: core.SdkInternal = {}, + ) -> filesystem_models.ListResourceTagsResponse: + """ + List the tags applied to a resource. + + :param resource_rid: + :type resource_rid: ResourceRid + :param preview: Enables the use of preview functionality. + :type preview: Optional[PreviewMode] + :param request_timeout: timeout setting for this request in seconds. + :type request_timeout: Optional[int] + :return: Returns the result object. + :rtype: filesystem_models.ListResourceTagsResponse + + :raises ResourceNotFound: The given Resource could not be found. + """ + + return self._api_client.call_api( + core.RequestInfo( + method="GET", + resource_path="/v2/filesystem/resources/{resourceRid}/tags", + query_params={ + "preview": preview, + }, + path_params={ + "resourceRid": resource_rid, + }, + header_params={ + "Accept": "application/json", + }, + body=None, + response_type=filesystem_models.ListResourceTagsResponse, + request_timeout=request_timeout, + throwable_errors={ + "ResourceNotFound": filesystem_errors.ResourceNotFound, + }, + response_mode=_sdk_internal.get("response_mode"), + ), + ) + + @core.maybe_ignore_preview + @pydantic.validate_call + @errors.handle_unexpected + def remove( + self, + resource_rid: filesystem_models.ResourceRid, + *, + tag_rids: typing.List[filesystem_models.TagRid], + preview: typing.Optional[core_models.PreviewMode] = None, + request_timeout: typing.Optional[core.Timeout] = None, + _sdk_internal: core.SdkInternal = {}, + ) -> None: + """ + Remove tags from a resource. + :param resource_rid: + :type resource_rid: ResourceRid + :param tag_rids: + :type tag_rids: List[TagRid] + :param preview: Enables the use of preview functionality. + :type preview: Optional[PreviewMode] + :param request_timeout: timeout setting for this request in seconds. + :type request_timeout: Optional[int] + :return: Returns the result object. + :rtype: None + + :raises ForbiddenOperationOnAutosavedResource: Performing this operation on an autosaved resource is not supported. + :raises ForbiddenOperationOnHiddenResource: Performing this operation on a hidden resource is not supported. + :raises RemoveResourceTagsPermissionDenied: Could not remove the ResourceTag. + :raises ResourceNotFound: The given Resource could not be found. + :raises TagNotFound: At least one of the provided tag RIDs could not be found. + """ + + return self._api_client.call_api( + core.RequestInfo( + method="POST", + resource_path="/v2/filesystem/resources/{resourceRid}/tags/remove", + query_params={ + "preview": preview, + }, + path_params={ + "resourceRid": resource_rid, + }, + header_params={ + "Content-Type": "application/json", + }, + body=filesystem_models.RemoveResourceTagsRequest( + tag_rids=tag_rids, + ), + response_type=None, + request_timeout=request_timeout, + throwable_errors={ + "ForbiddenOperationOnAutosavedResource": filesystem_errors.ForbiddenOperationOnAutosavedResource, + "ForbiddenOperationOnHiddenResource": filesystem_errors.ForbiddenOperationOnHiddenResource, + "RemoveResourceTagsPermissionDenied": filesystem_errors.RemoveResourceTagsPermissionDenied, + "ResourceNotFound": filesystem_errors.ResourceNotFound, + "TagNotFound": filesystem_errors.TagNotFound, + }, + response_mode=_sdk_internal.get("response_mode"), + ), + ) + + +class _ResourceTagClientRaw: + def __init__(self, client: ResourceTagClient) -> None: + def add(_: None): ... + def list(_: filesystem_models.ListResourceTagsResponse): ... + def remove(_: None): ... + + self.add = core.with_raw_response(add, client.add) + self.list = core.with_raw_response(list, client.list) + self.remove = core.with_raw_response(remove, client.remove) + + +class _ResourceTagClientStreaming: + def __init__(self, client: ResourceTagClient) -> None: + def list(_: filesystem_models.ListResourceTagsResponse): ... + + self.list = core.with_streaming_response(list, client.list) + + +class AsyncResourceTagClient: + """ + The API client for the ResourceTag Resource. + + :param auth: Your auth configuration. + :param hostname: The hostname supplier for resolving base URLs. + :param config: Optionally specify the configuration for the HTTP session. + """ + + def __init__( + self, + auth: core.Auth, + hostname: typing.Union[str, core.HostnameSupplier], + config: typing.Optional[core.Config] = None, + ): + self._auth = auth + if isinstance(hostname, core.HostnameSupplier): + self._hostname_supplier = hostname + else: + self._hostname_supplier = core.create_hostname_supplier(hostname, config) + self._hostname = self._hostname_supplier.get_hostname() + self._config = config + self._api_client = core.AsyncApiClient( + auth=auth, hostname=self._hostname_supplier, config=config + ) + + self.with_streaming_response = _AsyncResourceTagClientStreaming(self) + self.with_raw_response = _AsyncResourceTagClientRaw(self) + + @core.maybe_ignore_preview + @pydantic.validate_call + @errors.handle_unexpected + def add( + self, + resource_rid: filesystem_models.ResourceRid, + *, + tag_rids: typing.List[filesystem_models.TagRid], + preview: typing.Optional[core_models.PreviewMode] = None, + request_timeout: typing.Optional[core.Timeout] = None, + _sdk_internal: core.SdkInternal = {}, + ) -> typing.Awaitable[None]: + """ + Apply tags to a resource. + :param resource_rid: + :type resource_rid: ResourceRid + :param tag_rids: + :type tag_rids: List[TagRid] + :param preview: Enables the use of preview functionality. + :type preview: Optional[PreviewMode] + :param request_timeout: timeout setting for this request in seconds. + :type request_timeout: Optional[int] + :return: Returns the result object. + :rtype: typing.Awaitable[None] + + :raises AddResourceTagsPermissionDenied: Could not add the ResourceTag. + :raises ForbiddenOperationOnAutosavedResource: Performing this operation on an autosaved resource is not supported. + :raises ForbiddenOperationOnHiddenResource: Performing this operation on a hidden resource is not supported. + :raises ResourceNotFound: The given Resource could not be found. + :raises TagNotFound: At least one of the provided tag RIDs could not be found. + """ + + return self._api_client.call_api( + core.RequestInfo( + method="POST", + resource_path="/v2/filesystem/resources/{resourceRid}/tags/add", + query_params={ + "preview": preview, + }, + path_params={ + "resourceRid": resource_rid, + }, + header_params={ + "Content-Type": "application/json", + }, + body=filesystem_models.AddResourceTagsRequest( + tag_rids=tag_rids, + ), + response_type=None, + request_timeout=request_timeout, + throwable_errors={ + "AddResourceTagsPermissionDenied": filesystem_errors.AddResourceTagsPermissionDenied, + "ForbiddenOperationOnAutosavedResource": filesystem_errors.ForbiddenOperationOnAutosavedResource, + "ForbiddenOperationOnHiddenResource": filesystem_errors.ForbiddenOperationOnHiddenResource, + "ResourceNotFound": filesystem_errors.ResourceNotFound, + "TagNotFound": filesystem_errors.TagNotFound, + }, + response_mode=_sdk_internal.get("response_mode"), + ), + ) + + @core.maybe_ignore_preview + @pydantic.validate_call + @errors.handle_unexpected + def list( + self, + resource_rid: filesystem_models.ResourceRid, + *, + preview: typing.Optional[core_models.PreviewMode] = None, + request_timeout: typing.Optional[core.Timeout] = None, + _sdk_internal: core.SdkInternal = {}, + ) -> typing.Awaitable[filesystem_models.ListResourceTagsResponse]: + """ + List the tags applied to a resource. + + :param resource_rid: + :type resource_rid: ResourceRid + :param preview: Enables the use of preview functionality. + :type preview: Optional[PreviewMode] + :param request_timeout: timeout setting for this request in seconds. + :type request_timeout: Optional[int] + :return: Returns the result object. + :rtype: typing.Awaitable[filesystem_models.ListResourceTagsResponse] + + :raises ResourceNotFound: The given Resource could not be found. + """ + + return self._api_client.call_api( + core.RequestInfo( + method="GET", + resource_path="/v2/filesystem/resources/{resourceRid}/tags", + query_params={ + "preview": preview, + }, + path_params={ + "resourceRid": resource_rid, + }, + header_params={ + "Accept": "application/json", + }, + body=None, + response_type=filesystem_models.ListResourceTagsResponse, + request_timeout=request_timeout, + throwable_errors={ + "ResourceNotFound": filesystem_errors.ResourceNotFound, + }, + response_mode=_sdk_internal.get("response_mode"), + ), + ) + + @core.maybe_ignore_preview + @pydantic.validate_call + @errors.handle_unexpected + def remove( + self, + resource_rid: filesystem_models.ResourceRid, + *, + tag_rids: typing.List[filesystem_models.TagRid], + preview: typing.Optional[core_models.PreviewMode] = None, + request_timeout: typing.Optional[core.Timeout] = None, + _sdk_internal: core.SdkInternal = {}, + ) -> typing.Awaitable[None]: + """ + Remove tags from a resource. + :param resource_rid: + :type resource_rid: ResourceRid + :param tag_rids: + :type tag_rids: List[TagRid] + :param preview: Enables the use of preview functionality. + :type preview: Optional[PreviewMode] + :param request_timeout: timeout setting for this request in seconds. + :type request_timeout: Optional[int] + :return: Returns the result object. + :rtype: typing.Awaitable[None] + + :raises ForbiddenOperationOnAutosavedResource: Performing this operation on an autosaved resource is not supported. + :raises ForbiddenOperationOnHiddenResource: Performing this operation on a hidden resource is not supported. + :raises RemoveResourceTagsPermissionDenied: Could not remove the ResourceTag. + :raises ResourceNotFound: The given Resource could not be found. + :raises TagNotFound: At least one of the provided tag RIDs could not be found. + """ + + return self._api_client.call_api( + core.RequestInfo( + method="POST", + resource_path="/v2/filesystem/resources/{resourceRid}/tags/remove", + query_params={ + "preview": preview, + }, + path_params={ + "resourceRid": resource_rid, + }, + header_params={ + "Content-Type": "application/json", + }, + body=filesystem_models.RemoveResourceTagsRequest( + tag_rids=tag_rids, + ), + response_type=None, + request_timeout=request_timeout, + throwable_errors={ + "ForbiddenOperationOnAutosavedResource": filesystem_errors.ForbiddenOperationOnAutosavedResource, + "ForbiddenOperationOnHiddenResource": filesystem_errors.ForbiddenOperationOnHiddenResource, + "RemoveResourceTagsPermissionDenied": filesystem_errors.RemoveResourceTagsPermissionDenied, + "ResourceNotFound": filesystem_errors.ResourceNotFound, + "TagNotFound": filesystem_errors.TagNotFound, + }, + response_mode=_sdk_internal.get("response_mode"), + ), + ) + + +class _AsyncResourceTagClientRaw: + def __init__(self, client: AsyncResourceTagClient) -> None: + def add(_: None): ... + def list(_: filesystem_models.ListResourceTagsResponse): ... + def remove(_: None): ... + + self.add = core.async_with_raw_response(add, client.add) + self.list = core.async_with_raw_response(list, client.list) + self.remove = core.async_with_raw_response(remove, client.remove) + + +class _AsyncResourceTagClientStreaming: + def __init__(self, client: AsyncResourceTagClient) -> None: + def list(_: filesystem_models.ListResourceTagsResponse): ... + + self.list = core.async_with_streaming_response(list, client.list) diff --git a/foundry_sdk/v2/filesystem/space.py b/foundry_sdk/v2/filesystem/space.py index 5b8ee6fa9..0e97bf4a7 100644 --- a/foundry_sdk/v2/filesystem/space.py +++ b/foundry_sdk/v2/filesystem/space.py @@ -159,7 +159,7 @@ def delete( _sdk_internal: core.SdkInternal = {}, ) -> None: """ - Delete the space. This will only work if the Space is empty, meaning any Projects or Resources have been deleted first. + Delete the space. This will only work if the Space is empty, meaning any Projects or resources have been deleted first. :param space_rid: :type space_rid: SpaceRid @@ -530,7 +530,7 @@ def delete( _sdk_internal: core.SdkInternal = {}, ) -> typing.Awaitable[None]: """ - Delete the space. This will only work if the Space is empty, meaning any Projects or Resources have been deleted first. + Delete the space. This will only work if the Space is empty, meaning any Projects or resources have been deleted first. :param space_rid: :type space_rid: SpaceRid diff --git a/foundry_sdk/v2/language_models/models.py b/foundry_sdk/v2/language_models/models.py index da74b35f9..b584a06b8 100644 --- a/foundry_sdk/v2/language_models/models.py +++ b/foundry_sdk/v2/language_models/models.py @@ -393,6 +393,10 @@ class AnthropicToolUse(core.ModelBase): """The name of the LanguageModel in the API.""" +LanguageModelRid: typing_extensions.TypeAlias = core.RID +"""The unique Resource Identifier (RID) of a language model.""" + + OpenAiEmbeddingInput: typing_extensions.TypeAlias = typing.List[str] """OpenAiEmbeddingInput""" @@ -519,6 +523,7 @@ class OpenAiEmbeddingsResponse(core.ModelBase): "AnthropicToolUse", "JsonSchema", "LanguageModelApiName", + "LanguageModelRid", "OpenAiEmbeddingInput", "OpenAiEmbeddingTokenUsage", "OpenAiEmbeddingsRequest", diff --git a/foundry_sdk/v2/models/model.py b/foundry_sdk/v2/models/model.py index 22570a822..dcbc08d1e 100644 --- a/foundry_sdk/v2/models/model.py +++ b/foundry_sdk/v2/models/model.py @@ -113,7 +113,7 @@ def create( :rtype: models_models.Model :raises CreateModelPermissionDenied: Could not create the Model. - :raises InvalidDisplayName: The display name of a Resource should not be exactly `.` or `..`, contain a forward slash `/` and must be less than or equal to 700 characters. + :raises InvalidDisplayName: The display name of a resource should not be exactly `.` or `..`, contain a forward slash `/` and must be less than or equal to 700 characters. :raises ResourceNameAlreadyExists: The provided resource name is already in use by another resource in the same folder. """ @@ -365,7 +365,7 @@ def create( :rtype: typing.Awaitable[models_models.Model] :raises CreateModelPermissionDenied: Could not create the Model. - :raises InvalidDisplayName: The display name of a Resource should not be exactly `.` or `..`, contain a forward slash `/` and must be less than or equal to 700 characters. + :raises InvalidDisplayName: The display name of a resource should not be exactly `.` or `..`, contain a forward slash `/` and must be less than or equal to 700 characters. :raises ResourceNameAlreadyExists: The provided resource name is already in use by another resource in the same folder. """ diff --git a/foundry_sdk/v2/models/model_studio.py b/foundry_sdk/v2/models/model_studio.py index 0eb98bfb8..db81f37a8 100644 --- a/foundry_sdk/v2/models/model_studio.py +++ b/foundry_sdk/v2/models/model_studio.py @@ -105,7 +105,7 @@ def create( :rtype: models_models.ModelStudio :raises CreateModelStudioPermissionDenied: Permission denied to create a Model Studio. - :raises InvalidDisplayName: The display name of a Resource should not be exactly `.` or `..`, contain a forward slash `/` and must be less than or equal to 700 characters. + :raises InvalidDisplayName: The display name of a resource should not be exactly `.` or `..`, contain a forward slash `/` and must be less than or equal to 700 characters. :raises InvalidModelStudioCreateRequest: The request to create a Model Studio contains invalid arguments. :raises ResourceNameAlreadyExists: The provided resource name is already in use by another resource in the same folder. """ @@ -336,7 +336,7 @@ def create( :rtype: typing.Awaitable[models_models.ModelStudio] :raises CreateModelStudioPermissionDenied: Permission denied to create a Model Studio. - :raises InvalidDisplayName: The display name of a Resource should not be exactly `.` or `..`, contain a forward slash `/` and must be less than or equal to 700 characters. + :raises InvalidDisplayName: The display name of a resource should not be exactly `.` or `..`, contain a forward slash `/` and must be less than or equal to 700 characters. :raises InvalidModelStudioCreateRequest: The request to create a Model Studio contains invalid arguments. :raises ResourceNameAlreadyExists: The provided resource name is already in use by another resource in the same folder. """ diff --git a/foundry_sdk/v2/ontologies/action_type.py b/foundry_sdk/v2/ontologies/action_type.py index db785bb62..598709187 100644 --- a/foundry_sdk/v2/ontologies/action_type.py +++ b/foundry_sdk/v2/ontologies/action_type.py @@ -63,6 +63,8 @@ def get( action_type: ontologies_models.ActionTypeApiName, *, branch: typing.Optional[core_models.FoundryBranch] = None, + sdk_package_rid: typing.Optional[ontologies_models.SdkPackageRid] = None, + sdk_version: typing.Optional[ontologies_models.SdkVersion] = None, request_timeout: typing.Optional[core.Timeout] = None, _sdk_internal: core.SdkInternal = {}, ) -> ontologies_models.ActionTypeV2: @@ -75,6 +77,10 @@ def get( :type action_type: ActionTypeApiName :param branch: The Foundry branch to load the action type definition from. If not specified, the default branch will be used. Branches are an experimental feature and not all workflows are supported. :type branch: Optional[FoundryBranch] + :param sdk_package_rid: The package rid of the generated SDK. + :type sdk_package_rid: Optional[SdkPackageRid] + :param sdk_version: The version of the generated SDK. + :type sdk_version: Optional[SdkVersion] :param request_timeout: timeout setting for this request in seconds. :type request_timeout: Optional[int] :return: Returns the result object. @@ -87,6 +93,8 @@ def get( resource_path="/v2/ontologies/{ontology}/actionTypes/{actionType}", query_params={ "branch": branch, + "sdkPackageRid": sdk_package_rid, + "sdkVersion": sdk_version, }, path_params={ "ontology": ontology, @@ -418,6 +426,8 @@ def get( action_type: ontologies_models.ActionTypeApiName, *, branch: typing.Optional[core_models.FoundryBranch] = None, + sdk_package_rid: typing.Optional[ontologies_models.SdkPackageRid] = None, + sdk_version: typing.Optional[ontologies_models.SdkVersion] = None, request_timeout: typing.Optional[core.Timeout] = None, _sdk_internal: core.SdkInternal = {}, ) -> typing.Awaitable[ontologies_models.ActionTypeV2]: @@ -430,6 +440,10 @@ def get( :type action_type: ActionTypeApiName :param branch: The Foundry branch to load the action type definition from. If not specified, the default branch will be used. Branches are an experimental feature and not all workflows are supported. :type branch: Optional[FoundryBranch] + :param sdk_package_rid: The package rid of the generated SDK. + :type sdk_package_rid: Optional[SdkPackageRid] + :param sdk_version: The version of the generated SDK. + :type sdk_version: Optional[SdkVersion] :param request_timeout: timeout setting for this request in seconds. :type request_timeout: Optional[int] :return: Returns the result object. @@ -442,6 +456,8 @@ def get( resource_path="/v2/ontologies/{ontology}/actionTypes/{actionType}", query_params={ "branch": branch, + "sdkPackageRid": sdk_package_rid, + "sdkVersion": sdk_version, }, path_params={ "ontology": ontology, diff --git a/foundry_sdk/v2/ontologies/models.py b/foundry_sdk/v2/ontologies/models.py index e1e7c5ff3..75def69cc 100644 --- a/foundry_sdk/v2/ontologies/models.py +++ b/foundry_sdk/v2/ontologies/models.py @@ -24,6 +24,7 @@ from foundry_sdk import _core as core from foundry_sdk.v2.core import models as core_models +from foundry_sdk.v2.datasets import models as datasets_models from foundry_sdk.v2.geo import models as geo_models @@ -869,6 +870,17 @@ class CenterPoint(core.ModelBase): distance: core_models.Distance +ColumnName: typing_extensions.TypeAlias = str +"""The name of a column in a tabular datasource.""" + + +class ColumnPropertyMapping(core.ModelBase): + """A property bound to a single column in the backing datasource.""" + + column: ColumnName + type: typing.Literal["column"] = "column" + + ConjunctiveMarkingSummary: typing_extensions.TypeAlias = typing.List["MarkingId"] """ The conjunctive set of markings required to access the property value. @@ -1147,6 +1159,14 @@ class CurrentUserArgument(core.ModelBase): """ +DatasourceBranchId: typing_extensions.TypeAlias = str +"""The id of a datasource branch. Branch ids are user supplied strings, not RIDs.""" + + +DatasourceRid: typing_extensions.TypeAlias = core.RID +"""Randomly generated identifier for an object type's datasource.""" + + class DateValue(core.ModelBase): """DateValue""" @@ -1343,6 +1363,10 @@ class DeprecatedPropertyTypeStatus(core.ModelBase): """Definition of a derived property.""" +DirectSourceRid: typing_extensions.TypeAlias = core.RID +"""The RID of a direct-write source backing an object type.""" + + DisjunctiveMarkingSummary: typing_extensions.TypeAlias = typing.List[typing.List["MarkingId"]] """ The disjunctive set of markings required to access the property value. @@ -1426,6 +1450,12 @@ class DoubleVector(core.ModelBase): """EditHistoryEdit""" +class EditOnlyPropertyMapping(core.ModelBase): + """A property on an object type that is permissioned to a tabular datasource, but the contents are only populated through Actions.""" + + type: typing.Literal["editOnly"] = "editOnly" + + EditsHistoryFilter: typing_extensions.TypeAlias = typing_extensions.Annotated[ typing.Union["EditsHistoryTimestampFilter", "EditsHistoryOperationIdsFilter"], pydantic.Field(discriminator="type"), @@ -1714,6 +1744,10 @@ class GeoShapeV2Query(core.ModelBase): """ +GeotimeSeriesIntegrationRid: typing_extensions.TypeAlias = core.RID +"""The unique resource identifier of a geotime integration.""" + + class GeotimeSeriesValue(core.ModelBase): """The underlying data values pointed to by a GeotimeSeriesReference.""" @@ -2450,6 +2484,15 @@ class ListQueryTypesResponseV2(core.ModelBase): data: typing.List[QueryTypeV2] +class ListScenarioConflictingObjectsResponse(core.ModelBase): + """The objects that have a conflicting edit within a scenario for a given object type.""" + + data: typing.List[ObjectLocator] + """The list of objects that have a conflicting edit within the scenario.""" + + next_page_token: typing.Optional[core_models.PageToken] = pydantic.Field(alias=str("nextPageToken"), default=None) # type: ignore[literal-required] + + class ListScenarioEditedEntityTypesResponse(core.ModelBase): """The object types and link types that have been modified within a scenario.""" @@ -3211,6 +3254,13 @@ class ObjectLoadingResponseOptions(core.ModelBase): """ +class ObjectLocator(core.ModelBase): + """An object identifier containing an object type API name and primary key.""" + + object_type_api_name: ObjectTypeApiName = pydantic.Field(alias=str("objectTypeApiName")) # type: ignore[literal-required] + primary_key_value: PrimaryKeyValue = pydantic.Field(alias=str("primaryKeyValue")) # type: ignore[literal-required] + + class ObjectParameterPropertyArgument(core.ModelBase): """Represents an object parameter property argument in a logic rule.""" @@ -3531,6 +3581,71 @@ class ObjectSetWithPropertiesType(core.ModelBase): """ +class ObjectTypeDatasetDatasource(core.ModelBase): + """An object type datasource backed by a Foundry dataset.""" + + dataset_rid: datasets_models.DatasetRid = pydantic.Field(alias=str("datasetRid")) # type: ignore[literal-required] + branch: typing.Optional[DatasourceBranchId] = None + property_mapping: typing.Dict[PropertyApiName, PropertyTypeMappingInfo] = pydantic.Field(alias=str("propertyMapping")) # type: ignore[literal-required] + """ + A mapping from property API name to a description of how that property is bound to the dataset. Properties + whose mapping info cannot be modeled are omitted. + """ + + type: typing.Literal["dataset"] = "dataset" + + +class ObjectTypeDatasource(core.ModelBase): + """ + A datasource that supplies property values for an object type. Each object type can have one or more + datasources; together they back all of the object type's properties. The `definition` carries the RID of the + backing Foundry resource (for example, the dataset RID for a dataset-backed object type), enabling callers to + navigate from an object type to its backing data. + """ + + rid: DatasourceRid + definition: ObjectTypeDatasourceDefinition + + +ObjectTypeDatasourceDefinition: typing_extensions.TypeAlias = typing_extensions.Annotated[ + typing.Union[ + "ObjectTypeTimeSeriesDatasource", + "ObjectTypeUnsupportedDatasource", + "ObjectTypeRestrictedViewDatasource", + "ObjectTypeStreamDatasource", + "ObjectTypeMediaSetViewDatasource", + "ObjectTypeDirectDatasource", + "ObjectTypeGeotimeSeriesDatasource", + "ObjectTypeEditsOnlyDatasource", + "ObjectTypeDatasetDatasource", + "ObjectTypeTableDatasource", + ], + pydantic.Field(discriminator="type"), +] +""" +The definition of an object type datasource, identifying the kind of Foundry resource that backs the object +type. +""" + + +class ObjectTypeDirectDatasource(core.ModelBase): + """ + An object type datasource backed by a direct-write source. Property values are written directly to the + datasource rather than being read from a separate Foundry resource. Unlike an edits-only datasource, a direct + datasource has a backing source that values are written to by some writer. An edits-only datasource has no + backing source at all and its properties are populated solely via Actions. + """ + + direct_source_rid: DirectSourceRid = pydantic.Field(alias=str("directSourceRid")) # type: ignore[literal-required] + property_mapping: typing.Dict[PropertyApiName, PropertyTypeMappingInfo] = pydantic.Field(alias=str("propertyMapping")) # type: ignore[literal-required] + """ + A mapping from property API name to a description of how that property is bound to the direct datasource. + Properties whose mapping info cannot be modeled are omitted. + """ + + type: typing.Literal["direct"] = "direct" + + class ObjectTypeEdits(core.ModelBase): """ObjectTypeEdits""" @@ -3573,6 +3688,18 @@ class ObjectTypeEditsHistoryResponse(core.ModelBase): """Token for retrieving the next page of results""" +class ObjectTypeEditsOnlyDatasource(core.ModelBase): + """ + An object type datasource that is not backed by any external Foundry resource. All properties on the object type + can only be populated via Actions. Other datasources have edit only *properties*, which are permissioned to the + backing tabular datasource. This datasource has no backing tabular datasource and is a true edit only object + type. Note that this datasource type is incompatible with any other datasource and all the properties on the + object type are backed by it. + """ + + type: typing.Literal["editsOnly"] = "editsOnly" + + class ObjectTypeFullMetadata(core.ModelBase): """ObjectTypeFullMetadata""" @@ -3591,6 +3718,19 @@ class ObjectTypeFullMetadata(core.ModelBase): """ +class ObjectTypeGeotimeSeriesDatasource(core.ModelBase): + """ + An object type datasource backed by a Geotime series integration, providing values for Geotime series reference + properties. + """ + + geotime_series_integration_rid: GeotimeSeriesIntegrationRid = pydantic.Field(alias=str("geotimeSeriesIntegrationRid")) # type: ignore[literal-required] + properties: typing.List[PropertyApiName] + """The set of properties that are bound to the Geotime series.""" + + type: typing.Literal["geotimeSeries"] = "geotimeSeries" + + ObjectTypeId: typing_extensions.TypeAlias = str """The unique identifier (ID) for an object type. This can be viewed in [Ontology Manager](https://palantir.com/docs/foundry/ontology-manager/overview/).""" @@ -3616,10 +3756,92 @@ class ObjectTypeLinkTypeApiNameMapping(core.ModelBase): """The list of link type API names scoped by the object type.""" +class ObjectTypeMediaSetViewDatasource(core.ModelBase): + """An object type datasource backed by a Foundry media set view, providing media for media reference properties.""" + + media_set_view_rid: core_models.MediaSetViewRid = pydantic.Field(alias=str("mediaSetViewRid")) # type: ignore[literal-required] + properties: typing.List[PropertyApiName] + """The set of properties that are bound to the media view.""" + + type: typing.Literal["mediaSetView"] = "mediaSetView" + + +class ObjectTypeRestrictedViewDatasource(core.ModelBase): + """An object type datasource backed by a Foundry restricted view.""" + + restricted_view_rid: RestrictedViewRid = pydantic.Field(alias=str("restrictedViewRid")) # type: ignore[literal-required] + property_mapping: typing.Dict[PropertyApiName, PropertyTypeMappingInfo] = pydantic.Field(alias=str("propertyMapping")) # type: ignore[literal-required] + """ + A mapping from property API name to a description of how that property is bound to the restricted view. + Properties whose mapping info cannot be modeled are omitted. + """ + + type: typing.Literal["restrictedView"] = "restrictedView" + + ObjectTypeRid: typing_extensions.TypeAlias = core.RID """The unique resource identifier of an object type, useful for interacting with other Foundry APIs.""" +class ObjectTypeStreamDatasource(core.ModelBase): + """An object type datasource backed by a Foundry stream.""" + + stream_rid: StreamRid = pydantic.Field(alias=str("streamRid")) # type: ignore[literal-required] + branch: typing.Optional[DatasourceBranchId] = None + property_mapping: typing.Dict[PropertyApiName, PropertyTypeMappingInfo] = pydantic.Field(alias=str("propertyMapping")) # type: ignore[literal-required] + """ + A mapping from property API name to a description of how that property is bound to the stream. Properties + whose mapping info cannot be modeled are omitted. + """ + + type: typing.Literal["stream"] = "stream" + + +class ObjectTypeTableDatasource(core.ModelBase): + """An object type datasource backed by a Foundry table.""" + + table_rid: TableRid = pydantic.Field(alias=str("tableRid")) # type: ignore[literal-required] + branch: typing.Optional[DatasourceBranchId] = None + property_mapping: typing.Dict[PropertyApiName, PropertyTypeMappingInfo] = pydantic.Field(alias=str("propertyMapping")) # type: ignore[literal-required] + """ + A mapping from property API name to a description of how that property is bound to the table. Properties + whose mapping info cannot be modeled are omitted. + """ + + type: typing.Literal["table"] = "table" + + +class ObjectTypeTimeSeriesDatasource(core.ModelBase): + """An object type datasource backed by a time series sync, providing values for time-dependent properties.""" + + time_series_sync_rid: TimeseriesSyncRid = pydantic.Field(alias=str("timeSeriesSyncRid")) # type: ignore[literal-required] + properties: typing.List[PropertyApiName] + """The set of properties that are bound to the time series.""" + + type: typing.Literal["timeSeries"] = "timeSeries" + + +class ObjectTypeUnsupportedDatasource(core.ModelBase): + """ + A datasource of a kind not yet exposed in the public API. The `unsupportedType` discriminator supplies the + underlying OMS variant so callers can recognize known but unmodelled cases (e.g., derived properties). Variants + the adapter does not recognise at all are returned with an `"unknown"` discriminator. The `properties` list + enumerates the property API names this datasource backs. The `properties` will be empty for `"unknown"` + datasources. + """ + + unsupported_type: str = pydantic.Field(alias=str("unsupportedType")) # type: ignore[literal-required] + """ + A short, stable discriminator naming the underlying OMS variant. E.g., `"derivedProperties"` for + derived-properties datasources or `"unknown"` for variants the adapter does not recognize. + """ + + properties: typing.List[PropertyApiName] + """The property API names that this datasource backs.""" + + type: typing.Literal["unsupported"] = "unsupported" + + class ObjectTypeV2(core.ModelBase): """Represents an object type in the Ontology.""" @@ -3646,6 +3868,13 @@ class ObjectTypeV2(core.ModelBase): the get-by-RID read paths (e.g. `getObjectTypeV2`); it is always empty on the `listObjectTypesV2` endpoint. """ + datasources: typing.List[ObjectTypeDatasource] + """ + The datasources backing this object type which the user has access to see. Only populated when the request + specifies `includeDatasources=true`. This list may be empty if the user doesn't have access to any + datasources. + """ + ObjectTypeVisibility: typing_extensions.TypeAlias = typing.Literal["NORMAL", "PROMINENT", "HIDDEN"] """The suggested visibility of the object type.""" @@ -4240,6 +4469,17 @@ class PropertyTimestampFormattingRule(core.ModelBase): """PropertyTypeApiName""" +PropertyTypeMappingInfo: typing_extensions.TypeAlias = typing_extensions.Annotated[ + typing.Union["StructPropertyMapping", "ColumnPropertyMapping", "EditOnlyPropertyMapping"], + pydantic.Field(discriminator="type"), +] +""" +Describes how a single object type property is bound to its backing tabular datasource. A property may be backed +by a single column, by a struct (with nested field mappings), or be edit-only (no backing column even though it +is permissioned to the tabular datasource). +""" + + class PropertyTypeReference(core.ModelBase): """PropertyTypeReference""" @@ -4747,6 +4987,10 @@ class ResolvedInterfacePropertyType(core.ModelBase): """Whether each implementing object type must declare an implementation for this property.""" +RestrictedViewRid: typing_extensions.TypeAlias = core.RID +"""The RID of a Foundry restricted view.""" + + ReturnEditsMode: typing_extensions.TypeAlias = typing.Literal[ "ALL", "ALL_V2_WITH_DELETIONS", "NONE" ] @@ -4951,7 +5195,23 @@ class SearchObjectsResponseV2(core.ModelBase): class SearchOrderByV2(core.ModelBase): - """Specifies the ordering of search results by a field and an ordering direction or by relevance if scores are required in a nearestNeighbors query. By default `orderType` is set to `fields`.""" + """ + Specifies the ordering of search results by a field and an ordering direction, or by relevance. + If the `fields` array is provided, `orderType` is automatically set to `fields`. + If this object is omitted entirely, the ordering is unspecified. + + Setting `orderType` to `relevance` requests that results are sorted by decreasing relevance score. + For queries that include text search filters (e.g. `containsAllTerms`, `containsAnyTerm`, + `containsAllTermsInOrder`, `containsAllTermsInOrderPrefixLastTerm`) or `nearestNeighbors`, the + relevance score reflects how well each object matches the query. For other queries, the ordering + is unspecified. + + When paging through results ordered by relevance, ordering is not guaranteed to be consistent + across pages: an object may appear on multiple pages or be skipped entirely. Use a single page + when result completeness is required. + + Relevance ordering can be expensive and should only be used when required. + """ order_type: typing.Optional[SearchOrderByType] = pydantic.Field(alias=str("orderType"), default=None) # type: ignore[literal-required] fields: typing.List[SearchOrderingV2] @@ -5187,6 +5447,10 @@ class StatusActionTypesQueryV2(core.ModelBase): """StreamMessage""" +StreamRid: typing_extensions.TypeAlias = core.RID +"""The RID of a Foundry stream.""" + + class StreamTimeSeriesPointsRequest(core.ModelBase): """StreamTimeSeriesPointsRequest""" @@ -5328,6 +5592,12 @@ class StructFieldOfPropertyImplementation(core.ModelBase): type: typing.Literal["structFieldOfProperty"] = "structFieldOfProperty" +class StructFieldPropertyMapping(core.ModelBase): + """A single struct field's mapping where `apiName` is the name of a struct field.""" + + api_name: StructFieldApiName = pydantic.Field(alias=str("apiName")) # type: ignore[literal-required] + + class StructFieldSelector(core.ModelBase): """ A combination of a property identifier and the load level to apply to the property. You can select a reduced @@ -5373,6 +5643,14 @@ class StructParameterFieldArgument(core.ModelBase): type: typing.Literal["structParameterFieldValue"] = "structParameterFieldValue" +class StructPropertyMapping(core.ModelBase): + """A mapping from the backing column struct field names to a struct property's fields.""" + + column: ColumnName + fields: typing.Dict[core_models.StructFieldName, StructFieldPropertyMapping] + type: typing.Literal["struct"] = "struct" + + class StructType(core.ModelBase): """StructType""" @@ -5475,6 +5753,10 @@ class SynchronousWebhookOutputArgument(core.ModelBase): type: typing.Literal["synchronousWebhookOutput"] = "synchronousWebhookOutput" +TableRid: typing_extensions.TypeAlias = core.RID +"""The RID of a Foundry table.""" + + class ThreeDimensionalAggregation(core.ModelBase): """ThreeDimensionalAggregation""" @@ -5615,6 +5897,10 @@ class TimeseriesEntry(core.ModelBase): """An object which is either an enum String, double number, or a geopoint.""" +TimeseriesSyncRid: typing_extensions.TypeAlias = core.RID +"""The RID identifying a time series sync.""" + + class TimestampValue(core.ModelBase): """TimestampValue""" @@ -6083,6 +6369,8 @@ class WithinPolygonQuery(core.ModelBase): "BoundingBoxValue", "CenterPoint", "CenterPointTypes", + "ColumnName", + "ColumnPropertyMapping", "ConjunctiveMarkingSummary", "ContainerConjunctiveMarkingSummary", "ContainerDisjunctiveMarkingSummary", @@ -6110,6 +6398,8 @@ class WithinPolygonQuery(core.ModelBase): "CurrentTimeArgument", "CurrentUserArgument", "DataValue", + "DatasourceBranchId", + "DatasourceRid", "DateValue", "DatetimeFormat", "DatetimeLocalizedFormat", @@ -6133,6 +6423,7 @@ class WithinPolygonQuery(core.ModelBase): "DeprecatedPropertyTypeStatus", "DerivedPropertyApiName", "DerivedPropertyDefinition", + "DirectSourceRid", "DisjunctiveMarkingSummary", "DividePropertyExpression", "DoesNotIntersectBoundingBoxQuery", @@ -6143,6 +6434,7 @@ class WithinPolygonQuery(core.ModelBase): "DurationFormatStyle", "DurationPrecision", "EditHistoryEdit", + "EditOnlyPropertyMapping", "EditsHistoryFilter", "EditsHistoryOperationIdsFilter", "EditsHistorySortOrder", @@ -6179,6 +6471,7 @@ class WithinPolygonQuery(core.ModelBase): "GeoShapeV2Geometry", "GeoShapeV2Query", "GeotemporalSeriesEntry", + "GeotimeSeriesIntegrationRid", "GeotimeSeriesValue", "GetActionTypeByRidBatchRequest", "GetActionTypeByRidBatchRequestElement", @@ -6261,6 +6554,7 @@ class WithinPolygonQuery(core.ModelBase): "ListOutgoingInterfaceLinkTypesResponse", "ListOutgoingLinkTypesResponseV2", "ListQueryTypesResponseV2", + "ListScenarioConflictingObjectsResponse", "ListScenarioEditedEntityTypesResponse", "ListScenarioEditedLinkTypesResponse", "ListScenarioEditedLinksResponse", @@ -6322,6 +6616,7 @@ class WithinPolygonQuery(core.ModelBase): "ObjectEditHistoryEntry", "ObjectEdits", "ObjectLoadingResponseOptions", + "ObjectLocator", "ObjectParameterPropertyArgument", "ObjectPrimaryKey", "ObjectPrimaryKeyV2", @@ -6354,14 +6649,26 @@ class WithinPolygonQuery(core.ModelBase): "ObjectSetWithPropertiesType", "ObjectState", "ObjectTypeApiName", + "ObjectTypeDatasetDatasource", + "ObjectTypeDatasource", + "ObjectTypeDatasourceDefinition", + "ObjectTypeDirectDatasource", "ObjectTypeEdits", "ObjectTypeEditsHistoryRequest", "ObjectTypeEditsHistoryResponse", + "ObjectTypeEditsOnlyDatasource", "ObjectTypeFullMetadata", + "ObjectTypeGeotimeSeriesDatasource", "ObjectTypeId", "ObjectTypeInterfaceImplementation", "ObjectTypeLinkTypeApiNameMapping", + "ObjectTypeMediaSetViewDatasource", + "ObjectTypeRestrictedViewDatasource", "ObjectTypeRid", + "ObjectTypeStreamDatasource", + "ObjectTypeTableDatasource", + "ObjectTypeTimeSeriesDatasource", + "ObjectTypeUnsupportedDatasource", "ObjectTypeV2", "ObjectTypeVisibility", "ObjectUpdate", @@ -6431,6 +6738,7 @@ class WithinPolygonQuery(core.ModelBase): "PropertySecurity", "PropertyTimestampFormattingRule", "PropertyTypeApiName", + "PropertyTypeMappingInfo", "PropertyTypeReference", "PropertyTypeReferenceOrStringConstant", "PropertyTypeRid", @@ -6480,6 +6788,7 @@ class WithinPolygonQuery(core.ModelBase): "RelativeTimeUnit", "RequestId", "ResolvedInterfacePropertyType", + "RestrictedViewRid", "ReturnEditsMode", "RevertActionEnabledActionTypesQueryV2", "RidConstraint", @@ -6519,6 +6828,7 @@ class WithinPolygonQuery(core.ModelBase): "StaticArgument", "StatusActionTypesQueryV2", "StreamMessage", + "StreamRid", "StreamTimeSeriesPointsRequest", "StreamTimeSeriesValuesRequest", "StreamingOutputFormat", @@ -6533,12 +6843,14 @@ class WithinPolygonQuery(core.ModelBase): "StructFieldEvaluatedConstraint", "StructFieldEvaluationResult", "StructFieldOfPropertyImplementation", + "StructFieldPropertyMapping", "StructFieldSelector", "StructFieldType", "StructFieldTypeRid", "StructListParameterFieldArgument", "StructParameterFieldApiName", "StructParameterFieldArgument", + "StructPropertyMapping", "StructType", "StructTypeMainValue", "SubmissionCriteriaEvaluation", @@ -6551,6 +6863,7 @@ class WithinPolygonQuery(core.ModelBase): "SumAggregationV2", "SyncApplyActionResponseV2", "SynchronousWebhookOutputArgument", + "TableRid", "ThreeDimensionalAggregation", "TimeCodeFormat", "TimeRange", @@ -6564,6 +6877,7 @@ class WithinPolygonQuery(core.ModelBase): "TimeSeriesWindowType", "TimeUnit", "TimeseriesEntry", + "TimeseriesSyncRid", "TimestampValue", "TitlePropertySelector", "TransactionEdit", diff --git a/foundry_sdk/v2/ontologies/object_type.py b/foundry_sdk/v2/ontologies/object_type.py index 2e9a0a688..09a8e6003 100644 --- a/foundry_sdk/v2/ontologies/object_type.py +++ b/foundry_sdk/v2/ontologies/object_type.py @@ -63,6 +63,7 @@ def get( object_type: ontologies_models.ObjectTypeApiName, *, branch: typing.Optional[core_models.FoundryBranch] = None, + include_datasources: typing.Optional[bool] = None, request_timeout: typing.Optional[core.Timeout] = None, _sdk_internal: core.SdkInternal = {}, ) -> ontologies_models.ObjectTypeV2: @@ -75,6 +76,8 @@ def get( :type object_type: ObjectTypeApiName :param branch: The Foundry branch to load the object type definition from. If not specified, the default branch will be used. Branches are an experimental feature and not all workflows are supported. :type branch: Optional[FoundryBranch] + :param include_datasources: When set to `true`, the `datasources` field on the returned object type is populated with the datasources backing it. Defaults to `false`. + :type include_datasources: Optional[bool] :param request_timeout: timeout setting for this request in seconds. :type request_timeout: Optional[int] :return: Returns the result object. @@ -87,6 +90,7 @@ def get( resource_path="/v2/ontologies/{ontology}/objectTypes/{objectType}", query_params={ "branch": branch, + "includeDatasources": include_datasources, }, path_params={ "ontology": ontology, @@ -264,6 +268,7 @@ def get_full_metadata( object_type: ontologies_models.ObjectTypeApiName, *, branch: typing.Optional[core_models.FoundryBranch] = None, + include_datasources: typing.Optional[bool] = None, preview: typing.Optional[core_models.PreviewMode] = None, sdk_package_rid: typing.Optional[ontologies_models.SdkPackageRid] = None, sdk_version: typing.Optional[ontologies_models.SdkVersion] = None, @@ -279,6 +284,8 @@ def get_full_metadata( :type object_type: ObjectTypeApiName :param branch: The Foundry branch to load the action type definition from. If not specified, the default branch will be used. Branches are an experimental feature and not all workflows are supported. :type branch: Optional[FoundryBranch] + :param include_datasources: When set to `true`, the `datasources` field on the returned object type is populated with the datasources backing it. Defaults to `false`. + :type include_datasources: Optional[bool] :param preview: A boolean flag that, when set to true, enables the use of beta features in preview mode. :type preview: Optional[PreviewMode] :param sdk_package_rid: The package rid of the generated SDK. @@ -297,6 +304,7 @@ def get_full_metadata( resource_path="/v2/ontologies/{ontology}/objectTypes/{objectType}/fullMetadata", query_params={ "branch": branch, + "includeDatasources": include_datasources, "preview": preview, "sdkPackageRid": sdk_package_rid, "sdkVersion": sdk_version, @@ -447,6 +455,7 @@ def list( ontology: ontologies_models.OntologyIdentifier, *, branch: typing.Optional[core_models.FoundryBranch] = None, + include_datasources: typing.Optional[bool] = None, page_size: typing.Optional[core_models.PageSize] = None, page_token: typing.Optional[core_models.PageToken] = None, request_timeout: typing.Optional[core.Timeout] = None, @@ -466,6 +475,8 @@ def list( :type ontology: OntologyIdentifier :param branch: The Foundry branch to list the object types from. If not specified, the default branch will be used. Branches are an experimental feature and not all workflows are supported. :type branch: Optional[FoundryBranch] + :param include_datasources: When set to `true`, the `datasources` field on each returned object type is populated with the datasources backing it. Defaults to `false`. + :type include_datasources: Optional[bool] :param page_size: The desired size of the page to be returned. Defaults to 500. See [page sizes](https://palantir.com/docs/foundry/api/general/overview/paging/#page-sizes) for details. :type page_size: Optional[PageSize] :param page_token: @@ -482,6 +493,7 @@ def list( resource_path="/v2/ontologies/{ontology}/objectTypes", query_params={ "branch": branch, + "includeDatasources": include_datasources, "pageSize": page_size, "pageToken": page_token, }, @@ -661,6 +673,7 @@ def get( object_type: ontologies_models.ObjectTypeApiName, *, branch: typing.Optional[core_models.FoundryBranch] = None, + include_datasources: typing.Optional[bool] = None, request_timeout: typing.Optional[core.Timeout] = None, _sdk_internal: core.SdkInternal = {}, ) -> typing.Awaitable[ontologies_models.ObjectTypeV2]: @@ -673,6 +686,8 @@ def get( :type object_type: ObjectTypeApiName :param branch: The Foundry branch to load the object type definition from. If not specified, the default branch will be used. Branches are an experimental feature and not all workflows are supported. :type branch: Optional[FoundryBranch] + :param include_datasources: When set to `true`, the `datasources` field on the returned object type is populated with the datasources backing it. Defaults to `false`. + :type include_datasources: Optional[bool] :param request_timeout: timeout setting for this request in seconds. :type request_timeout: Optional[int] :return: Returns the result object. @@ -685,6 +700,7 @@ def get( resource_path="/v2/ontologies/{ontology}/objectTypes/{objectType}", query_params={ "branch": branch, + "includeDatasources": include_datasources, }, path_params={ "ontology": ontology, @@ -862,6 +878,7 @@ def get_full_metadata( object_type: ontologies_models.ObjectTypeApiName, *, branch: typing.Optional[core_models.FoundryBranch] = None, + include_datasources: typing.Optional[bool] = None, preview: typing.Optional[core_models.PreviewMode] = None, sdk_package_rid: typing.Optional[ontologies_models.SdkPackageRid] = None, sdk_version: typing.Optional[ontologies_models.SdkVersion] = None, @@ -877,6 +894,8 @@ def get_full_metadata( :type object_type: ObjectTypeApiName :param branch: The Foundry branch to load the action type definition from. If not specified, the default branch will be used. Branches are an experimental feature and not all workflows are supported. :type branch: Optional[FoundryBranch] + :param include_datasources: When set to `true`, the `datasources` field on the returned object type is populated with the datasources backing it. Defaults to `false`. + :type include_datasources: Optional[bool] :param preview: A boolean flag that, when set to true, enables the use of beta features in preview mode. :type preview: Optional[PreviewMode] :param sdk_package_rid: The package rid of the generated SDK. @@ -895,6 +914,7 @@ def get_full_metadata( resource_path="/v2/ontologies/{ontology}/objectTypes/{objectType}/fullMetadata", query_params={ "branch": branch, + "includeDatasources": include_datasources, "preview": preview, "sdkPackageRid": sdk_package_rid, "sdkVersion": sdk_version, @@ -1045,6 +1065,7 @@ def list( ontology: ontologies_models.OntologyIdentifier, *, branch: typing.Optional[core_models.FoundryBranch] = None, + include_datasources: typing.Optional[bool] = None, page_size: typing.Optional[core_models.PageSize] = None, page_token: typing.Optional[core_models.PageToken] = None, request_timeout: typing.Optional[core.Timeout] = None, @@ -1064,6 +1085,8 @@ def list( :type ontology: OntologyIdentifier :param branch: The Foundry branch to list the object types from. If not specified, the default branch will be used. Branches are an experimental feature and not all workflows are supported. :type branch: Optional[FoundryBranch] + :param include_datasources: When set to `true`, the `datasources` field on each returned object type is populated with the datasources backing it. Defaults to `false`. + :type include_datasources: Optional[bool] :param page_size: The desired size of the page to be returned. Defaults to 500. See [page sizes](https://palantir.com/docs/foundry/api/general/overview/paging/#page-sizes) for details. :type page_size: Optional[PageSize] :param page_token: @@ -1080,6 +1103,7 @@ def list( resource_path="/v2/ontologies/{ontology}/objectTypes", query_params={ "branch": branch, + "includeDatasources": include_datasources, "pageSize": page_size, "pageToken": page_token, }, diff --git a/foundry_sdk/v2/ontologies/ontology_scenario.py b/foundry_sdk/v2/ontologies/ontology_scenario.py index 8d9f929b7..db93a3337 100644 --- a/foundry_sdk/v2/ontologies/ontology_scenario.py +++ b/foundry_sdk/v2/ontologies/ontology_scenario.py @@ -104,6 +104,75 @@ def create_scenario( ), ) + @core.maybe_ignore_preview + @pydantic.validate_call + @errors.handle_unexpected + def list_scenario_conflicting_objects( + self, + ontology: ontologies_models.OntologyIdentifier, + scenario_rid: ontologies_models.OntologyScenarioRid, + object_type: ontologies_models.ObjectTypeApiName, + *, + page_size: typing.Optional[core_models.PageSize] = None, + page_token: typing.Optional[core_models.PageToken] = None, + preview: typing.Optional[core_models.PreviewMode] = None, + request_timeout: typing.Optional[core.Timeout] = None, + _sdk_internal: core.SdkInternal = {}, + ) -> core.ResourceIterator[ontologies_models.ObjectLocator]: + """ + Returns the list of objects with edits that conflict with edits to the scenario's base for a specific object + type. A conflict occurs when an object has been edited both within the scenario and on the scenario's base + after the scenario was created. Only objects that the user has permission to view are returned. + + Conflict detection takes into account changes that are not reflected in the user-visible object data. + As a result, this endpoint may report false positives. An object may be returned as conflicting even if + its data has not actually changed on the scenario's base. + + Each page may be smaller than the requested page size. + + :param ontology: + :type ontology: OntologyIdentifier + :param scenario_rid: The unique resource identifier of the scenario. + :type scenario_rid: OntologyScenarioRid + :param object_type: The API name of the object type. + :type object_type: ObjectTypeApiName + :param page_size: The maximum number of objects to examine when searching for conflicts. This bounds the work performed per call; it is not a guarantee on the number of conflicting objects returned, which may be smaller. Each page may be smaller than this value. + :type page_size: Optional[PageSize] + :param page_token: The page token to use for pagination. + :type page_token: Optional[PageToken] + :param preview: A boolean flag that, when set to true, enables the use of beta features in preview mode. + :type preview: Optional[PreviewMode] + :param request_timeout: timeout setting for this request in seconds. + :type request_timeout: Optional[int] + :return: Returns the result object. + :rtype: core.ResourceIterator[ontologies_models.ObjectLocator] + """ + + return self._api_client.call_api( + core.RequestInfo( + method="GET", + resource_path="/v2/ontologies/{ontology}/scenarios/{scenarioRid}/objects/{objectType}/conflicting", + query_params={ + "pageSize": page_size, + "pageToken": page_token, + "preview": preview, + }, + path_params={ + "ontology": ontology, + "scenarioRid": scenario_rid, + "objectType": object_type, + }, + header_params={ + "Accept": "application/json", + }, + body=None, + response_type=ontologies_models.ListScenarioConflictingObjectsResponse, + request_timeout=request_timeout, + throwable_errors={}, + response_mode=_sdk_internal.get("response_mode", "ITERATOR"), + ), + ) + @core.maybe_ignore_preview @pydantic.validate_call @errors.handle_unexpected @@ -399,6 +468,9 @@ def list_scenario_edited_objects( class _OntologyScenarioClientRaw: def __init__(self, client: OntologyScenarioClient) -> None: def create_scenario(_: ontologies_models.CreateOntologyScenarioResponse): ... + def list_scenario_conflicting_objects( + _: ontologies_models.ListScenarioConflictingObjectsResponse, + ): ... def list_scenario_edited_entity_types( _: ontologies_models.ListScenarioEditedEntityTypesResponse, ): ... @@ -414,6 +486,9 @@ def list_scenario_edited_objects( ): ... self.create_scenario = core.with_raw_response(create_scenario, client.create_scenario) + self.list_scenario_conflicting_objects = core.with_raw_response( + list_scenario_conflicting_objects, client.list_scenario_conflicting_objects + ) self.list_scenario_edited_entity_types = core.with_raw_response( list_scenario_edited_entity_types, client.list_scenario_edited_entity_types ) @@ -434,6 +509,9 @@ def list_scenario_edited_objects( class _OntologyScenarioClientStreaming: def __init__(self, client: OntologyScenarioClient) -> None: def create_scenario(_: ontologies_models.CreateOntologyScenarioResponse): ... + def list_scenario_conflicting_objects( + _: ontologies_models.ListScenarioConflictingObjectsResponse, + ): ... def list_scenario_edited_entity_types( _: ontologies_models.ListScenarioEditedEntityTypesResponse, ): ... @@ -449,6 +527,9 @@ def list_scenario_edited_objects( ): ... self.create_scenario = core.with_streaming_response(create_scenario, client.create_scenario) + self.list_scenario_conflicting_objects = core.with_streaming_response( + list_scenario_conflicting_objects, client.list_scenario_conflicting_objects + ) self.list_scenario_edited_entity_types = core.with_streaming_response( list_scenario_edited_entity_types, client.list_scenario_edited_entity_types ) @@ -546,6 +627,75 @@ def create_scenario( ), ) + @core.maybe_ignore_preview + @pydantic.validate_call + @errors.handle_unexpected + def list_scenario_conflicting_objects( + self, + ontology: ontologies_models.OntologyIdentifier, + scenario_rid: ontologies_models.OntologyScenarioRid, + object_type: ontologies_models.ObjectTypeApiName, + *, + page_size: typing.Optional[core_models.PageSize] = None, + page_token: typing.Optional[core_models.PageToken] = None, + preview: typing.Optional[core_models.PreviewMode] = None, + request_timeout: typing.Optional[core.Timeout] = None, + _sdk_internal: core.SdkInternal = {}, + ) -> core.AsyncResourceIterator[ontologies_models.ObjectLocator]: + """ + Returns the list of objects with edits that conflict with edits to the scenario's base for a specific object + type. A conflict occurs when an object has been edited both within the scenario and on the scenario's base + after the scenario was created. Only objects that the user has permission to view are returned. + + Conflict detection takes into account changes that are not reflected in the user-visible object data. + As a result, this endpoint may report false positives. An object may be returned as conflicting even if + its data has not actually changed on the scenario's base. + + Each page may be smaller than the requested page size. + + :param ontology: + :type ontology: OntologyIdentifier + :param scenario_rid: The unique resource identifier of the scenario. + :type scenario_rid: OntologyScenarioRid + :param object_type: The API name of the object type. + :type object_type: ObjectTypeApiName + :param page_size: The maximum number of objects to examine when searching for conflicts. This bounds the work performed per call; it is not a guarantee on the number of conflicting objects returned, which may be smaller. Each page may be smaller than this value. + :type page_size: Optional[PageSize] + :param page_token: The page token to use for pagination. + :type page_token: Optional[PageToken] + :param preview: A boolean flag that, when set to true, enables the use of beta features in preview mode. + :type preview: Optional[PreviewMode] + :param request_timeout: timeout setting for this request in seconds. + :type request_timeout: Optional[int] + :return: Returns the result object. + :rtype: core.AsyncResourceIterator[ontologies_models.ObjectLocator] + """ + + return self._api_client.call_api( + core.RequestInfo( + method="GET", + resource_path="/v2/ontologies/{ontology}/scenarios/{scenarioRid}/objects/{objectType}/conflicting", + query_params={ + "pageSize": page_size, + "pageToken": page_token, + "preview": preview, + }, + path_params={ + "ontology": ontology, + "scenarioRid": scenario_rid, + "objectType": object_type, + }, + header_params={ + "Accept": "application/json", + }, + body=None, + response_type=ontologies_models.ListScenarioConflictingObjectsResponse, + request_timeout=request_timeout, + throwable_errors={}, + response_mode=_sdk_internal.get("response_mode", "ITERATOR"), + ), + ) + @core.maybe_ignore_preview @pydantic.validate_call @errors.handle_unexpected @@ -841,6 +991,9 @@ def list_scenario_edited_objects( class _AsyncOntologyScenarioClientRaw: def __init__(self, client: AsyncOntologyScenarioClient) -> None: def create_scenario(_: ontologies_models.CreateOntologyScenarioResponse): ... + def list_scenario_conflicting_objects( + _: ontologies_models.ListScenarioConflictingObjectsResponse, + ): ... def list_scenario_edited_entity_types( _: ontologies_models.ListScenarioEditedEntityTypesResponse, ): ... @@ -856,6 +1009,9 @@ def list_scenario_edited_objects( ): ... self.create_scenario = core.async_with_raw_response(create_scenario, client.create_scenario) + self.list_scenario_conflicting_objects = core.async_with_raw_response( + list_scenario_conflicting_objects, client.list_scenario_conflicting_objects + ) self.list_scenario_edited_entity_types = core.async_with_raw_response( list_scenario_edited_entity_types, client.list_scenario_edited_entity_types ) @@ -876,6 +1032,9 @@ def list_scenario_edited_objects( class _AsyncOntologyScenarioClientStreaming: def __init__(self, client: AsyncOntologyScenarioClient) -> None: def create_scenario(_: ontologies_models.CreateOntologyScenarioResponse): ... + def list_scenario_conflicting_objects( + _: ontologies_models.ListScenarioConflictingObjectsResponse, + ): ... def list_scenario_edited_entity_types( _: ontologies_models.ListScenarioEditedEntityTypesResponse, ): ... @@ -893,6 +1052,9 @@ def list_scenario_edited_objects( self.create_scenario = core.async_with_streaming_response( create_scenario, client.create_scenario ) + self.list_scenario_conflicting_objects = core.async_with_streaming_response( + list_scenario_conflicting_objects, client.list_scenario_conflicting_objects + ) self.list_scenario_edited_entity_types = core.async_with_streaming_response( list_scenario_edited_entity_types, client.list_scenario_edited_entity_types ) diff --git a/tests/test_resource_import.py b/tests/test_resource_import.py index 1fbf5520b..1df77937c 100644 --- a/tests/test_resource_import.py +++ b/tests/test_resource_import.py @@ -371,6 +371,12 @@ def test_filesystem_v2_resource_role_import(): assert ResourceRoleClient is not None +def test_filesystem_v2_resource_tag_import(): + from foundry_sdk.v2.filesystem.resource_tag import ResourceTagClient + + assert ResourceTagClient is not None + + def test_filesystem_v2_space_import(): from foundry_sdk.v2.filesystem.space import SpaceClient