diff --git a/README.md b/README.md index dec077af..99c66c33 100644 --- a/README.md +++ b/README.md @@ -908,7 +908,6 @@ Namespace | Resource | Operation | HTTP request | **Ontologies** | ObjectType | [**list**](docs/v2/Ontologies/ObjectType.md#list) | **GET** /v2/ontologies/{ontology}/objectTypes | **Ontologies** | ObjectType | [**list_outgoing_link_types**](docs/v2/Ontologies/ObjectType.md#list_outgoing_link_types) | **GET** /v2/ontologies/{ontology}/objectTypes/{objectType}/outgoingLinkTypes | **Ontologies** | Ontology | [**get**](docs/v2/Ontologies/Ontology.md#get) | **GET** /v2/ontologies/{ontology} | -**Ontologies** | Ontology | [**get_full_metadata**](docs/v2/Ontologies/Ontology.md#get_full_metadata) | **GET** /v2/ontologies/{ontology}/fullMetadata | **Ontologies** | Ontology | [**list**](docs/v2/Ontologies/Ontology.md#list) | **GET** /v2/ontologies | **Ontologies** | OntologyInterface | [**get**](docs/v2/Ontologies/OntologyInterface.md#get) | **GET** /v2/ontologies/{ontology}/interfaceTypes/{interfaceType} | **Ontologies** | OntologyInterface | [**list**](docs/v2/Ontologies/OntologyInterface.md#list) | **GET** /v2/ontologies/{ontology}/interfaceTypes | @@ -1052,6 +1051,7 @@ Namespace | Name | Import | **Admin** | [Enrollment](docs/v2/Admin/models/Enrollment.md) | `from foundry_sdk.v2.admin.models import Enrollment` | **Admin** | [EnrollmentName](docs/v2/Admin/models/EnrollmentName.md) | `from foundry_sdk.v2.admin.models import EnrollmentName` | **Admin** | [EnrollmentRoleAssignment](docs/v2/Admin/models/EnrollmentRoleAssignment.md) | `from foundry_sdk.v2.admin.models import EnrollmentRoleAssignment` | +**Admin** | [GetForResourcesRequest](docs/v2/Admin/models/GetForResourcesRequest.md) | `from foundry_sdk.v2.admin.models import GetForResourcesRequest` | **Admin** | [GetGroupsBatchRequestElement](docs/v2/Admin/models/GetGroupsBatchRequestElement.md) | `from foundry_sdk.v2.admin.models import GetGroupsBatchRequestElement` | **Admin** | [GetGroupsBatchResponse](docs/v2/Admin/models/GetGroupsBatchResponse.md) | `from foundry_sdk.v2.admin.models import GetGroupsBatchResponse` | **Admin** | [GetMarkingsBatchRequestElement](docs/v2/Admin/models/GetMarkingsBatchRequestElement.md) | `from foundry_sdk.v2.admin.models import GetMarkingsBatchRequestElement` | @@ -2696,6 +2696,7 @@ Namespace | Name | Import | **Ontologies** | [NoLoadLevel](docs/v2/Ontologies/models/NoLoadLevel.md) | `from foundry_sdk.v2.ontologies.models import NoLoadLevel` | **Ontologies** | [NotQueryV2](docs/v2/Ontologies/models/NotQueryV2.md) | `from foundry_sdk.v2.ontologies.models import NotQueryV2` | **Ontologies** | [NowDatetimeValue](docs/v2/Ontologies/models/NowDatetimeValue.md) | `from foundry_sdk.v2.ontologies.models import NowDatetimeValue` | +**Ontologies** | [NullabilityPropertyTypeDataConstraint](docs/v2/Ontologies/models/NullabilityPropertyTypeDataConstraint.md) | `from foundry_sdk.v2.ontologies.models import NullabilityPropertyTypeDataConstraint` | **Ontologies** | [NumberFormatAffix](docs/v2/Ontologies/models/NumberFormatAffix.md) | `from foundry_sdk.v2.ontologies.models import NumberFormatAffix` | **Ontologies** | [NumberFormatCurrency](docs/v2/Ontologies/models/NumberFormatCurrency.md) | `from foundry_sdk.v2.ontologies.models import NumberFormatCurrency` | **Ontologies** | [NumberFormatCurrencyStyle](docs/v2/Ontologies/models/NumberFormatCurrencyStyle.md) | `from foundry_sdk.v2.ontologies.models import NumberFormatCurrencyStyle` | @@ -2845,6 +2846,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** | [PropertyTypeDataConstraints](docs/v2/Ontologies/models/PropertyTypeDataConstraints.md) | `from foundry_sdk.v2.ontologies.models import PropertyTypeDataConstraints` | **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` | @@ -3513,6 +3515,7 @@ Namespace | Name | Import | **Admin** | GetCbacMarkingRestrictionInfoPermissionDenied | `from foundry_sdk.v2.admin.errors import GetCbacMarkingRestrictionInfoPermissionDenied` | **Admin** | GetCurrentEnrollmentPermissionDenied | `from foundry_sdk.v2.admin.errors import GetCurrentEnrollmentPermissionDenied` | **Admin** | GetCurrentUserPermissionDenied | `from foundry_sdk.v2.admin.errors import GetCurrentUserPermissionDenied` | +**Admin** | GetForResourcesPermissionDenied | `from foundry_sdk.v2.admin.errors import GetForResourcesPermissionDenied` | **Admin** | GetGroupProviderInfoPermissionDenied | `from foundry_sdk.v2.admin.errors import GetGroupProviderInfoPermissionDenied` | **Admin** | GetMarkingCategoryPermissionDenied | `from foundry_sdk.v2.admin.errors import GetMarkingCategoryPermissionDenied` | **Admin** | GetMarkingPermissionDenied | `from foundry_sdk.v2.admin.errors import GetMarkingPermissionDenied` | @@ -3923,11 +3926,13 @@ Namespace | Name | Import | **Models** | CreateModelStudioConfigVersionPermissionDenied | `from foundry_sdk.v2.models.errors import CreateModelStudioConfigVersionPermissionDenied` | **Models** | CreateModelStudioPermissionDenied | `from foundry_sdk.v2.models.errors import CreateModelStudioPermissionDenied` | **Models** | CreateModelVersionPermissionDenied | `from foundry_sdk.v2.models.errors import CreateModelVersionPermissionDenied` | +**Models** | DeploymentSourceCannotExportResourceMarkings | `from foundry_sdk.v2.models.errors import DeploymentSourceCannotExportResourceMarkings` | +**Models** | DeploymentSourceNotEnabledForComputeModules | `from foundry_sdk.v2.models.errors import DeploymentSourceNotEnabledForComputeModules` | +**Models** | DeploymentSourceNotImportedIntoProject | `from foundry_sdk.v2.models.errors import DeploymentSourceNotImportedIntoProject` | **Models** | DisableLiveDeploymentPermissionDenied | `from foundry_sdk.v2.models.errors import DisableLiveDeploymentPermissionDenied` | **Models** | ExperimentArtifactNotFound | `from foundry_sdk.v2.models.errors import ExperimentArtifactNotFound` | **Models** | ExperimentNotFound | `from foundry_sdk.v2.models.errors import ExperimentNotFound` | **Models** | ExperimentSeriesNotFound | `from foundry_sdk.v2.models.errors import ExperimentSeriesNotFound` | -**Models** | FunctionAlreadyExists | `from foundry_sdk.v2.models.errors import FunctionAlreadyExists` | **Models** | GpuTypeNotAvailable | `from foundry_sdk.v2.models.errors import GpuTypeNotAvailable` | **Models** | InferenceFailure | `from foundry_sdk.v2.models.errors import InferenceFailure` | **Models** | InferenceInvalidInput | `from foundry_sdk.v2.models.errors import InferenceInvalidInput` | @@ -3958,6 +3963,7 @@ Namespace | Name | Import | **Models** | PromoteVersionModelPermissionDenied | `from foundry_sdk.v2.models.errors import PromoteVersionModelPermissionDenied` | **Models** | ReplaceLiveDeploymentPermissionDenied | `from foundry_sdk.v2.models.errors import ReplaceLiveDeploymentPermissionDenied` | **Models** | ReplaceModelFunctionPermissionDenied | `from foundry_sdk.v2.models.errors import ReplaceModelFunctionPermissionDenied` | +**Models** | ReservedEnvironmentVariable | `from foundry_sdk.v2.models.errors import ReservedEnvironmentVariable` | **Models** | SearchExperimentsPermissionDenied | `from foundry_sdk.v2.models.errors import SearchExperimentsPermissionDenied` | **Models** | StartLiveDeploymentPermissionDenied | `from foundry_sdk.v2.models.errors import StartLiveDeploymentPermissionDenied` | **Models** | ThreadCountTooHigh | `from foundry_sdk.v2.models.errors import ThreadCountTooHigh` | diff --git a/docs-snippets-npm/package.json b/docs-snippets-npm/package.json index 8a6734e6..b80b45f2 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.1783.1", + "minVersion": "1.1801.2", "maxVersion": "1.x.x", "optional": false } diff --git a/docs-snippets-npm/src/index.ts b/docs-snippets-npm/src/index.ts index 35e32231..c771d6e9 100644 --- a/docs-snippets-npm/src/index.ts +++ b/docs-snippets-npm/src/index.ts @@ -258,6 +258,11 @@ export const PYTHON_PLATFORM_SNIPPETS: SdkSnippets admin_models.CbacBanner: + """ + Returns a combined CBAC banner for the requested resources. + :param resource_rids: Resource RIDs to include. The caller must have access to every resource. + :type resource_rids: List[RID] + :param display_type: The display type of the banner. Defaults to PORTION_MARKING. BANNER_LINE is the long classification string used in the header of a document; PORTION_MARKING is a short classification string used for individual paragraphs + :type display_type: Optional[ClassificationBannerDisplayType] + :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: admin_models.CbacBanner + + :raises CbacUnavailable: CBAC is not available. + :raises GetForResourcesPermissionDenied: Could not getForResources the CbacBanner. + :raises UnknownClassificationBannerDisplayType: The provided classification banner display type is not recognized. + """ + + return self._api_client.call_api( + core.RequestInfo( + method="POST", + resource_path="/v2/admin/cbacBanner/getForResources", + query_params={ + "preview": preview, + }, + path_params={}, + header_params={ + "Content-Type": "application/json", + "Accept": "application/json", + }, + body=admin_models.GetForResourcesRequest( + resource_rids=resource_rids, + display_type=display_type, + ), + response_type=admin_models.CbacBanner, + request_timeout=request_timeout, + throwable_errors={ + "CbacUnavailable": admin_errors.CbacUnavailable, + "GetForResourcesPermissionDenied": admin_errors.GetForResourcesPermissionDenied, + "UnknownClassificationBannerDisplayType": admin_errors.UnknownClassificationBannerDisplayType, + }, + response_mode=_sdk_internal.get("response_mode"), + ), + ) + class _CbacBannerClientRaw: def __init__(self, client: CbacBannerClient) -> None: def get(_: admin_models.CbacBanner): ... + def get_for_resources(_: admin_models.CbacBanner): ... self.get = core.with_raw_response(get, client.get) + self.get_for_resources = core.with_raw_response(get_for_resources, client.get_for_resources) class _CbacBannerClientStreaming: def __init__(self, client: CbacBannerClient) -> None: def get(_: admin_models.CbacBanner): ... + def get_for_resources(_: admin_models.CbacBanner): ... self.get = core.with_streaming_response(get, client.get) + self.get_for_resources = core.with_streaming_response( + get_for_resources, client.get_for_resources + ) class AsyncCbacBannerClient: @@ -212,16 +275,81 @@ def get( ), ) + @core.maybe_ignore_preview + @pydantic.validate_call + @errors.handle_unexpected + def get_for_resources( + self, + *, + resource_rids: typing.List[core.RID], + display_type: typing.Optional[admin_models.ClassificationBannerDisplayType] = None, + preview: typing.Optional[core_models.PreviewMode] = None, + request_timeout: typing.Optional[core.Timeout] = None, + _sdk_internal: core.SdkInternal = {}, + ) -> typing.Awaitable[admin_models.CbacBanner]: + """ + Returns a combined CBAC banner for the requested resources. + :param resource_rids: Resource RIDs to include. The caller must have access to every resource. + :type resource_rids: List[RID] + :param display_type: The display type of the banner. Defaults to PORTION_MARKING. BANNER_LINE is the long classification string used in the header of a document; PORTION_MARKING is a short classification string used for individual paragraphs + :type display_type: Optional[ClassificationBannerDisplayType] + :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[admin_models.CbacBanner] + + :raises CbacUnavailable: CBAC is not available. + :raises GetForResourcesPermissionDenied: Could not getForResources the CbacBanner. + :raises UnknownClassificationBannerDisplayType: The provided classification banner display type is not recognized. + """ + + return self._api_client.call_api( + core.RequestInfo( + method="POST", + resource_path="/v2/admin/cbacBanner/getForResources", + query_params={ + "preview": preview, + }, + path_params={}, + header_params={ + "Content-Type": "application/json", + "Accept": "application/json", + }, + body=admin_models.GetForResourcesRequest( + resource_rids=resource_rids, + display_type=display_type, + ), + response_type=admin_models.CbacBanner, + request_timeout=request_timeout, + throwable_errors={ + "CbacUnavailable": admin_errors.CbacUnavailable, + "GetForResourcesPermissionDenied": admin_errors.GetForResourcesPermissionDenied, + "UnknownClassificationBannerDisplayType": admin_errors.UnknownClassificationBannerDisplayType, + }, + response_mode=_sdk_internal.get("response_mode"), + ), + ) + class _AsyncCbacBannerClientRaw: def __init__(self, client: AsyncCbacBannerClient) -> None: def get(_: admin_models.CbacBanner): ... + def get_for_resources(_: admin_models.CbacBanner): ... self.get = core.async_with_raw_response(get, client.get) + self.get_for_resources = core.async_with_raw_response( + get_for_resources, client.get_for_resources + ) class _AsyncCbacBannerClientStreaming: def __init__(self, client: AsyncCbacBannerClient) -> None: def get(_: admin_models.CbacBanner): ... + def get_for_resources(_: admin_models.CbacBanner): ... self.get = core.async_with_streaming_response(get, client.get) + self.get_for_resources = core.async_with_streaming_response( + get_for_resources, client.get_for_resources + ) diff --git a/foundry_sdk/v2/admin/errors.py b/foundry_sdk/v2/admin/errors.py index b222210c..35dea846 100644 --- a/foundry_sdk/v2/admin/errors.py +++ b/foundry_sdk/v2/admin/errors.py @@ -431,6 +431,19 @@ class GetCurrentUserPermissionDenied(errors.PermissionDeniedError): error_instance_id: str +class GetForResourcesPermissionDeniedParameters(typing_extensions.TypedDict): + """Could not getForResources the CbacBanner.""" + + __pydantic_config__ = {"extra": "allow"} # type: ignore + + +@dataclass +class GetForResourcesPermissionDenied(errors.PermissionDeniedError): + name: typing.Literal["GetForResourcesPermissionDenied"] + parameters: GetForResourcesPermissionDeniedParameters + error_instance_id: str + + class GetGroupProviderInfoPermissionDeniedParameters(typing_extensions.TypedDict): """The provided token does not have permission to view the provider information for the given group.""" @@ -1348,6 +1361,7 @@ class UserProviderInfoNotFound(errors.NotFoundError): "GetCbacMarkingRestrictionInfoPermissionDenied", "GetCurrentEnrollmentPermissionDenied", "GetCurrentUserPermissionDenied", + "GetForResourcesPermissionDenied", "GetGroupProviderInfoPermissionDenied", "GetMarkingCategoryPermissionDenied", "GetMarkingPermissionDenied", diff --git a/foundry_sdk/v2/admin/models.py b/foundry_sdk/v2/admin/models.py index 278e912b..a5759dc2 100644 --- a/foundry_sdk/v2/admin/models.py +++ b/foundry_sdk/v2/admin/models.py @@ -271,6 +271,16 @@ class EnrollmentRoleAssignment(core.ModelBase): role_id: core_models.RoleId = pydantic.Field(alias=str("roleId")) # type: ignore[literal-required] +class GetForResourcesRequest(core.ModelBase): + """GetForResourcesRequest""" + + resource_rids: typing.List[core.RID] = pydantic.Field(alias=str("resourceRids")) # type: ignore[literal-required] + """Resource RIDs to include. The caller must have access to every resource.""" + + display_type: typing.Optional[ClassificationBannerDisplayType] = pydantic.Field(alias=str("displayType"), default=None) # type: ignore[literal-required] + """The display type of the banner. Defaults to PORTION_MARKING. BANNER_LINE is the long classification string used in the header of a document; PORTION_MARKING is a short classification string used for individual paragraphs""" + + class GetGroupsBatchRequestElement(core.ModelBase): """GetGroupsBatchRequestElement""" @@ -998,6 +1008,7 @@ class UserSearchFilter(core.ModelBase): "Enrollment", "EnrollmentName", "EnrollmentRoleAssignment", + "GetForResourcesRequest", "GetGroupsBatchRequestElement", "GetGroupsBatchResponse", "GetMarkingsBatchRequestElement", diff --git a/foundry_sdk/v2/cli.py b/foundry_sdk/v2/cli.py index 80e2a790..a592073a 100644 --- a/foundry_sdk/v2/cli.py +++ b/foundry_sdk/v2/cli.py @@ -1900,6 +1900,40 @@ def admin_cbac_banner_op_get( click.echo(repr(result)) +@admin_cbac_banner.command("get_for_resources") +@click.option( + "--resource_rids", + type=str, + required=True, + help="""Resource RIDs to include. The caller must have access to every resource.""", +) +@click.option( + "--display_type", + type=click.Choice(["BANNER_LINE", "PORTION_MARKING"]), + required=False, + help="""The display type of the banner. Defaults to PORTION_MARKING. BANNER_LINE is the long classification string used in the header of a document; PORTION_MARKING is a short classification string used for individual paragraphs""", +) +@click.option( + "--preview", type=bool, required=False, help="""Enables the use of preview functionality.""" +) +@click.pass_obj +def admin_cbac_banner_op_get_for_resources( + client: FoundryClient, + resource_rids: str, + display_type: typing.Optional[typing.Literal["BANNER_LINE", "PORTION_MARKING"]], + preview: typing.Optional[bool], +): + """ + Returns a combined CBAC banner for the requested resources. + """ + result = client.admin.CbacBanner.get_for_resources( + resource_rids=json.loads(resource_rids), + display_type=display_type, + preview=preview, + ) + click.echo(repr(result)) + + @cli.group("aip_agents") def aip_agents(): pass @@ -7812,7 +7846,8 @@ def models_model_model_function_op_create( preview: typing.Optional[bool], ): """ - Creates a function for the model. + Creates a function for the model. If a function already exists for the model, the existing function is updated. + """ result = client.models.Model.Function.create( model_rid=model_rid, @@ -8677,9 +8712,8 @@ def ontologies_query(): "--version", type=str, required=False, - help="""The version of the Query to execute. If not specified, the latest version is used. The latest version -is the one that was most recently published, including pre-release versions. When used -with `branch`, the specified version must exist on the branch. + help="""The semantic version range of the Query to execute. Function execution selects a satisfying version from +this range. If not specified, the version most recently published is used. """, ) @click.pass_obj @@ -10223,6 +10257,17 @@ def ontologies_ontology_object_op_count( Setting this to true may improve performance of this endpoint for object types in OSV2. """, ) +@click.option( + "--load_ontology_defined_derived_properties", + type=bool, + required=False, + help="""A flag to load ontology-defined derived properties (OTDPs) in the response. Defaults to true. +Only applies when no explicit property selection is provided; when specific properties are +selected, this flag has no effect and the selected properties are always returned. + +This feature is experimental and not yet generally available. +""", +) @click.option( "--sdk_package_rid", type=str, @@ -10253,6 +10298,7 @@ def ontologies_ontology_object_op_get( primary_key: str, branch: typing.Optional[str], exclude_rid: typing.Optional[bool], + load_ontology_defined_derived_properties: typing.Optional[bool], sdk_package_rid: typing.Optional[str], sdk_version: typing.Optional[str], select: typing.Optional[str], @@ -10267,6 +10313,7 @@ def ontologies_ontology_object_op_get( primary_key=primary_key, branch=branch, exclude_rid=exclude_rid, + load_ontology_defined_derived_properties=load_ontology_defined_derived_properties, sdk_package_rid=sdk_package_rid, sdk_version=sdk_version, select=None if select is None else json.loads(select), @@ -10293,6 +10340,17 @@ def ontologies_ontology_object_op_get( Setting this to true may improve performance of this endpoint for object types in OSV2. """, ) +@click.option( + "--load_ontology_defined_derived_properties", + type=bool, + required=False, + help="""A flag to load ontology-defined derived properties (OTDPs) in the response. Defaults to true. +Only applies when no explicit property selection is provided; when specific properties are +selected, this flag has no effect and the selected properties are always returned. + +This feature is experimental and not yet generally available. +""", +) @click.option("--order_by", type=str, required=False, help="""""") @click.option( "--page_size", @@ -10342,6 +10400,7 @@ def ontologies_ontology_object_op_list( object_type: str, branch: typing.Optional[str], exclude_rid: typing.Optional[bool], + load_ontology_defined_derived_properties: typing.Optional[bool], order_by: typing.Optional[str], page_size: typing.Optional[int], page_token: typing.Optional[str], @@ -10371,6 +10430,7 @@ def ontologies_ontology_object_op_list( object_type=object_type, branch=branch, exclude_rid=exclude_rid, + load_ontology_defined_derived_properties=load_ontology_defined_derived_properties, order_by=order_by, page_size=page_size, page_token=page_token, @@ -10420,6 +10480,17 @@ def ontologies_ontology_object_op_list( Defaults to false. """, ) +@click.option( + "--load_ontology_defined_derived_properties", + type=bool, + required=False, + help="""A flag to load ontology-defined derived properties (OTDPs) in the response. Defaults to true. +Only applies when no explicit property selection is provided; when specific properties are +selected, this flag has no effect and the selected properties are always returned. + +This feature is experimental and not yet generally available. +""", +) @click.option("--order_by", type=str, required=False, help="""""") @click.option("--page_size", type=int, required=False, help="""""") @click.option("--page_token", type=str, required=False, help="""""") @@ -10467,6 +10538,7 @@ def ontologies_ontology_object_op_search( default_load_level: typing.Optional[str], exclude_rid: typing.Optional[bool], execute_in_memory_only: typing.Optional[bool], + load_ontology_defined_derived_properties: typing.Optional[bool], order_by: typing.Optional[str], page_size: typing.Optional[int], page_token: typing.Optional[str], @@ -10516,6 +10588,7 @@ def ontologies_ontology_object_op_search( default_load_level=None if default_load_level is None else json.loads(default_load_level), exclude_rid=exclude_rid, execute_in_memory_only=execute_in_memory_only, + load_ontology_defined_derived_properties=load_ontology_defined_derived_properties, order_by=None if order_by is None else json.loads(order_by), page_size=page_size, page_token=page_token, @@ -10770,6 +10843,17 @@ def ontologies_ontology_interface_op_list( Setting this to true may improve performance of this endpoint for object types in OSV2. """, ) +@click.option( + "--load_ontology_defined_derived_properties", + type=bool, + required=False, + help="""A flag to load ontology-defined derived properties (OTDPs) in the response. Defaults to true. +Only applies when no explicit property selection is provided; when specific properties are +selected, this flag has no effect and the selected properties are always returned. + +This feature is experimental and not yet generally available. +""", +) @click.option("--order_by", type=str, required=False, help="""""") @click.option( "--page_size", @@ -10815,6 +10899,7 @@ def ontologies_ontology_interface_op_list_interface_linked_objects( interface_link_type: str, branch: typing.Optional[str], exclude_rid: typing.Optional[bool], + load_ontology_defined_derived_properties: typing.Optional[bool], order_by: typing.Optional[str], page_size: typing.Optional[int], page_token: typing.Optional[str], @@ -10846,6 +10931,7 @@ def ontologies_ontology_interface_op_list_interface_linked_objects( interface_link_type=interface_link_type, branch=branch, exclude_rid=exclude_rid, + load_ontology_defined_derived_properties=load_ontology_defined_derived_properties, order_by=order_by, page_size=page_size, page_token=page_token, @@ -11306,6 +11392,14 @@ def ontologies_ontology_query_type(): @ontologies_ontology_query_type.command("get") @click.argument("ontology", type=str, required=True) @click.argument("query_api_name", type=str, required=True) +@click.option( + "--branch", + type=str, + required=False, + help="""The Foundry branch to load Query metadata from. Branches are an experimental feature and not all workflows +are supported. +""", +) @click.option( "--sdk_package_rid", type=str, @@ -11333,6 +11427,7 @@ def ontologies_ontology_query_type_op_get( client: FoundryClient, ontology: str, query_api_name: str, + branch: typing.Optional[str], sdk_package_rid: typing.Optional[str], sdk_version: typing.Optional[str], version: typing.Optional[str], @@ -11344,6 +11439,7 @@ def ontologies_ontology_query_type_op_get( result = client.ontologies.Ontology.QueryType.get( ontology=ontology, query_api_name=query_api_name, + branch=branch, sdk_package_rid=sdk_package_rid, sdk_version=sdk_version, version=version, @@ -12345,6 +12441,17 @@ def ontologies_linked_object(): Setting this to true may improve performance of this endpoint for object types in OSV2. """, ) +@click.option( + "--load_ontology_defined_derived_properties", + type=bool, + required=False, + help="""A flag to load ontology-defined derived properties (OTDPs) in the response. Defaults to true. +Only applies when no explicit property selection is provided; when specific properties are +selected, this flag has no effect and the selected properties are always returned. + +This feature is experimental and not yet generally available. +""", +) @click.option( "--sdk_package_rid", type=str, @@ -12377,6 +12484,7 @@ def ontologies_linked_object_op_get_linked_object( linked_object_primary_key: str, branch: typing.Optional[str], exclude_rid: typing.Optional[bool], + load_ontology_defined_derived_properties: typing.Optional[bool], sdk_package_rid: typing.Optional[str], sdk_version: typing.Optional[str], select: typing.Optional[str], @@ -12395,6 +12503,7 @@ def ontologies_linked_object_op_get_linked_object( linked_object_primary_key=linked_object_primary_key, branch=branch, exclude_rid=exclude_rid, + load_ontology_defined_derived_properties=load_ontology_defined_derived_properties, sdk_package_rid=sdk_package_rid, sdk_version=sdk_version, select=None if select is None else json.loads(select), @@ -12423,6 +12532,17 @@ def ontologies_linked_object_op_get_linked_object( Setting this to true may improve performance of this endpoint for object types in OSV2. """, ) +@click.option( + "--load_ontology_defined_derived_properties", + type=bool, + required=False, + help="""A flag to load ontology-defined derived properties (OTDPs) in the response. Defaults to true. +Only applies when no explicit property selection is provided; when specific properties are +selected, this flag has no effect and the selected properties are always returned. + +This feature is experimental and not yet generally available. +""", +) @click.option("--order_by", type=str, required=False, help="""""") @click.option( "--page_size", @@ -12474,6 +12594,7 @@ def ontologies_linked_object_op_list_linked_objects( link_type: str, branch: typing.Optional[str], exclude_rid: typing.Optional[bool], + load_ontology_defined_derived_properties: typing.Optional[bool], order_by: typing.Optional[str], page_size: typing.Optional[int], page_token: typing.Optional[str], @@ -12505,6 +12626,7 @@ def ontologies_linked_object_op_list_linked_objects( link_type=link_type, branch=branch, exclude_rid=exclude_rid, + load_ontology_defined_derived_properties=load_ontology_defined_derived_properties, order_by=order_by, page_size=page_size, page_token=page_token, diff --git a/foundry_sdk/v2/core/models.py b/foundry_sdk/v2/core/models.py index 264e0e92..f581f686 100644 --- a/foundry_sdk/v2/core/models.py +++ b/foundry_sdk/v2/core/models.py @@ -403,7 +403,7 @@ class FloatType(core.ModelBase): FoundryBranch: typing_extensions.TypeAlias = str -"""The Foundry branch identifier, specifically its rid. Different identifier types may be used in the future as values.""" +"""The global Foundry branch, specified as either its rid or its dataset branch identifier.""" class FoundryLiveDeployment(core.ModelBase): diff --git a/foundry_sdk/v2/models/errors.py b/foundry_sdk/v2/models/errors.py index 92e22e8e..8d5140f1 100644 --- a/foundry_sdk/v2/models/errors.py +++ b/foundry_sdk/v2/models/errors.py @@ -20,6 +20,7 @@ from foundry_sdk import _core as core from foundry_sdk import _errors as errors +from foundry_sdk.v2.connectivity import models as connectivity_models from foundry_sdk.v2.models import models as models_models @@ -139,6 +140,53 @@ class CreateModelVersionPermissionDenied(errors.PermissionDeniedError): error_instance_id: str +class DeploymentSourceCannotExportResourceMarkingsParameters(typing_extensions.TypedDict): + """The source does not have exports enabled for all effective markings on the deployed resource.""" + + __pydantic_config__ = {"extra": "allow"} # type: ignore + + sourceRid: connectivity_models.ConnectionRid + resourceRid: core.RID + + +@dataclass +class DeploymentSourceCannotExportResourceMarkings(errors.BadRequestError): + name: typing.Literal["DeploymentSourceCannotExportResourceMarkings"] + parameters: DeploymentSourceCannotExportResourceMarkingsParameters + error_instance_id: str + + +class DeploymentSourceNotEnabledForComputeModulesParameters(typing_extensions.TypedDict): + """The source is not enabled for use by Compute Modules.""" + + __pydantic_config__ = {"extra": "allow"} # type: ignore + + sourceRid: connectivity_models.ConnectionRid + + +@dataclass +class DeploymentSourceNotEnabledForComputeModules(errors.BadRequestError): + name: typing.Literal["DeploymentSourceNotEnabledForComputeModules"] + parameters: DeploymentSourceNotEnabledForComputeModulesParameters + error_instance_id: str + + +class DeploymentSourceNotImportedIntoProjectParameters(typing_extensions.TypedDict): + """The source must be in, or imported into, the live deployment's project.""" + + __pydantic_config__ = {"extra": "allow"} # type: ignore + + sourceRid: connectivity_models.ConnectionRid + projectRid: core.RID + + +@dataclass +class DeploymentSourceNotImportedIntoProject(errors.BadRequestError): + name: typing.Literal["DeploymentSourceNotImportedIntoProject"] + parameters: DeploymentSourceNotImportedIntoProjectParameters + error_instance_id: str + + class DisableLiveDeploymentPermissionDeniedParameters(typing_extensions.TypedDict): """Could not disable the LiveDeployment.""" @@ -204,21 +252,6 @@ class ExperimentSeriesNotFound(errors.NotFoundError): error_instance_id: str -class FunctionAlreadyExistsParameters(typing_extensions.TypedDict): - """A function already exists for this model.""" - - __pydantic_config__ = {"extra": "allow"} # type: ignore - - modelRid: models_models.ModelRid - - -@dataclass -class FunctionAlreadyExists(errors.ConflictError): - name: typing.Literal["FunctionAlreadyExists"] - parameters: FunctionAlreadyExistsParameters - error_instance_id: str - - class GpuTypeNotAvailableParameters(typing_extensions.TypedDict): """ The requested GPU type is not available. Use a GPU type that is available in @@ -708,6 +741,21 @@ class ReplaceModelFunctionPermissionDenied(errors.PermissionDeniedError): error_instance_id: str +class ReservedEnvironmentVariableParameters(typing_extensions.TypedDict): + """The provided environment variable name is reserved for use by the deployment runtime.""" + + __pydantic_config__ = {"extra": "allow"} # type: ignore + + name: str + + +@dataclass +class ReservedEnvironmentVariable(errors.BadRequestError): + name: typing.Literal["ReservedEnvironmentVariable"] + parameters: ReservedEnvironmentVariableParameters + error_instance_id: str + + class SearchExperimentsPermissionDeniedParameters(typing_extensions.TypedDict): """Could not search the Experiment.""" @@ -822,11 +870,13 @@ class UnsupportedModelSource(errors.BadRequestError): "CreateModelStudioConfigVersionPermissionDenied", "CreateModelStudioPermissionDenied", "CreateModelVersionPermissionDenied", + "DeploymentSourceCannotExportResourceMarkings", + "DeploymentSourceNotEnabledForComputeModules", + "DeploymentSourceNotImportedIntoProject", "DisableLiveDeploymentPermissionDenied", "ExperimentArtifactNotFound", "ExperimentNotFound", "ExperimentSeriesNotFound", - "FunctionAlreadyExists", "GpuTypeNotAvailable", "InferenceFailure", "InferenceInvalidInput", @@ -857,6 +907,7 @@ class UnsupportedModelSource(errors.BadRequestError): "PromoteVersionModelPermissionDenied", "ReplaceLiveDeploymentPermissionDenied", "ReplaceModelFunctionPermissionDenied", + "ReservedEnvironmentVariable", "SearchExperimentsPermissionDenied", "StartLiveDeploymentPermissionDenied", "ThreadCountTooHigh", diff --git a/foundry_sdk/v2/models/live_deployment.py b/foundry_sdk/v2/models/live_deployment.py index 704954f2..f8dcbab8 100644 --- a/foundry_sdk/v2/models/live_deployment.py +++ b/foundry_sdk/v2/models/live_deployment.py @@ -81,9 +81,13 @@ def create( :rtype: models_models.LiveDeployment :raises CreateLiveDeploymentPermissionDenied: Could not create the LiveDeployment. + :raises DeploymentSourceCannotExportResourceMarkings: The source does not have exports enabled for all effective markings on the deployed resource. + :raises DeploymentSourceNotEnabledForComputeModules: The source is not enabled for use by Compute Modules. + :raises DeploymentSourceNotImportedIntoProject: The source must be in, or imported into, the live deployment's project. :raises GpuTypeNotAvailable: The requested GPU type is not available. Use a GPU type that is available in the deployment's resource queue. :raises InvalidGpuCount: The GPU count is invalid. The GPU count must be between 1 and the maximum allowed for the requested GPU type. :raises ModelNotFound: The given Model could not be found. + :raises ReservedEnvironmentVariable: The provided environment variable name is reserved for use by the deployment runtime. :raises ThreadCountTooHigh: The specified thread count exceeds the maximum allowed value. """ @@ -107,9 +111,13 @@ def create( request_timeout=request_timeout, throwable_errors={ "CreateLiveDeploymentPermissionDenied": models_errors.CreateLiveDeploymentPermissionDenied, + "DeploymentSourceCannotExportResourceMarkings": models_errors.DeploymentSourceCannotExportResourceMarkings, + "DeploymentSourceNotEnabledForComputeModules": models_errors.DeploymentSourceNotEnabledForComputeModules, + "DeploymentSourceNotImportedIntoProject": models_errors.DeploymentSourceNotImportedIntoProject, "GpuTypeNotAvailable": models_errors.GpuTypeNotAvailable, "InvalidGpuCount": models_errors.InvalidGpuCount, "ModelNotFound": models_errors.ModelNotFound, + "ReservedEnvironmentVariable": models_errors.ReservedEnvironmentVariable, "ThreadCountTooHigh": models_errors.ThreadCountTooHigh, }, response_mode=_sdk_internal.get("response_mode"), @@ -294,11 +302,15 @@ def replace( :return: Returns the result object. :rtype: models_models.LiveDeployment + :raises DeploymentSourceCannotExportResourceMarkings: The source does not have exports enabled for all effective markings on the deployed resource. + :raises DeploymentSourceNotEnabledForComputeModules: The source is not enabled for use by Compute Modules. + :raises DeploymentSourceNotImportedIntoProject: The source must be in, or imported into, the live deployment's project. :raises GpuTypeNotAvailable: The requested GPU type is not available. Use a GPU type that is available in the deployment's resource queue. :raises InvalidGpuCount: The GPU count is invalid. The GPU count must be between 1 and the maximum allowed for the requested GPU type. :raises LiveDeploymentNotFound: The specified live deployment was not found. :raises LiveDeploymentSourcesCannotBeUpdatedWhileRunning: Sources can only be updated when the live deployment is disabled. :raises ReplaceLiveDeploymentPermissionDenied: Could not replace the LiveDeployment. + :raises ReservedEnvironmentVariable: The provided environment variable name is reserved for use by the deployment runtime. :raises ThreadCountTooHigh: The specified thread count exceeds the maximum allowed value. :raises UnsupportedLiveDeployment: The Live Deployment type is not supported by the API. """ @@ -323,11 +335,15 @@ def replace( response_type=models_models.LiveDeployment, request_timeout=request_timeout, throwable_errors={ + "DeploymentSourceCannotExportResourceMarkings": models_errors.DeploymentSourceCannotExportResourceMarkings, + "DeploymentSourceNotEnabledForComputeModules": models_errors.DeploymentSourceNotEnabledForComputeModules, + "DeploymentSourceNotImportedIntoProject": models_errors.DeploymentSourceNotImportedIntoProject, "GpuTypeNotAvailable": models_errors.GpuTypeNotAvailable, "InvalidGpuCount": models_errors.InvalidGpuCount, "LiveDeploymentNotFound": models_errors.LiveDeploymentNotFound, "LiveDeploymentSourcesCannotBeUpdatedWhileRunning": models_errors.LiveDeploymentSourcesCannotBeUpdatedWhileRunning, "ReplaceLiveDeploymentPermissionDenied": models_errors.ReplaceLiveDeploymentPermissionDenied, + "ReservedEnvironmentVariable": models_errors.ReservedEnvironmentVariable, "ThreadCountTooHigh": models_errors.ThreadCountTooHigh, "UnsupportedLiveDeployment": models_errors.UnsupportedLiveDeployment, }, @@ -550,9 +566,13 @@ def create( :rtype: typing.Awaitable[models_models.LiveDeployment] :raises CreateLiveDeploymentPermissionDenied: Could not create the LiveDeployment. + :raises DeploymentSourceCannotExportResourceMarkings: The source does not have exports enabled for all effective markings on the deployed resource. + :raises DeploymentSourceNotEnabledForComputeModules: The source is not enabled for use by Compute Modules. + :raises DeploymentSourceNotImportedIntoProject: The source must be in, or imported into, the live deployment's project. :raises GpuTypeNotAvailable: The requested GPU type is not available. Use a GPU type that is available in the deployment's resource queue. :raises InvalidGpuCount: The GPU count is invalid. The GPU count must be between 1 and the maximum allowed for the requested GPU type. :raises ModelNotFound: The given Model could not be found. + :raises ReservedEnvironmentVariable: The provided environment variable name is reserved for use by the deployment runtime. :raises ThreadCountTooHigh: The specified thread count exceeds the maximum allowed value. """ @@ -576,9 +596,13 @@ def create( request_timeout=request_timeout, throwable_errors={ "CreateLiveDeploymentPermissionDenied": models_errors.CreateLiveDeploymentPermissionDenied, + "DeploymentSourceCannotExportResourceMarkings": models_errors.DeploymentSourceCannotExportResourceMarkings, + "DeploymentSourceNotEnabledForComputeModules": models_errors.DeploymentSourceNotEnabledForComputeModules, + "DeploymentSourceNotImportedIntoProject": models_errors.DeploymentSourceNotImportedIntoProject, "GpuTypeNotAvailable": models_errors.GpuTypeNotAvailable, "InvalidGpuCount": models_errors.InvalidGpuCount, "ModelNotFound": models_errors.ModelNotFound, + "ReservedEnvironmentVariable": models_errors.ReservedEnvironmentVariable, "ThreadCountTooHigh": models_errors.ThreadCountTooHigh, }, response_mode=_sdk_internal.get("response_mode"), @@ -763,11 +787,15 @@ def replace( :return: Returns the result object. :rtype: typing.Awaitable[models_models.LiveDeployment] + :raises DeploymentSourceCannotExportResourceMarkings: The source does not have exports enabled for all effective markings on the deployed resource. + :raises DeploymentSourceNotEnabledForComputeModules: The source is not enabled for use by Compute Modules. + :raises DeploymentSourceNotImportedIntoProject: The source must be in, or imported into, the live deployment's project. :raises GpuTypeNotAvailable: The requested GPU type is not available. Use a GPU type that is available in the deployment's resource queue. :raises InvalidGpuCount: The GPU count is invalid. The GPU count must be between 1 and the maximum allowed for the requested GPU type. :raises LiveDeploymentNotFound: The specified live deployment was not found. :raises LiveDeploymentSourcesCannotBeUpdatedWhileRunning: Sources can only be updated when the live deployment is disabled. :raises ReplaceLiveDeploymentPermissionDenied: Could not replace the LiveDeployment. + :raises ReservedEnvironmentVariable: The provided environment variable name is reserved for use by the deployment runtime. :raises ThreadCountTooHigh: The specified thread count exceeds the maximum allowed value. :raises UnsupportedLiveDeployment: The Live Deployment type is not supported by the API. """ @@ -792,11 +820,15 @@ def replace( response_type=models_models.LiveDeployment, request_timeout=request_timeout, throwable_errors={ + "DeploymentSourceCannotExportResourceMarkings": models_errors.DeploymentSourceCannotExportResourceMarkings, + "DeploymentSourceNotEnabledForComputeModules": models_errors.DeploymentSourceNotEnabledForComputeModules, + "DeploymentSourceNotImportedIntoProject": models_errors.DeploymentSourceNotImportedIntoProject, "GpuTypeNotAvailable": models_errors.GpuTypeNotAvailable, "InvalidGpuCount": models_errors.InvalidGpuCount, "LiveDeploymentNotFound": models_errors.LiveDeploymentNotFound, "LiveDeploymentSourcesCannotBeUpdatedWhileRunning": models_errors.LiveDeploymentSourcesCannotBeUpdatedWhileRunning, "ReplaceLiveDeploymentPermissionDenied": models_errors.ReplaceLiveDeploymentPermissionDenied, + "ReservedEnvironmentVariable": models_errors.ReservedEnvironmentVariable, "ThreadCountTooHigh": models_errors.ThreadCountTooHigh, "UnsupportedLiveDeployment": models_errors.UnsupportedLiveDeployment, }, diff --git a/foundry_sdk/v2/models/model_function.py b/foundry_sdk/v2/models/model_function.py index fdb45914..75856a9a 100644 --- a/foundry_sdk/v2/models/model_function.py +++ b/foundry_sdk/v2/models/model_function.py @@ -71,7 +71,8 @@ def create( _sdk_internal: core.SdkInternal = {}, ) -> models_models.ModelFunction: """ - Creates a function for the model. + Creates a function for the model. If a function already exists for the model, the existing function is updated. + :param model_rid: :type model_rid: ModelRid :param api_name: @@ -90,7 +91,6 @@ def create( :rtype: models_models.ModelFunction :raises CreateModelFunctionPermissionDenied: Could not create the ModelFunction. - :raises FunctionAlreadyExists: A function already exists for this model. :raises InvalidFunctionApiName: The provided API name for the function is invalid. :raises ModelApiTypeUnsupportedForFunction: The model API contains a data type that is not supported for Ontology function creation. :raises ModelNotFound: The given Model could not be found. @@ -122,7 +122,6 @@ def create( request_timeout=request_timeout, throwable_errors={ "CreateModelFunctionPermissionDenied": models_errors.CreateModelFunctionPermissionDenied, - "FunctionAlreadyExists": models_errors.FunctionAlreadyExists, "InvalidFunctionApiName": models_errors.InvalidFunctionApiName, "ModelApiTypeUnsupportedForFunction": models_errors.ModelApiTypeUnsupportedForFunction, "ModelNotFound": models_errors.ModelNotFound, @@ -325,7 +324,8 @@ def create( _sdk_internal: core.SdkInternal = {}, ) -> typing.Awaitable[models_models.ModelFunction]: """ - Creates a function for the model. + Creates a function for the model. If a function already exists for the model, the existing function is updated. + :param model_rid: :type model_rid: ModelRid :param api_name: @@ -344,7 +344,6 @@ def create( :rtype: typing.Awaitable[models_models.ModelFunction] :raises CreateModelFunctionPermissionDenied: Could not create the ModelFunction. - :raises FunctionAlreadyExists: A function already exists for this model. :raises InvalidFunctionApiName: The provided API name for the function is invalid. :raises ModelApiTypeUnsupportedForFunction: The model API contains a data type that is not supported for Ontology function creation. :raises ModelNotFound: The given Model could not be found. @@ -376,7 +375,6 @@ def create( request_timeout=request_timeout, throwable_errors={ "CreateModelFunctionPermissionDenied": models_errors.CreateModelFunctionPermissionDenied, - "FunctionAlreadyExists": models_errors.FunctionAlreadyExists, "InvalidFunctionApiName": models_errors.InvalidFunctionApiName, "ModelApiTypeUnsupportedForFunction": models_errors.ModelApiTypeUnsupportedForFunction, "ModelNotFound": models_errors.ModelNotFound, diff --git a/foundry_sdk/v2/ontologies/linked_object.py b/foundry_sdk/v2/ontologies/linked_object.py index 1cf2af51..e31b7f3d 100644 --- a/foundry_sdk/v2/ontologies/linked_object.py +++ b/foundry_sdk/v2/ontologies/linked_object.py @@ -66,6 +66,7 @@ def get_linked_object( *, branch: typing.Optional[core_models.FoundryBranch] = None, exclude_rid: typing.Optional[bool] = None, + load_ontology_defined_derived_properties: typing.Optional[bool] = None, sdk_package_rid: typing.Optional[ontologies_models.SdkPackageRid] = None, sdk_version: typing.Optional[ontologies_models.SdkVersion] = None, select: typing.Optional[typing.List[ontologies_models.SelectedPropertyApiName]] = None, @@ -91,6 +92,8 @@ def get_linked_object( :type branch: Optional[FoundryBranch] :param exclude_rid: A flag to exclude the retrieval of the `__rid` property. Setting this to true may improve performance of this endpoint for object types in OSV2. :type exclude_rid: Optional[bool] + :param load_ontology_defined_derived_properties: A flag to load ontology-defined derived properties (OTDPs) in the response. Defaults to true. Only applies when no explicit property selection is provided; when specific properties are selected, this flag has no effect and the selected properties are always returned. This feature is experimental and not yet generally available. + :type load_ontology_defined_derived_properties: Optional[bool] :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. @@ -110,6 +113,7 @@ def get_linked_object( query_params={ "branch": branch, "excludeRid": exclude_rid, + "loadOntologyDefinedDerivedProperties": load_ontology_defined_derived_properties, "sdkPackageRid": sdk_package_rid, "sdkVersion": sdk_version, "select": select, @@ -144,6 +148,7 @@ def list_linked_objects( *, branch: typing.Optional[core_models.FoundryBranch] = None, exclude_rid: typing.Optional[bool] = None, + load_ontology_defined_derived_properties: typing.Optional[bool] = None, order_by: typing.Optional[ontologies_models.OrderBy] = None, page_size: typing.Optional[core_models.PageSize] = None, page_token: typing.Optional[core_models.PageToken] = None, @@ -181,6 +186,8 @@ def list_linked_objects( :type branch: Optional[FoundryBranch] :param exclude_rid: A flag to exclude the retrieval of the `__rid` property. Setting this to true may improve performance of this endpoint for object types in OSV2. :type exclude_rid: Optional[bool] + :param load_ontology_defined_derived_properties: A flag to load ontology-defined derived properties (OTDPs) in the response. Defaults to true. Only applies when no explicit property selection is provided; when specific properties are selected, this flag has no effect and the selected properties are always returned. This feature is experimental and not yet generally available. + :type load_ontology_defined_derived_properties: Optional[bool] :param order_by: :type order_by: Optional[OrderBy] :param page_size: The desired size of the page to be returned. Defaults to 1,000. See [page sizes](https://palantir.com/docs/foundry/api/general/overview/paging/#page-sizes) for details. @@ -208,6 +215,7 @@ def list_linked_objects( query_params={ "branch": branch, "excludeRid": exclude_rid, + "loadOntologyDefinedDerivedProperties": load_ontology_defined_derived_properties, "orderBy": order_by, "pageSize": page_size, "pageToken": page_token, @@ -300,6 +308,7 @@ def get_linked_object( *, branch: typing.Optional[core_models.FoundryBranch] = None, exclude_rid: typing.Optional[bool] = None, + load_ontology_defined_derived_properties: typing.Optional[bool] = None, sdk_package_rid: typing.Optional[ontologies_models.SdkPackageRid] = None, sdk_version: typing.Optional[ontologies_models.SdkVersion] = None, select: typing.Optional[typing.List[ontologies_models.SelectedPropertyApiName]] = None, @@ -325,6 +334,8 @@ def get_linked_object( :type branch: Optional[FoundryBranch] :param exclude_rid: A flag to exclude the retrieval of the `__rid` property. Setting this to true may improve performance of this endpoint for object types in OSV2. :type exclude_rid: Optional[bool] + :param load_ontology_defined_derived_properties: A flag to load ontology-defined derived properties (OTDPs) in the response. Defaults to true. Only applies when no explicit property selection is provided; when specific properties are selected, this flag has no effect and the selected properties are always returned. This feature is experimental and not yet generally available. + :type load_ontology_defined_derived_properties: Optional[bool] :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. @@ -344,6 +355,7 @@ def get_linked_object( query_params={ "branch": branch, "excludeRid": exclude_rid, + "loadOntologyDefinedDerivedProperties": load_ontology_defined_derived_properties, "sdkPackageRid": sdk_package_rid, "sdkVersion": sdk_version, "select": select, @@ -378,6 +390,7 @@ def list_linked_objects( *, branch: typing.Optional[core_models.FoundryBranch] = None, exclude_rid: typing.Optional[bool] = None, + load_ontology_defined_derived_properties: typing.Optional[bool] = None, order_by: typing.Optional[ontologies_models.OrderBy] = None, page_size: typing.Optional[core_models.PageSize] = None, page_token: typing.Optional[core_models.PageToken] = None, @@ -415,6 +428,8 @@ def list_linked_objects( :type branch: Optional[FoundryBranch] :param exclude_rid: A flag to exclude the retrieval of the `__rid` property. Setting this to true may improve performance of this endpoint for object types in OSV2. :type exclude_rid: Optional[bool] + :param load_ontology_defined_derived_properties: A flag to load ontology-defined derived properties (OTDPs) in the response. Defaults to true. Only applies when no explicit property selection is provided; when specific properties are selected, this flag has no effect and the selected properties are always returned. This feature is experimental and not yet generally available. + :type load_ontology_defined_derived_properties: Optional[bool] :param order_by: :type order_by: Optional[OrderBy] :param page_size: The desired size of the page to be returned. Defaults to 1,000. See [page sizes](https://palantir.com/docs/foundry/api/general/overview/paging/#page-sizes) for details. @@ -442,6 +457,7 @@ def list_linked_objects( query_params={ "branch": branch, "excludeRid": exclude_rid, + "loadOntologyDefinedDerivedProperties": load_ontology_defined_derived_properties, "orderBy": order_by, "pageSize": page_size, "pageToken": page_token, diff --git a/foundry_sdk/v2/ontologies/models.py b/foundry_sdk/v2/ontologies/models.py index 0b865d1b..bd5d1b2f 100644 --- a/foundry_sdk/v2/ontologies/models.py +++ b/foundry_sdk/v2/ontologies/models.py @@ -2604,9 +2604,8 @@ class ListOntologyValueTypesResponse(core.ModelBase): class ListOutgoingInterfaceLinkTypesResponse(core.ModelBase): """ListOutgoingInterfaceLinkTypesResponse""" - next_page_token: typing.Optional[core_models.PageToken] = pydantic.Field(alias=str("nextPageToken"), default=None) # type: ignore[literal-required] data: typing.List[InterfaceLinkType] - """The list of interface link types in the current page.""" + """The list of interface link types.""" class ListOutgoingLinkTypesResponseV2(core.ModelBase): @@ -3241,6 +3240,15 @@ class NowDatetimeValue(core.ModelBase): type: typing.Literal["now"] = "now" +NullabilityPropertyTypeDataConstraint: typing_extensions.TypeAlias = typing.Literal[ + "NULLABLE", "NOT_NULLABLE" +] +""" +Indicates whether values in mapped datasources and values created through actions may be null. Null values may +still be observed for objects that are not present in the datasource mapping. +""" + + class NumberFormatAffix(core.ModelBase): """ Attach arbitrary text before and/or after the formatted number. @@ -4792,6 +4800,12 @@ class PropertyTimestampFormattingRule(core.ModelBase): """PropertyTypeApiName""" +class PropertyTypeDataConstraints(core.ModelBase): + """Data constraints for a property type, including nullability information.""" + + nullability: typing.Optional[NullabilityPropertyTypeDataConstraint] = None + + PropertyTypeMappingInfo: typing_extensions.TypeAlias = typing_extensions.Annotated[ typing.Union["StructPropertyMapping", "ColumnPropertyMapping", "EditOnlyPropertyMapping"], pydantic.Field(discriminator="type"), @@ -4852,6 +4866,7 @@ class PropertyV2(core.ModelBase): value_type_api_name: typing.Optional[ValueTypeApiName] = pydantic.Field(alias=str("valueTypeApiName"), default=None) # type: ignore[literal-required] value_formatting: typing.Optional[PropertyValueFormattingRule] = pydantic.Field(alias=str("valueFormatting"), default=None) # type: ignore[literal-required] type_classes: typing.Optional[typing.List[TypeClass]] = pydantic.Field(alias=str("typeClasses"), default=None) # type: ignore[literal-required] + data_constraints: typing.Optional[PropertyTypeDataConstraints] = pydantic.Field(alias=str("dataConstraints"), default=None) # type: ignore[literal-required] PropertyValue: typing_extensions.TypeAlias = typing.Any @@ -5540,6 +5555,15 @@ class SearchObjectsRequestV2(core.ModelBase): """ default_load_level: typing.Optional[PropertyLoadLevel] = pydantic.Field(alias=str("defaultLoadLevel"), default=None) # type: ignore[literal-required] + load_ontology_defined_derived_properties: typing.Optional[bool] = pydantic.Field(alias=str("loadOntologyDefinedDerivedProperties"), default=None) # type: ignore[literal-required] + """ + A flag to load ontology-defined derived properties (OTDPs) in the response. Defaults to true. + Only applies when no explicit property selection is provided; when specific properties are + selected, this flag has no effect and the selected properties are always returned. + + This feature is experimental and not yet generally available. + """ + exclude_rid: typing.Optional[bool] = pydantic.Field(alias=str("excludeRid"), default=None) # type: ignore[literal-required] """ A flag to exclude the retrieval of the `__rid` property. @@ -7033,6 +7057,7 @@ class WithinPolygonQuery(core.ModelBase): "NoLoadLevel", "NotQueryV2", "NowDatetimeValue", + "NullabilityPropertyTypeDataConstraint", "NumberFormatAffix", "NumberFormatCurrency", "NumberFormatCurrencyStyle", @@ -7182,6 +7207,7 @@ class WithinPolygonQuery(core.ModelBase): "PropertySecurity", "PropertyTimestampFormattingRule", "PropertyTypeApiName", + "PropertyTypeDataConstraints", "PropertyTypeMappingInfo", "PropertyTypeReference", "PropertyTypeReferenceOrStringConstant", diff --git a/foundry_sdk/v2/ontologies/ontology_interface.py b/foundry_sdk/v2/ontologies/ontology_interface.py index b4299ae1..11238088 100644 --- a/foundry_sdk/v2/ontologies/ontology_interface.py +++ b/foundry_sdk/v2/ontologies/ontology_interface.py @@ -320,6 +320,7 @@ def list_interface_linked_objects( *, branch: typing.Optional[core_models.FoundryBranch] = None, exclude_rid: typing.Optional[bool] = None, + load_ontology_defined_derived_properties: typing.Optional[bool] = None, order_by: typing.Optional[ontologies_models.OrderBy] = None, page_size: typing.Optional[core_models.PageSize] = None, page_token: typing.Optional[core_models.PageToken] = None, @@ -358,6 +359,8 @@ def list_interface_linked_objects( :type branch: Optional[FoundryBranch] :param exclude_rid: A flag to exclude the retrieval of the `__rid` property. Setting this to true may improve performance of this endpoint for object types in OSV2. :type exclude_rid: Optional[bool] + :param load_ontology_defined_derived_properties: A flag to load ontology-defined derived properties (OTDPs) in the response. Defaults to true. Only applies when no explicit property selection is provided; when specific properties are selected, this flag has no effect and the selected properties are always returned. This feature is experimental and not yet generally available. + :type load_ontology_defined_derived_properties: Optional[bool] :param order_by: :type order_by: Optional[OrderBy] :param page_size: The desired size of the page to be returned. Defaults to 1,000. See [page sizes](https://palantir.com/docs/foundry/api/general/overview/paging/#page-sizes) for details. @@ -383,6 +386,7 @@ def list_interface_linked_objects( query_params={ "branch": branch, "excludeRid": exclude_rid, + "loadOntologyDefinedDerivedProperties": load_ontology_defined_derived_properties, "orderBy": order_by, "pageSize": page_size, "pageToken": page_token, @@ -1055,6 +1059,7 @@ def list_interface_linked_objects( *, branch: typing.Optional[core_models.FoundryBranch] = None, exclude_rid: typing.Optional[bool] = None, + load_ontology_defined_derived_properties: typing.Optional[bool] = None, order_by: typing.Optional[ontologies_models.OrderBy] = None, page_size: typing.Optional[core_models.PageSize] = None, page_token: typing.Optional[core_models.PageToken] = None, @@ -1093,6 +1098,8 @@ def list_interface_linked_objects( :type branch: Optional[FoundryBranch] :param exclude_rid: A flag to exclude the retrieval of the `__rid` property. Setting this to true may improve performance of this endpoint for object types in OSV2. :type exclude_rid: Optional[bool] + :param load_ontology_defined_derived_properties: A flag to load ontology-defined derived properties (OTDPs) in the response. Defaults to true. Only applies when no explicit property selection is provided; when specific properties are selected, this flag has no effect and the selected properties are always returned. This feature is experimental and not yet generally available. + :type load_ontology_defined_derived_properties: Optional[bool] :param order_by: :type order_by: Optional[OrderBy] :param page_size: The desired size of the page to be returned. Defaults to 1,000. See [page sizes](https://palantir.com/docs/foundry/api/general/overview/paging/#page-sizes) for details. @@ -1118,6 +1125,7 @@ def list_interface_linked_objects( query_params={ "branch": branch, "excludeRid": exclude_rid, + "loadOntologyDefinedDerivedProperties": load_ontology_defined_derived_properties, "orderBy": order_by, "pageSize": page_size, "pageToken": page_token, diff --git a/foundry_sdk/v2/ontologies/ontology_object.py b/foundry_sdk/v2/ontologies/ontology_object.py index c10161b0..df2f1033 100644 --- a/foundry_sdk/v2/ontologies/ontology_object.py +++ b/foundry_sdk/v2/ontologies/ontology_object.py @@ -200,6 +200,7 @@ def get( *, branch: typing.Optional[core_models.FoundryBranch] = None, exclude_rid: typing.Optional[bool] = None, + load_ontology_defined_derived_properties: typing.Optional[bool] = None, sdk_package_rid: typing.Optional[ontologies_models.SdkPackageRid] = None, sdk_version: typing.Optional[ontologies_models.SdkVersion] = None, select: typing.Optional[typing.List[ontologies_models.SelectedPropertyApiName]] = None, @@ -219,6 +220,8 @@ def get( :type branch: Optional[FoundryBranch] :param exclude_rid: A flag to exclude the retrieval of the `__rid` property. Setting this to true may improve performance of this endpoint for object types in OSV2. :type exclude_rid: Optional[bool] + :param load_ontology_defined_derived_properties: A flag to load ontology-defined derived properties (OTDPs) in the response. Defaults to true. Only applies when no explicit property selection is provided; when specific properties are selected, this flag has no effect and the selected properties are always returned. This feature is experimental and not yet generally available. + :type load_ontology_defined_derived_properties: Optional[bool] :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. @@ -238,6 +241,7 @@ def get( query_params={ "branch": branch, "excludeRid": exclude_rid, + "loadOntologyDefinedDerivedProperties": load_ontology_defined_derived_properties, "sdkPackageRid": sdk_package_rid, "sdkVersion": sdk_version, "select": select, @@ -268,6 +272,7 @@ def list( *, branch: typing.Optional[core_models.FoundryBranch] = None, exclude_rid: typing.Optional[bool] = None, + load_ontology_defined_derived_properties: typing.Optional[bool] = None, order_by: typing.Optional[ontologies_models.OrderBy] = None, page_size: typing.Optional[core_models.PageSize] = None, page_token: typing.Optional[core_models.PageToken] = None, @@ -301,6 +306,8 @@ def list( :type branch: Optional[FoundryBranch] :param exclude_rid: A flag to exclude the retrieval of the `__rid` property. Setting this to true may improve performance of this endpoint for object types in OSV2. :type exclude_rid: Optional[bool] + :param load_ontology_defined_derived_properties: A flag to load ontology-defined derived properties (OTDPs) in the response. Defaults to true. Only applies when no explicit property selection is provided; when specific properties are selected, this flag has no effect and the selected properties are always returned. This feature is experimental and not yet generally available. + :type load_ontology_defined_derived_properties: Optional[bool] :param order_by: :type order_by: Optional[OrderBy] :param page_size: The desired size of the page to be returned. Defaults to 1,000. See [page sizes](https://palantir.com/docs/foundry/api/general/overview/paging/#page-sizes) for details. @@ -328,6 +335,7 @@ def list( query_params={ "branch": branch, "excludeRid": exclude_rid, + "loadOntologyDefinedDerivedProperties": load_ontology_defined_derived_properties, "orderBy": order_by, "pageSize": page_size, "pageToken": page_token, @@ -364,6 +372,7 @@ def search( default_load_level: typing.Optional[ontologies_models.PropertyLoadLevel] = None, exclude_rid: typing.Optional[bool] = None, execute_in_memory_only: typing.Optional[bool] = None, + load_ontology_defined_derived_properties: typing.Optional[bool] = None, order_by: typing.Optional[ontologies_models.SearchOrderByV2] = None, page_size: typing.Optional[core_models.PageSize] = None, page_token: typing.Optional[core_models.PageToken] = None, @@ -422,6 +431,8 @@ def search( :type exclude_rid: Optional[bool] :param execute_in_memory_only: If true, the request fails with an error when it cannot be computed in-memory. Use this to opt into fast failure on requests that would otherwise require heavier computation. Defaults to false. :type execute_in_memory_only: Optional[bool] + :param load_ontology_defined_derived_properties: A flag to load ontology-defined derived properties (OTDPs) in the response. Defaults to true. Only applies when no explicit property selection is provided; when specific properties are selected, this flag has no effect and the selected properties are always returned. This feature is experimental and not yet generally available. + :type load_ontology_defined_derived_properties: Optional[bool] :param order_by: :type order_by: Optional[SearchOrderByV2] :param page_size: @@ -472,6 +483,7 @@ def search( select=select, select_v2=select_v2, default_load_level=default_load_level, + load_ontology_defined_derived_properties=load_ontology_defined_derived_properties, exclude_rid=exclude_rid, snapshot=snapshot, reference_signing_options=reference_signing_options, @@ -690,6 +702,7 @@ def get( *, branch: typing.Optional[core_models.FoundryBranch] = None, exclude_rid: typing.Optional[bool] = None, + load_ontology_defined_derived_properties: typing.Optional[bool] = None, sdk_package_rid: typing.Optional[ontologies_models.SdkPackageRid] = None, sdk_version: typing.Optional[ontologies_models.SdkVersion] = None, select: typing.Optional[typing.List[ontologies_models.SelectedPropertyApiName]] = None, @@ -709,6 +722,8 @@ def get( :type branch: Optional[FoundryBranch] :param exclude_rid: A flag to exclude the retrieval of the `__rid` property. Setting this to true may improve performance of this endpoint for object types in OSV2. :type exclude_rid: Optional[bool] + :param load_ontology_defined_derived_properties: A flag to load ontology-defined derived properties (OTDPs) in the response. Defaults to true. Only applies when no explicit property selection is provided; when specific properties are selected, this flag has no effect and the selected properties are always returned. This feature is experimental and not yet generally available. + :type load_ontology_defined_derived_properties: Optional[bool] :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. @@ -728,6 +743,7 @@ def get( query_params={ "branch": branch, "excludeRid": exclude_rid, + "loadOntologyDefinedDerivedProperties": load_ontology_defined_derived_properties, "sdkPackageRid": sdk_package_rid, "sdkVersion": sdk_version, "select": select, @@ -758,6 +774,7 @@ def list( *, branch: typing.Optional[core_models.FoundryBranch] = None, exclude_rid: typing.Optional[bool] = None, + load_ontology_defined_derived_properties: typing.Optional[bool] = None, order_by: typing.Optional[ontologies_models.OrderBy] = None, page_size: typing.Optional[core_models.PageSize] = None, page_token: typing.Optional[core_models.PageToken] = None, @@ -791,6 +808,8 @@ def list( :type branch: Optional[FoundryBranch] :param exclude_rid: A flag to exclude the retrieval of the `__rid` property. Setting this to true may improve performance of this endpoint for object types in OSV2. :type exclude_rid: Optional[bool] + :param load_ontology_defined_derived_properties: A flag to load ontology-defined derived properties (OTDPs) in the response. Defaults to true. Only applies when no explicit property selection is provided; when specific properties are selected, this flag has no effect and the selected properties are always returned. This feature is experimental and not yet generally available. + :type load_ontology_defined_derived_properties: Optional[bool] :param order_by: :type order_by: Optional[OrderBy] :param page_size: The desired size of the page to be returned. Defaults to 1,000. See [page sizes](https://palantir.com/docs/foundry/api/general/overview/paging/#page-sizes) for details. @@ -818,6 +837,7 @@ def list( query_params={ "branch": branch, "excludeRid": exclude_rid, + "loadOntologyDefinedDerivedProperties": load_ontology_defined_derived_properties, "orderBy": order_by, "pageSize": page_size, "pageToken": page_token, @@ -854,6 +874,7 @@ def search( default_load_level: typing.Optional[ontologies_models.PropertyLoadLevel] = None, exclude_rid: typing.Optional[bool] = None, execute_in_memory_only: typing.Optional[bool] = None, + load_ontology_defined_derived_properties: typing.Optional[bool] = None, order_by: typing.Optional[ontologies_models.SearchOrderByV2] = None, page_size: typing.Optional[core_models.PageSize] = None, page_token: typing.Optional[core_models.PageToken] = None, @@ -912,6 +933,8 @@ def search( :type exclude_rid: Optional[bool] :param execute_in_memory_only: If true, the request fails with an error when it cannot be computed in-memory. Use this to opt into fast failure on requests that would otherwise require heavier computation. Defaults to false. :type execute_in_memory_only: Optional[bool] + :param load_ontology_defined_derived_properties: A flag to load ontology-defined derived properties (OTDPs) in the response. Defaults to true. Only applies when no explicit property selection is provided; when specific properties are selected, this flag has no effect and the selected properties are always returned. This feature is experimental and not yet generally available. + :type load_ontology_defined_derived_properties: Optional[bool] :param order_by: :type order_by: Optional[SearchOrderByV2] :param page_size: @@ -962,6 +985,7 @@ def search( select=select, select_v2=select_v2, default_load_level=default_load_level, + load_ontology_defined_derived_properties=load_ontology_defined_derived_properties, exclude_rid=exclude_rid, snapshot=snapshot, reference_signing_options=reference_signing_options, diff --git a/foundry_sdk/v2/ontologies/query.py b/foundry_sdk/v2/ontologies/query.py index 2c7e5c16..c38a97fd 100644 --- a/foundry_sdk/v2/ontologies/query.py +++ b/foundry_sdk/v2/ontologies/query.py @@ -104,7 +104,7 @@ def execute( :type trace_state: Optional[TraceState] :param transaction_id: The ID of an Ontology transaction to read from. Transactions are an experimental feature and all workflows may not be supported. :type transaction_id: Optional[OntologyTransactionId] - :param version: The version of the Query to execute. If not specified, the latest version is used. The latest version is the one that was most recently published, including pre-release versions. When used with `branch`, the specified version must exist on the branch. + :param version: The semantic version range of the Query to execute. Function execution selects a satisfying version from this range. If not specified, the version most recently published is used. :type version: Optional[FunctionVersion] :param request_timeout: timeout setting for this request in seconds. :type request_timeout: Optional[int] @@ -240,7 +240,7 @@ def execute( :type trace_state: Optional[TraceState] :param transaction_id: The ID of an Ontology transaction to read from. Transactions are an experimental feature and all workflows may not be supported. :type transaction_id: Optional[OntologyTransactionId] - :param version: The version of the Query to execute. If not specified, the latest version is used. The latest version is the one that was most recently published, including pre-release versions. When used with `branch`, the specified version must exist on the branch. + :param version: The semantic version range of the Query to execute. Function execution selects a satisfying version from this range. If not specified, the version most recently published is used. :type version: Optional[FunctionVersion] :param request_timeout: timeout setting for this request in seconds. :type request_timeout: Optional[int] diff --git a/foundry_sdk/v2/ontologies/query_type.py b/foundry_sdk/v2/ontologies/query_type.py index a2196b2f..0fb8f407 100644 --- a/foundry_sdk/v2/ontologies/query_type.py +++ b/foundry_sdk/v2/ontologies/query_type.py @@ -62,6 +62,7 @@ def get( ontology: ontologies_models.OntologyIdentifier, query_api_name: ontologies_models.QueryApiName, *, + branch: typing.Optional[core_models.FoundryBranch] = None, sdk_package_rid: typing.Optional[ontologies_models.SdkPackageRid] = None, sdk_version: typing.Optional[ontologies_models.SdkVersion] = None, version: typing.Optional[ontologies_models.FunctionVersion] = None, @@ -75,6 +76,8 @@ def get( :type ontology: OntologyIdentifier :param query_api_name: The API name of the query type. To find the API name, use the **List query types** endpoint or check the **Ontology Manager**. :type query_api_name: QueryApiName + :param branch: The Foundry branch to load Query metadata from. 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. @@ -92,6 +95,7 @@ def get( method="GET", resource_path="/v2/ontologies/{ontology}/queryTypes/{queryApiName}", query_params={ + "branch": branch, "sdkPackageRid": sdk_package_rid, "sdkVersion": sdk_version, "version": version, @@ -295,6 +299,7 @@ def get( ontology: ontologies_models.OntologyIdentifier, query_api_name: ontologies_models.QueryApiName, *, + branch: typing.Optional[core_models.FoundryBranch] = None, sdk_package_rid: typing.Optional[ontologies_models.SdkPackageRid] = None, sdk_version: typing.Optional[ontologies_models.SdkVersion] = None, version: typing.Optional[ontologies_models.FunctionVersion] = None, @@ -308,6 +313,8 @@ def get( :type ontology: OntologyIdentifier :param query_api_name: The API name of the query type. To find the API name, use the **List query types** endpoint or check the **Ontology Manager**. :type query_api_name: QueryApiName + :param branch: The Foundry branch to load Query metadata from. 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. @@ -325,6 +332,7 @@ def get( method="GET", resource_path="/v2/ontologies/{ontology}/queryTypes/{queryApiName}", query_params={ + "branch": branch, "sdkPackageRid": sdk_package_rid, "sdkVersion": sdk_version, "version": version,