cognite-toolkit 0.5.97__py3-none-any.whl → 0.7.34__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- cognite_toolkit/_cdf.py +24 -26
- cognite_toolkit/_cdf_tk/apps/__init__.py +10 -2
- cognite_toolkit/_cdf_tk/apps/_core_app.py +21 -7
- cognite_toolkit/_cdf_tk/apps/_data_app.py +24 -0
- cognite_toolkit/_cdf_tk/apps/_dev_app.py +86 -0
- cognite_toolkit/_cdf_tk/apps/_download_app.py +1146 -0
- cognite_toolkit/_cdf_tk/apps/_dump_app.py +302 -92
- cognite_toolkit/_cdf_tk/apps/_import_app.py +41 -0
- cognite_toolkit/_cdf_tk/apps/_landing_app.py +18 -4
- cognite_toolkit/_cdf_tk/apps/_migrate_app.py +890 -34
- cognite_toolkit/_cdf_tk/apps/_modules_app.py +24 -0
- cognite_toolkit/_cdf_tk/apps/_profile_app.py +13 -3
- cognite_toolkit/_cdf_tk/apps/_purge.py +188 -27
- cognite_toolkit/_cdf_tk/apps/_run.py +11 -0
- cognite_toolkit/_cdf_tk/apps/_upload_app.py +107 -0
- cognite_toolkit/_cdf_tk/builders/__init__.py +2 -2
- cognite_toolkit/_cdf_tk/builders/_base.py +35 -49
- cognite_toolkit/_cdf_tk/builders/_datamodels.py +4 -4
- cognite_toolkit/_cdf_tk/builders/_file.py +5 -5
- cognite_toolkit/_cdf_tk/builders/_function.py +7 -7
- cognite_toolkit/_cdf_tk/builders/_location.py +3 -3
- cognite_toolkit/_cdf_tk/builders/_raw.py +9 -9
- cognite_toolkit/_cdf_tk/builders/_streamlit.py +4 -4
- cognite_toolkit/_cdf_tk/builders/_transformation.py +4 -4
- cognite_toolkit/_cdf_tk/cdf_toml.py +33 -10
- cognite_toolkit/_cdf_tk/client/__init__.py +2 -1
- cognite_toolkit/_cdf_tk/client/_toolkit_client.py +36 -58
- cognite_toolkit/_cdf_tk/client/api/canvas.py +2 -1
- cognite_toolkit/_cdf_tk/client/api/charts.py +125 -0
- cognite_toolkit/_cdf_tk/client/api/extended_data_modeling.py +0 -13
- cognite_toolkit/_cdf_tk/client/api/extended_files.py +68 -2
- cognite_toolkit/_cdf_tk/client/api/extended_functions.py +80 -0
- cognite_toolkit/_cdf_tk/client/api/extended_timeseries.py +1 -1
- cognite_toolkit/_cdf_tk/client/api/infield.py +254 -0
- cognite_toolkit/_cdf_tk/client/api/location_filters.py +19 -1
- cognite_toolkit/_cdf_tk/client/api/lookup.py +176 -71
- cognite_toolkit/_cdf_tk/client/api/migration.py +375 -19
- cognite_toolkit/_cdf_tk/client/api/project.py +24 -0
- cognite_toolkit/_cdf_tk/client/api/streams.py +89 -0
- cognite_toolkit/_cdf_tk/client/api/three_d.py +131 -0
- cognite_toolkit/_cdf_tk/client/config.py +120 -0
- cognite_toolkit/_cdf_tk/client/data_classes/api_classes.py +17 -0
- cognite_toolkit/_cdf_tk/client/data_classes/base.py +71 -0
- cognite_toolkit/_cdf_tk/client/data_classes/canvas.py +86 -8
- cognite_toolkit/_cdf_tk/client/data_classes/charts.py +114 -0
- cognite_toolkit/_cdf_tk/client/data_classes/charts_data.py +184 -0
- cognite_toolkit/_cdf_tk/client/data_classes/infield.py +116 -0
- cognite_toolkit/_cdf_tk/client/data_classes/instance_api.py +162 -0
- cognite_toolkit/_cdf_tk/client/data_classes/instances.py +24 -2
- cognite_toolkit/_cdf_tk/client/data_classes/migration.py +205 -74
- cognite_toolkit/_cdf_tk/client/data_classes/project.py +41 -0
- cognite_toolkit/_cdf_tk/client/data_classes/search_config.py +50 -35
- cognite_toolkit/_cdf_tk/client/data_classes/streamlit_.py +11 -11
- cognite_toolkit/_cdf_tk/client/data_classes/streams.py +90 -0
- cognite_toolkit/_cdf_tk/client/data_classes/three_d.py +53 -0
- cognite_toolkit/_cdf_tk/client/testing.py +60 -4
- cognite_toolkit/_cdf_tk/commands/__init__.py +11 -14
- cognite_toolkit/_cdf_tk/commands/_base.py +8 -1
- cognite_toolkit/_cdf_tk/commands/_changes.py +3 -42
- cognite_toolkit/_cdf_tk/commands/_download.py +154 -0
- cognite_toolkit/_cdf_tk/commands/_migrate/__init__.py +2 -8
- cognite_toolkit/_cdf_tk/commands/_migrate/command.py +309 -0
- cognite_toolkit/_cdf_tk/commands/_migrate/conversion.py +373 -0
- cognite_toolkit/_cdf_tk/commands/_migrate/creators.py +232 -0
- cognite_toolkit/_cdf_tk/commands/_migrate/data_classes.py +244 -132
- cognite_toolkit/_cdf_tk/commands/_migrate/data_mapper.py +471 -0
- cognite_toolkit/_cdf_tk/commands/_migrate/data_model.py +108 -29
- cognite_toolkit/_cdf_tk/commands/_migrate/default_mappings.py +137 -0
- cognite_toolkit/_cdf_tk/commands/_migrate/issues.py +212 -0
- cognite_toolkit/_cdf_tk/commands/_migrate/migration_io.py +456 -0
- cognite_toolkit/_cdf_tk/commands/_migrate/prepare.py +27 -18
- cognite_toolkit/_cdf_tk/commands/_migrate/selectors.py +71 -0
- cognite_toolkit/_cdf_tk/commands/_profile.py +139 -42
- cognite_toolkit/_cdf_tk/commands/_purge.py +652 -690
- cognite_toolkit/_cdf_tk/commands/_questionary_style.py +16 -0
- cognite_toolkit/_cdf_tk/commands/_upload.py +289 -0
- cognite_toolkit/_cdf_tk/commands/_utils.py +1 -24
- cognite_toolkit/_cdf_tk/commands/about.py +221 -0
- cognite_toolkit/_cdf_tk/commands/auth.py +45 -25
- cognite_toolkit/_cdf_tk/commands/build_cmd.py +69 -109
- cognite_toolkit/_cdf_tk/commands/build_v2/build_cmd.py +241 -0
- cognite_toolkit/_cdf_tk/commands/build_v2/build_input.py +85 -0
- cognite_toolkit/_cdf_tk/commands/build_v2/build_issues.py +27 -0
- cognite_toolkit/_cdf_tk/commands/clean.py +84 -31
- cognite_toolkit/_cdf_tk/commands/deploy.py +147 -60
- cognite_toolkit/_cdf_tk/commands/dump_resource.py +396 -88
- cognite_toolkit/_cdf_tk/commands/init.py +219 -18
- cognite_toolkit/_cdf_tk/commands/modules.py +158 -82
- cognite_toolkit/_cdf_tk/commands/pull.py +33 -40
- cognite_toolkit/_cdf_tk/commands/repo.py +1 -1
- cognite_toolkit/_cdf_tk/commands/resources.py +179 -0
- cognite_toolkit/_cdf_tk/commands/run.py +11 -11
- cognite_toolkit/_cdf_tk/constants.py +38 -7
- cognite_toolkit/_cdf_tk/cruds/__init__.py +224 -0
- cognite_toolkit/_cdf_tk/{loaders/_base_loaders.py → cruds/_base_cruds.py} +64 -130
- cognite_toolkit/_cdf_tk/{loaders/_data_loaders.py → cruds/_data_cruds.py} +26 -33
- cognite_toolkit/_cdf_tk/cruds/_resource_cruds/__init__.py +98 -0
- cognite_toolkit/_cdf_tk/{loaders/_resource_loaders/agent_loaders.py → cruds/_resource_cruds/agent.py} +33 -29
- cognite_toolkit/_cdf_tk/{loaders/_resource_loaders/auth_loaders.py → cruds/_resource_cruds/auth.py} +30 -68
- cognite_toolkit/_cdf_tk/{loaders/_resource_loaders/classic_loaders.py → cruds/_resource_cruds/classic.py} +84 -121
- cognite_toolkit/_cdf_tk/cruds/_resource_cruds/configuration.py +149 -0
- cognite_toolkit/_cdf_tk/{loaders/_resource_loaders/data_organization_loaders.py → cruds/_resource_cruds/data_organization.py} +13 -49
- cognite_toolkit/_cdf_tk/{loaders/_resource_loaders/datamodel_loaders.py → cruds/_resource_cruds/datamodel.py} +264 -367
- cognite_toolkit/_cdf_tk/{loaders/_resource_loaders/extraction_pipeline_loaders.py → cruds/_resource_cruds/extraction_pipeline.py} +54 -96
- cognite_toolkit/_cdf_tk/cruds/_resource_cruds/fieldops.py +438 -0
- cognite_toolkit/_cdf_tk/{loaders/_resource_loaders/file_loader.py → cruds/_resource_cruds/file.py} +26 -83
- cognite_toolkit/_cdf_tk/{loaders/_resource_loaders/function_loaders.py → cruds/_resource_cruds/function.py} +128 -91
- cognite_toolkit/_cdf_tk/{loaders/_resource_loaders/group_scoped_loader.py → cruds/_resource_cruds/group_scoped.py} +18 -18
- cognite_toolkit/_cdf_tk/{loaders/_resource_loaders → cruds/_resource_cruds}/hosted_extractors.py +32 -100
- cognite_toolkit/_cdf_tk/{loaders/_resource_loaders/industrial_tool_loaders.py → cruds/_resource_cruds/industrial_tool.py} +13 -25
- cognite_toolkit/_cdf_tk/{loaders/_resource_loaders/location_loaders.py → cruds/_resource_cruds/location.py} +25 -156
- cognite_toolkit/_cdf_tk/cruds/_resource_cruds/migration.py +111 -0
- cognite_toolkit/_cdf_tk/{loaders/_resource_loaders/raw_loaders.py → cruds/_resource_cruds/raw.py} +17 -25
- cognite_toolkit/_cdf_tk/{loaders/_resource_loaders/relationship_loader.py → cruds/_resource_cruds/relationship.py} +21 -43
- cognite_toolkit/_cdf_tk/{loaders/_resource_loaders/robotics_loaders.py → cruds/_resource_cruds/robotics.py} +29 -48
- cognite_toolkit/_cdf_tk/cruds/_resource_cruds/streams.py +94 -0
- cognite_toolkit/_cdf_tk/{loaders/_resource_loaders/three_d_model_loaders.py → cruds/_resource_cruds/three_d_model.py} +9 -31
- cognite_toolkit/_cdf_tk/{loaders/_resource_loaders/timeseries_loaders.py → cruds/_resource_cruds/timeseries.py} +200 -96
- cognite_toolkit/_cdf_tk/{loaders/_resource_loaders/transformation_loaders.py → cruds/_resource_cruds/transformation.py} +150 -141
- cognite_toolkit/_cdf_tk/{loaders/_resource_loaders/workflow_loaders.py → cruds/_resource_cruds/workflow.py} +73 -194
- cognite_toolkit/_cdf_tk/{loaders → cruds}/_worker.py +33 -41
- cognite_toolkit/_cdf_tk/data_classes/__init__.py +2 -0
- cognite_toolkit/_cdf_tk/data_classes/_build_files.py +3 -3
- cognite_toolkit/_cdf_tk/data_classes/_build_variables.py +120 -14
- cognite_toolkit/_cdf_tk/data_classes/_built_modules.py +13 -3
- cognite_toolkit/_cdf_tk/data_classes/_built_resources.py +8 -8
- cognite_toolkit/_cdf_tk/data_classes/_config_yaml.py +14 -9
- cognite_toolkit/_cdf_tk/data_classes/_module_directories.py +22 -0
- cognite_toolkit/_cdf_tk/data_classes/_module_resources.py +2 -2
- cognite_toolkit/_cdf_tk/data_classes/_module_toml.py +7 -0
- cognite_toolkit/_cdf_tk/data_classes/_packages.py +24 -7
- cognite_toolkit/_cdf_tk/data_classes/_tracking_info.py +43 -0
- cognite_toolkit/_cdf_tk/exceptions.py +10 -1
- cognite_toolkit/_cdf_tk/feature_flags.py +59 -52
- cognite_toolkit/_cdf_tk/hints.py +5 -3
- cognite_toolkit/_cdf_tk/plugins.py +2 -1
- cognite_toolkit/_cdf_tk/protocols.py +97 -0
- cognite_toolkit/_cdf_tk/resource_classes/__init__.py +61 -0
- cognite_toolkit/_cdf_tk/resource_classes/agent.py +58 -0
- cognite_toolkit/_cdf_tk/resource_classes/agent_tools.py +101 -0
- cognite_toolkit/_cdf_tk/resource_classes/authentication.py +15 -0
- cognite_toolkit/_cdf_tk/resource_classes/capabilities.py +12 -0
- cognite_toolkit/_cdf_tk/resource_classes/cognitefile.py +51 -0
- cognite_toolkit/_cdf_tk/resource_classes/container_field_definitions.py +2 -2
- cognite_toolkit/_cdf_tk/resource_classes/containers.py +2 -2
- cognite_toolkit/_cdf_tk/resource_classes/data_model.py +51 -0
- cognite_toolkit/_cdf_tk/resource_classes/datapoint_subscription.py +77 -0
- cognite_toolkit/_cdf_tk/resource_classes/extraction_pipeline.py +54 -0
- cognite_toolkit/_cdf_tk/resource_classes/extraction_pipeline_config.py +15 -0
- cognite_toolkit/_cdf_tk/resource_classes/function_schedule.py +1 -5
- cognite_toolkit/_cdf_tk/resource_classes/functions.py +12 -1
- cognite_toolkit/_cdf_tk/resource_classes/graphql_model.py +50 -0
- cognite_toolkit/_cdf_tk/resource_classes/hosted_extractor_destination.py +19 -0
- cognite_toolkit/_cdf_tk/resource_classes/hosted_extractor_job.py +255 -0
- cognite_toolkit/_cdf_tk/resource_classes/hosted_extractor_mapping.py +117 -0
- cognite_toolkit/_cdf_tk/resource_classes/hosted_extractor_source.py +390 -0
- cognite_toolkit/_cdf_tk/resource_classes/infield_cdm_location_config.py +109 -0
- cognite_toolkit/_cdf_tk/resource_classes/infield_location_config.py +94 -0
- cognite_toolkit/_cdf_tk/resource_classes/infield_v1.py +100 -0
- cognite_toolkit/_cdf_tk/resource_classes/instance.py +93 -0
- cognite_toolkit/_cdf_tk/resource_classes/migration.py +28 -0
- cognite_toolkit/_cdf_tk/resource_classes/raw_database_table.py +1 -1
- cognite_toolkit/_cdf_tk/resource_classes/relationship.py +50 -0
- cognite_toolkit/_cdf_tk/resource_classes/robotics/__init__.py +13 -0
- cognite_toolkit/_cdf_tk/resource_classes/robotics/capability.py +19 -0
- cognite_toolkit/_cdf_tk/resource_classes/robotics/data_postprocessing.py +15 -0
- cognite_toolkit/_cdf_tk/resource_classes/robotics/frame.py +25 -0
- cognite_toolkit/_cdf_tk/resource_classes/robotics/location.py +12 -0
- cognite_toolkit/_cdf_tk/resource_classes/robotics/map.py +16 -0
- cognite_toolkit/_cdf_tk/resource_classes/search_config.py +1 -1
- cognite_toolkit/_cdf_tk/resource_classes/sequence.py +107 -0
- cognite_toolkit/_cdf_tk/resource_classes/streamlit_.py +26 -0
- cognite_toolkit/_cdf_tk/resource_classes/streams.py +29 -0
- cognite_toolkit/_cdf_tk/resource_classes/transformation_notification.py +8 -0
- cognite_toolkit/_cdf_tk/resource_classes/transformations.py +2 -13
- cognite_toolkit/_cdf_tk/resource_classes/view_field_definitions.py +7 -8
- cognite_toolkit/_cdf_tk/resource_classes/views.py +4 -4
- cognite_toolkit/_cdf_tk/resource_classes/workflow_trigger.py +115 -0
- cognite_toolkit/_cdf_tk/resource_classes/workflow_version.py +233 -0
- cognite_toolkit/_cdf_tk/storageio/__init__.py +69 -0
- cognite_toolkit/_cdf_tk/storageio/_annotations.py +105 -0
- cognite_toolkit/_cdf_tk/storageio/_applications.py +408 -0
- cognite_toolkit/_cdf_tk/storageio/_asset_centric.py +693 -0
- cognite_toolkit/_cdf_tk/storageio/_base.py +328 -0
- cognite_toolkit/_cdf_tk/storageio/_data_classes.py +91 -0
- cognite_toolkit/_cdf_tk/storageio/_datapoints.py +448 -0
- cognite_toolkit/_cdf_tk/storageio/_file_content.py +436 -0
- cognite_toolkit/_cdf_tk/storageio/_instances.py +225 -0
- cognite_toolkit/_cdf_tk/storageio/_raw.py +124 -0
- cognite_toolkit/_cdf_tk/storageio/selectors/__init__.py +133 -0
- cognite_toolkit/_cdf_tk/storageio/selectors/_asset_centric.py +60 -0
- cognite_toolkit/_cdf_tk/storageio/selectors/_base.py +80 -0
- cognite_toolkit/_cdf_tk/storageio/selectors/_canvas.py +22 -0
- cognite_toolkit/_cdf_tk/storageio/selectors/_charts.py +45 -0
- cognite_toolkit/_cdf_tk/storageio/selectors/_datapoints.py +89 -0
- cognite_toolkit/_cdf_tk/storageio/selectors/_file_content.py +164 -0
- cognite_toolkit/_cdf_tk/storageio/selectors/_instances.py +162 -0
- cognite_toolkit/_cdf_tk/storageio/selectors/_raw.py +24 -0
- cognite_toolkit/_cdf_tk/storageio/selectors/_three_d.py +34 -0
- cognite_toolkit/_cdf_tk/tk_warnings/fileread.py +5 -3
- cognite_toolkit/_cdf_tk/tk_warnings/other.py +9 -1
- cognite_toolkit/_cdf_tk/tracker.py +21 -22
- cognite_toolkit/_cdf_tk/utils/__init__.py +2 -2
- cognite_toolkit/_cdf_tk/utils/_auxiliary.py +11 -2
- cognite_toolkit/_cdf_tk/utils/aggregators.py +121 -16
- cognite_toolkit/_cdf_tk/utils/auxiliary.py +23 -0
- cognite_toolkit/_cdf_tk/utils/cdf.py +10 -6
- cognite_toolkit/_cdf_tk/utils/cli_args.py +34 -0
- cognite_toolkit/_cdf_tk/utils/collection.py +42 -1
- cognite_toolkit/_cdf_tk/utils/dtype_conversion.py +307 -15
- cognite_toolkit/_cdf_tk/utils/file.py +55 -2
- cognite_toolkit/_cdf_tk/utils/fileio/__init__.py +61 -0
- cognite_toolkit/_cdf_tk/utils/fileio/_base.py +32 -0
- cognite_toolkit/_cdf_tk/utils/fileio/_compression.py +61 -0
- cognite_toolkit/_cdf_tk/utils/fileio/_readers.py +422 -0
- cognite_toolkit/_cdf_tk/utils/fileio/_writers.py +429 -0
- cognite_toolkit/_cdf_tk/utils/graphql_parser.py +4 -0
- cognite_toolkit/_cdf_tk/utils/http_client/__init__.py +69 -0
- cognite_toolkit/_cdf_tk/utils/http_client/_client.py +536 -0
- cognite_toolkit/_cdf_tk/utils/http_client/_data_classes.py +412 -0
- cognite_toolkit/_cdf_tk/utils/http_client/_data_classes2.py +249 -0
- cognite_toolkit/_cdf_tk/utils/http_client/_exception.py +4 -0
- cognite_toolkit/_cdf_tk/utils/http_client/_tracker.py +34 -0
- cognite_toolkit/_cdf_tk/utils/interactive_select.py +452 -57
- cognite_toolkit/_cdf_tk/utils/modules.py +10 -14
- cognite_toolkit/_cdf_tk/utils/producer_worker.py +216 -58
- cognite_toolkit/_cdf_tk/utils/progress_tracker.py +87 -0
- cognite_toolkit/_cdf_tk/utils/sentry_utils.py +1 -1
- cognite_toolkit/_cdf_tk/utils/sql_parser.py +2 -3
- cognite_toolkit/_cdf_tk/utils/text.py +55 -0
- cognite_toolkit/_cdf_tk/utils/thread_safe_dict.py +99 -0
- cognite_toolkit/_cdf_tk/utils/useful_types.py +27 -1
- cognite_toolkit/_cdf_tk/utils/validate_access.py +350 -36
- cognite_toolkit/_cdf_tk/validation.py +143 -76
- cognite_toolkit/_repo_files/.gitignore +2 -0
- cognite_toolkit/_repo_files/AzureDevOps/.devops/deploy-pipeline.yml +1 -1
- cognite_toolkit/_repo_files/AzureDevOps/.devops/dry-run-pipeline.yml +1 -1
- cognite_toolkit/_repo_files/GitHub/.github/workflows/deploy.yaml +1 -1
- cognite_toolkit/_repo_files/GitHub/.github/workflows/dry-run.yaml +1 -1
- cognite_toolkit/_resources/cdf.toml +18 -0
- cognite_toolkit/_version.py +1 -1
- cognite_toolkit/config.dev.yaml +9 -3
- cognite_toolkit/demo/_base.py +3 -3
- {cognite_toolkit-0.5.97.dist-info → cognite_toolkit-0.7.34.dist-info}/METADATA +24 -23
- cognite_toolkit-0.7.34.dist-info/RECORD +320 -0
- cognite_toolkit-0.7.34.dist-info/WHEEL +4 -0
- {cognite_toolkit-0.5.97.dist-info → cognite_toolkit-0.7.34.dist-info}/entry_points.txt +1 -0
- cognite_toolkit/_builtin_modules/README.md +0 -7
- cognite_toolkit/_builtin_modules/bootcamp/README.md +0 -5
- cognite_toolkit/_builtin_modules/bootcamp/default.config.yaml +0 -3
- cognite_toolkit/_builtin_modules/bootcamp/ice_cream_api/default.config.yaml +0 -9
- cognite_toolkit/_builtin_modules/bootcamp/ice_cream_api/functions/icapi_datapoints_extractor/handler.py +0 -168
- cognite_toolkit/_builtin_modules/bootcamp/ice_cream_api/functions/icapi_datapoints_extractor/ice_cream_factory_api.py +0 -61
- cognite_toolkit/_builtin_modules/bootcamp/ice_cream_api/functions/icapi_datapoints_extractor/requirements.txt +0 -3
- cognite_toolkit/_builtin_modules/bootcamp/ice_cream_api/module.toml +0 -3
- cognite_toolkit/_builtin_modules/bootcamp/module.toml +0 -3
- cognite_toolkit/_builtin_modules/bootcamp/use_cases/oee/default.config.yaml +0 -6
- cognite_toolkit/_builtin_modules/bootcamp/use_cases/oee/functions/oee_timeseries/handler.py +0 -229
- cognite_toolkit/_builtin_modules/bootcamp/use_cases/oee/functions/oee_timeseries/requirements.txt +0 -2
- cognite_toolkit/_builtin_modules/bootcamp/use_cases/oee/module.toml +0 -3
- cognite_toolkit/_builtin_modules/cdf.toml +0 -13
- cognite_toolkit/_builtin_modules/cdf_common/data_models/demo.Space.yaml +0 -3
- cognite_toolkit/_builtin_modules/cdf_common/data_sets/demo.DataSet.yaml +0 -3
- cognite_toolkit/_builtin_modules/cdf_common/default.config.yaml +0 -8
- cognite_toolkit/_builtin_modules/cdf_common/extraction_pipelines/ctx_files_direct_relation_write.ExtractionPipeline.yaml +0 -54
- cognite_toolkit/_builtin_modules/cdf_common/extraction_pipelines/ctx_files_direct_relation_write.config.yaml +0 -28
- cognite_toolkit/_builtin_modules/cdf_common/functions/contextualization_connection_writer/handler.py +0 -342
- cognite_toolkit/_builtin_modules/cdf_common/functions/contextualization_connection_writer/requirements.txt +0 -3
- cognite_toolkit/_builtin_modules/cdf_common/functions/write.Function.yaml +0 -7
- cognite_toolkit/_builtin_modules/cdf_common/module.toml +0 -3
- cognite_toolkit/_builtin_modules/cdf_common/raw/contextualization_state.DataBase.yaml +0 -1
- cognite_toolkit/_builtin_modules/cdf_common/raw/contextualization_state.Table.yaml +0 -2
- cognite_toolkit/_builtin_modules/cdf_common/raw/source.DataBase.yaml +0 -1
- cognite_toolkit/_builtin_modules/cdf_ingestion/auth/user.Group.yaml +0 -124
- cognite_toolkit/_builtin_modules/cdf_ingestion/auth/workflow.Group.yaml +0 -114
- cognite_toolkit/_builtin_modules/cdf_ingestion/default.config.yaml +0 -34
- cognite_toolkit/_builtin_modules/cdf_ingestion/module.toml +0 -9
- cognite_toolkit/_builtin_modules/cdf_ingestion/workflows/ingest.Workflow.yaml +0 -3
- cognite_toolkit/_builtin_modules/cdf_ingestion/workflows/trigger.WorkflowTrigger.yaml +0 -9
- cognite_toolkit/_builtin_modules/cdf_ingestion/workflows/v1.WorkflowVersion.yaml +0 -150
- cognite_toolkit/_builtin_modules/common/README.md +0 -5
- cognite_toolkit/_builtin_modules/common/cdf_apm_base/data_models/apm.datamodel.yaml +0 -18
- cognite_toolkit/_builtin_modules/common/cdf_apm_base/data_models/apm_config.datamodel.yaml +0 -10
- cognite_toolkit/_builtin_modules/common/cdf_apm_base/data_models/config.space.yaml +0 -3
- cognite_toolkit/_builtin_modules/common/cdf_apm_base/data_models/containers/APM_Activity.container.yaml +0 -108
- cognite_toolkit/_builtin_modules/common/cdf_apm_base/data_models/containers/APM_Notification.container.yaml +0 -85
- cognite_toolkit/_builtin_modules/common/cdf_apm_base/data_models/containers/APM_Operation.container.yaml +0 -83
- cognite_toolkit/_builtin_modules/common/cdf_apm_base/data_models/containers/ApmConfig.container.yaml +0 -39
- cognite_toolkit/_builtin_modules/common/cdf_apm_base/data_models/source.space.yaml +0 -3
- cognite_toolkit/_builtin_modules/common/cdf_apm_base/data_models/views/APM_Activity.view.yaml +0 -119
- cognite_toolkit/_builtin_modules/common/cdf_apm_base/data_models/views/APM_Notification.view.yaml +0 -84
- cognite_toolkit/_builtin_modules/common/cdf_apm_base/data_models/views/APM_Operation.view.yaml +0 -86
- cognite_toolkit/_builtin_modules/common/cdf_apm_base/data_models/views/ApmConfig.view.yaml +0 -48
- cognite_toolkit/_builtin_modules/common/cdf_apm_base/default.config.yaml +0 -1
- cognite_toolkit/_builtin_modules/common/cdf_apm_base/module.toml +0 -3
- cognite_toolkit/_builtin_modules/common/cdf_auth_readwrite_all/README.md +0 -23
- cognite_toolkit/_builtin_modules/common/cdf_auth_readwrite_all/auth/admin.readonly.group.yaml +0 -265
- cognite_toolkit/_builtin_modules/common/cdf_auth_readwrite_all/auth/admin.readwrite.group.yaml +0 -329
- cognite_toolkit/_builtin_modules/common/cdf_auth_readwrite_all/default.config.yaml +0 -2
- cognite_toolkit/_builtin_modules/common/cdf_auth_readwrite_all/module.toml +0 -2
- cognite_toolkit/_builtin_modules/contextualization/cdf_connection_sql/default.config.yaml +0 -10
- cognite_toolkit/_builtin_modules/contextualization/cdf_connection_sql/module.toml +0 -13
- cognite_toolkit/_builtin_modules/contextualization/cdf_connection_sql/transformations/activity_to_asset.Transformation.sql +0 -31
- cognite_toolkit/_builtin_modules/contextualization/cdf_connection_sql/transformations/activity_to_asset.Transformation.yaml +0 -13
- cognite_toolkit/_builtin_modules/contextualization/cdf_connection_sql/transformations/activity_to_equipment.Transformation.sql +0 -31
- cognite_toolkit/_builtin_modules/contextualization/cdf_connection_sql/transformations/activity_to_equipment.Transformation.yaml +0 -14
- cognite_toolkit/_builtin_modules/contextualization/cdf_connection_sql/transformations/activity_to_timeseries.Transformation.sql +0 -34
- cognite_toolkit/_builtin_modules/contextualization/cdf_connection_sql/transformations/activity_to_timeseries.Transformation.yaml +0 -13
- cognite_toolkit/_builtin_modules/contextualization/cdf_connection_sql/transformations/timeseries_to_asset.Transformation.sql +0 -32
- cognite_toolkit/_builtin_modules/contextualization/cdf_connection_sql/transformations/timeseries_to_asset.Transformation.yaml +0 -14
- cognite_toolkit/_builtin_modules/contextualization/cdf_connection_sql/transformations/timeseries_to_equipment.Transformation.sql +0 -32
- cognite_toolkit/_builtin_modules/contextualization/cdf_connection_sql/transformations/timeseries_to_equipment.Transformation.yaml +0 -13
- cognite_toolkit/_builtin_modules/contextualization/cdf_entity_matching/auth/workflow.Group.yaml +0 -83
- cognite_toolkit/_builtin_modules/contextualization/cdf_entity_matching/data_models/annotation_type.Node.yaml +0 -2
- cognite_toolkit/_builtin_modules/contextualization/cdf_entity_matching/data_models/sourceSystem.node.yaml +0 -13
- cognite_toolkit/_builtin_modules/contextualization/cdf_entity_matching/default.config.yaml +0 -16
- cognite_toolkit/_builtin_modules/contextualization/cdf_entity_matching/extraction_pipelines/ctx_files_entity_matcher.ExtractionPipeline.yaml +0 -48
- cognite_toolkit/_builtin_modules/contextualization/cdf_entity_matching/extraction_pipelines/ctx_files_entity_matcher.config.yaml +0 -35
- cognite_toolkit/_builtin_modules/contextualization/cdf_entity_matching/functions/contextualization_entity_matcher/handler.py +0 -476
- cognite_toolkit/_builtin_modules/contextualization/cdf_entity_matching/functions/contextualization_entity_matcher/requirements.txt +0 -3
- cognite_toolkit/_builtin_modules/contextualization/cdf_entity_matching/functions/functions.Function.yaml +0 -7
- cognite_toolkit/_builtin_modules/contextualization/cdf_entity_matching/module.toml +0 -23
- cognite_toolkit/_builtin_modules/contextualization/cdf_entity_matching/raw/state.Table.yaml +0 -2
- cognite_toolkit/_builtin_modules/contextualization/cdf_entity_matching/workflows/entity_matching.Workflow.yaml +0 -3
- cognite_toolkit/_builtin_modules/contextualization/cdf_entity_matching/workflows/trigger.WorkflowTrigger.yaml +0 -9
- cognite_toolkit/_builtin_modules/contextualization/cdf_entity_matching/workflows/v1.WorkflowVersion.yaml +0 -22
- cognite_toolkit/_builtin_modules/contextualization/cdf_p_and_id_parser/auth/function.Group.yaml +0 -89
- cognite_toolkit/_builtin_modules/contextualization/cdf_p_and_id_parser/data_models/sourceSystem.node.yaml +0 -13
- cognite_toolkit/_builtin_modules/contextualization/cdf_p_and_id_parser/default.config.yaml +0 -13
- cognite_toolkit/_builtin_modules/contextualization/cdf_p_and_id_parser/extraction_pipelines/ctx_files_pandid_annotater.ExtractionPipeline.yaml +0 -44
- cognite_toolkit/_builtin_modules/contextualization/cdf_p_and_id_parser/extraction_pipelines/ctx_files_pandid_annotater.config.yaml +0 -33
- cognite_toolkit/_builtin_modules/contextualization/cdf_p_and_id_parser/functions/contextualization_p_and_id_annotater/handler.py +0 -405
- cognite_toolkit/_builtin_modules/contextualization/cdf_p_and_id_parser/functions/contextualization_p_and_id_annotater/requirements.txt +0 -3
- cognite_toolkit/_builtin_modules/contextualization/cdf_p_and_id_parser/functions/functions.Function.yaml +0 -7
- cognite_toolkit/_builtin_modules/contextualization/cdf_p_and_id_parser/module.toml +0 -25
- cognite_toolkit/_builtin_modules/contextualization/cdf_p_and_id_parser/workflows/p_and_id_parser.Workflow.yaml +0 -3
- cognite_toolkit/_builtin_modules/contextualization/cdf_p_and_id_parser/workflows/trigger.WorkflowTrigger.yaml +0 -9
- cognite_toolkit/_builtin_modules/contextualization/cdf_p_and_id_parser/workflows/v1.WorkflowVersion.yaml +0 -22
- cognite_toolkit/_builtin_modules/custom/my_module/auth/.gitkeep +0 -0
- cognite_toolkit/_builtin_modules/custom/my_module/default.config.yaml +0 -1
- cognite_toolkit/_builtin_modules/custom/my_module/module.toml +0 -2
- cognite_toolkit/_builtin_modules/industrial_tools/cdf_location_filter_asset_centric/classic/root.Asset.yaml +0 -9
- cognite_toolkit/_builtin_modules/industrial_tools/cdf_location_filter_asset_centric/data_sets/data_sets.DataSet.yaml +0 -3
- cognite_toolkit/_builtin_modules/industrial_tools/cdf_location_filter_asset_centric/default.config.yaml +0 -4
- cognite_toolkit/_builtin_modules/industrial_tools/cdf_location_filter_asset_centric/locations/individualFilters.LocationFilter.yaml +0 -19
- cognite_toolkit/_builtin_modules/industrial_tools/cdf_location_filter_asset_centric/locations/oneFilter.LocationFilter.yaml +0 -12
- cognite_toolkit/_builtin_modules/industrial_tools/cdf_location_filter_asset_centric/module.toml +0 -2
- cognite_toolkit/_builtin_modules/industrial_tools/cdf_location_filter_datamodel_based/data_models/instance.Space.yaml +0 -2
- cognite_toolkit/_builtin_modules/industrial_tools/cdf_location_filter_datamodel_based/default.config.yaml +0 -2
- cognite_toolkit/_builtin_modules/industrial_tools/cdf_location_filter_datamodel_based/locations/dataModel.LocationFilter.yaml +0 -17
- cognite_toolkit/_builtin_modules/industrial_tools/cdf_location_filter_datamodel_based/module.toml +0 -2
- cognite_toolkit/_builtin_modules/industrial_tools/cdf_search/auth/locationfilter.Group.yaml +0 -12
- cognite_toolkit/_builtin_modules/industrial_tools/cdf_search/default.config.yaml +0 -3
- cognite_toolkit/_builtin_modules/industrial_tools/cdf_search/locations/user.LocationFilter.yaml +0 -9
- cognite_toolkit/_builtin_modules/industrial_tools/cdf_search/module.toml +0 -5
- cognite_toolkit/_builtin_modules/infield/cdf_infield_common/README.md +0 -3
- cognite_toolkit/_builtin_modules/infield/cdf_infield_common/auth/applications-configuration.Group.yaml +0 -22
- cognite_toolkit/_builtin_modules/infield/cdf_infield_common/data_models/infieldAppData.space.yaml +0 -3
- cognite_toolkit/_builtin_modules/infield/cdf_infield_common/data_models/infield_apm_app_config.node.yaml +0 -28
- cognite_toolkit/_builtin_modules/infield/cdf_infield_common/default.config.yaml +0 -2
- cognite_toolkit/_builtin_modules/infield/cdf_infield_common/module.toml +0 -6
- cognite_toolkit/_builtin_modules/infield/cdf_infield_location/README.md +0 -61
- cognite_toolkit/_builtin_modules/infield/cdf_infield_location/auth/infield_checklist_admin_role.group.yaml +0 -100
- cognite_toolkit/_builtin_modules/infield/cdf_infield_location/auth/infield_normal_role.group.yaml +0 -100
- cognite_toolkit/_builtin_modules/infield/cdf_infield_location/auth/infield_template_admin_role.group.yaml +0 -100
- cognite_toolkit/_builtin_modules/infield/cdf_infield_location/auth/infield_viewer_role.group.yaml +0 -85
- cognite_toolkit/_builtin_modules/infield/cdf_infield_location/data_models/infieldLocationAppData.space.yaml +0 -3
- cognite_toolkit/_builtin_modules/infield/cdf_infield_location/data_models/infieldLocationSourceData.space.yaml +0 -3
- cognite_toolkit/_builtin_modules/infield/cdf_infield_location/data_sets/location_app_data_set.DataSet.yaml +0 -3
- cognite_toolkit/_builtin_modules/infield/cdf_infield_location/data_sets/location_source_data_set.DataSet.yaml +0 -20
- cognite_toolkit/_builtin_modules/infield/cdf_infield_location/default.config.yaml +0 -23
- cognite_toolkit/_builtin_modules/infield/cdf_infield_location/module.toml +0 -3
- cognite_toolkit/_builtin_modules/infield/cdf_infield_location/transformations/tr_asset_oid_workmate_infield_sync_assets_from_hierarchy_to_apm.Transformation.sql +0 -34
- cognite_toolkit/_builtin_modules/infield/cdf_infield_location/transformations/tr_asset_oid_workmate_infield_sync_assets_from_hierarchy_to_apm.Transformation.yaml +0 -24
- cognite_toolkit/_builtin_modules/infield/cdf_infield_location/transformations/tr_asset_oid_workmate_infield_sync_assets_from_hierarchy_to_apm.schedule.yaml +0 -3
- cognite_toolkit/_builtin_modules/infield/cdf_infield_location/transformations/tr_workorder_oid_workmate_infield_sync_workorders_to_apm_activities.Transformation.sql +0 -17
- cognite_toolkit/_builtin_modules/infield/cdf_infield_location/transformations/tr_workorder_oid_workmate_infield_sync_workorders_to_apm_activities.Transformation.yaml +0 -25
- cognite_toolkit/_builtin_modules/infield/cdf_infield_location/transformations/tr_workorder_oid_workmate_infield_sync_workorders_to_apm_activities.schedule.yaml +0 -3
- cognite_toolkit/_builtin_modules/infield/cdf_infield_second_location/README.md +0 -61
- cognite_toolkit/_builtin_modules/infield/cdf_infield_second_location/auth/infield_checklist_admin_role.group.yaml +0 -100
- cognite_toolkit/_builtin_modules/infield/cdf_infield_second_location/auth/infield_normal_role.group.yaml +0 -100
- cognite_toolkit/_builtin_modules/infield/cdf_infield_second_location/auth/infield_template_admin_role.group.yaml +0 -100
- cognite_toolkit/_builtin_modules/infield/cdf_infield_second_location/auth/infield_viewer_role.group.yaml +0 -85
- cognite_toolkit/_builtin_modules/infield/cdf_infield_second_location/data_models/infieldLocationAppData.space.yaml +0 -3
- cognite_toolkit/_builtin_modules/infield/cdf_infield_second_location/data_models/infieldLocationSourceData.space.yaml +0 -3
- cognite_toolkit/_builtin_modules/infield/cdf_infield_second_location/data_sets/location_app_data_set.DataSet.yaml +0 -3
- cognite_toolkit/_builtin_modules/infield/cdf_infield_second_location/data_sets/location_source_data_set.DataSet.yaml +0 -20
- cognite_toolkit/_builtin_modules/infield/cdf_infield_second_location/default.config.yaml +0 -23
- cognite_toolkit/_builtin_modules/infield/cdf_infield_second_location/module.toml +0 -3
- cognite_toolkit/_builtin_modules/infield/cdf_infield_second_location/transformations/tr_asset_oid_workmate_infield_sync_assets_from_hierarchy_to_apm.Transformation.sql +0 -34
- cognite_toolkit/_builtin_modules/infield/cdf_infield_second_location/transformations/tr_asset_oid_workmate_infield_sync_assets_from_hierarchy_to_apm.Transformation.yaml +0 -24
- cognite_toolkit/_builtin_modules/infield/cdf_infield_second_location/transformations/tr_asset_oid_workmate_infield_sync_assets_from_hierarchy_to_apm.schedule.yaml +0 -3
- cognite_toolkit/_builtin_modules/infield/cdf_infield_second_location/transformations/tr_workorder_oid_workmate_infield_sync_workorders_to_apm_activities.Transformation.sql +0 -17
- cognite_toolkit/_builtin_modules/infield/cdf_infield_second_location/transformations/tr_workorder_oid_workmate_infield_sync_workorders_to_apm_activities.Transformation.yaml +0 -25
- cognite_toolkit/_builtin_modules/infield/cdf_infield_second_location/transformations/tr_workorder_oid_workmate_infield_sync_workorders_to_apm_activities.schedule.yaml +0 -3
- cognite_toolkit/_builtin_modules/infield/default.config.yaml +0 -21
- cognite_toolkit/_builtin_modules/inrobot/README.md +0 -41
- cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/README.md +0 -53
- cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/auth/run-function-user.Group.yaml +0 -89
- cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/classic/robot.Label.yaml +0 -6
- cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/data_models/cogniteAppData.space.yaml +0 -3
- cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/data_models/inrobotApmConfig.node.yaml +0 -17
- cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/data_sets/robot_1.dataset.yaml +0 -2
- cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/default.config.yaml +0 -3
- cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/.gitkeep +0 -0
- cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_contextualize_robot_data/README.md +0 -30
- cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_contextualize_robot_data/__init__.py +0 -1
- cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_contextualize_robot_data/common/README.md +0 -58
- cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_contextualize_robot_data/common/__init__.py +0 -0
- cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_contextualize_robot_data/common/apm_helpers.py +0 -269
- cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_contextualize_robot_data/common/cdf_helpers.py +0 -112
- cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_contextualize_robot_data/common/dataclass/__init__.py +0 -0
- cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_contextualize_robot_data/common/dataclass/common.py +0 -16
- cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_contextualize_robot_data/common/dataclass/vision.py +0 -66
- cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_contextualize_robot_data/common/utils.py +0 -17
- cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_contextualize_robot_data/handler.py +0 -269
- cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_contextualize_robot_data/requirements.txt +0 -22
- cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_gauge_reading/README.md +0 -56
- cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_gauge_reading/__init__.py +0 -1
- cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_gauge_reading/common/README.md +0 -58
- cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_gauge_reading/common/__init__.py +0 -0
- cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_gauge_reading/common/apm_helpers.py +0 -269
- cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_gauge_reading/common/cdf_helpers.py +0 -112
- cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_gauge_reading/common/dataclass/__init__.py +0 -0
- cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_gauge_reading/common/dataclass/common.py +0 -16
- cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_gauge_reading/common/dataclass/vision.py +0 -66
- cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_gauge_reading/common/utils.py +0 -17
- cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_gauge_reading/handler.py +0 -396
- cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_gauge_reading/requirements.txt +0 -22
- cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_get_ir_data_from_ir_raw/README.md +0 -18
- cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_get_ir_data_from_ir_raw/__init__.py +0 -1
- cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_get_ir_data_from_ir_raw/common/README.md +0 -58
- cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_get_ir_data_from_ir_raw/common/__init__.py +0 -0
- cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_get_ir_data_from_ir_raw/common/apm_helpers.py +0 -269
- cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_get_ir_data_from_ir_raw/common/cdf_helpers.py +0 -112
- cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_get_ir_data_from_ir_raw/common/dataclass/__init__.py +0 -0
- cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_get_ir_data_from_ir_raw/common/dataclass/common.py +0 -16
- cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_get_ir_data_from_ir_raw/common/dataclass/vision.py +0 -66
- cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_get_ir_data_from_ir_raw/common/utils.py +0 -17
- cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_get_ir_data_from_ir_raw/handler.py +0 -195
- cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_get_ir_data_from_ir_raw/requirements.txt +0 -23
- cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_threesixty/README.md +0 -14
- cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_threesixty/__init__.py +0 -1
- cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_threesixty/cognite_threesixty_images.py +0 -284
- cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_threesixty/handler.py +0 -257
- cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_threesixty/requirements.txt +0 -7
- cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/robots.functions.Function.yaml +0 -51
- cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/schedules.Schedule.yaml +0 -94
- cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/module.toml +0 -6
- cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/robotics/acoustic_video.RobotCapability.yaml +0 -72
- cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/robotics/process_threesixty.DataPostProcessing.yaml +0 -23
- cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/robotics/pt_ir_video.RobotCapability.yaml +0 -64
- cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/robotics/ptz.RobotCapability.yaml +0 -63
- cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/robotics/ptz_ir.RobotCapability.yaml +0 -80
- cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/robotics/ptz_video.RobotCapability.yaml +0 -68
- cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/robotics/read_dial_gauge.DataPostProcessing.yaml +0 -31
- cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/robotics/read_digital_gauge.DataPostProcessing.yaml +0 -35
- cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/robotics/read_level_gauge.DataPostProcessing.yaml +0 -29
- cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/robotics/read_valve.DataPostProcessing.yaml +0 -23
- cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/robotics/threesixty.RobotCapability.yaml +0 -47
- cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/robotics/threesixty_video.RobotCapability.yaml +0 -47
- cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_location/README.md +0 -33
- cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_location/auth/inrobot-admin.Group.yaml +0 -107
- cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_location/auth/inrobot-users.Group.yaml +0 -94
- cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_location/auth/robot-1.Group.yaml +0 -77
- cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_location/data_models/locationAppData.space.yaml +0 -3
- cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_location/data_models/locationSourceData.space.yaml +0 -3
- cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_location/default.config.yaml +0 -7
- cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_location/module.toml +0 -3
- cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_location/robotics/root.Frame.yaml +0 -15
- cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_location/robotics/root.Location.yaml +0 -3
- cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_location/robotics/root.Map.yaml +0 -10
- cognite_toolkit/_builtin_modules/inrobot/default.config.yaml +0 -3
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension/data_models/containers/Activity.Container.yaml +0 -13
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension/data_models/containers/Asset.Container.yaml +0 -13
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension/data_models/containers/Equipment.Container.yaml +0 -13
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension/data_models/containers/File.Container.yaml +0 -13
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension/data_models/containers/TimeSeries.Container.yaml +0 -13
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension/data_models/enterprise.datamodel.yaml +0 -54
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension/data_models/schema.space.yaml +0 -1
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension/data_models/views/Activity.view.yaml +0 -69
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension/data_models/views/Asset.view.yaml +0 -186
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension/data_models/views/Equipment.view.yaml +0 -100
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension/data_models/views/File.view.yaml +0 -72
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension/data_models/views/TimeSeries.view.yaml +0 -85
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension/default.config.yaml +0 -2
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension/module.toml +0 -2
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/360Image.Container.yaml +0 -13
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/360ImageAnnotation.Container.yaml +0 -13
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/360ImageCollection.Container.yaml +0 -13
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/360ImageModel.Container.yaml +0 -13
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/360ImageStation.Container.yaml +0 -13
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/3DModel.Container.yaml +0 -13
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/3DObject.Container.yaml +0 -13
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/3DRevision.Container.yaml +0 -13
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/3DTransformation.Container.yaml +0 -13
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/Activity.Container.yaml +0 -13
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/Annotation.Container.yaml +0 -14
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/Asset.Container.yaml +0 -13
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/AssetClass.Container.yaml +0 -13
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/AssetType.Container.yaml +0 -13
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/CADModel.Container.yaml +0 -13
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/CADNode.Container.yaml +0 -13
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/CADRevision.Container.yaml +0 -13
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/CubeMap.Container.yaml +0 -13
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/Describable.Container.yaml +0 -13
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/DiagramAnnotation.Container.yaml +0 -13
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/Equipment.Container.yaml +0 -13
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/EquipmentType.Container.yaml +0 -13
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/File.Container.yaml +0 -13
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/FileCategory.Container.yaml +0 -13
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/PointCloudModel.Container.yaml +0 -13
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/PointCloudRevision.Container.yaml +0 -13
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/PointCloudVolume.Container.yaml +0 -13
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/Schedulable.Container.yaml +0 -13
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/SourceSystem.Container.yaml +0 -13
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/Sourceable.Container.yaml +0 -13
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/TimeSeries.Container.yaml +0 -13
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/Unit.Container.yaml +0 -13
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/Visualizable.Container.yaml +0 -13
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/enterprise.datamodel.yaml +0 -138
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/schema.space.yaml +0 -1
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/360Image.view.yaml +0 -119
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/360ImageAnnotation.view.yaml +0 -28
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/360ImageCollection.view.yaml +0 -39
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/360ImageModel.view.yaml +0 -55
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/360ImageStation.view.yaml +0 -29
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/3DModel.view.yaml +0 -29
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/3DObject.view.yaml +0 -81
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/3DRevision.view.yaml +0 -30
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/3DTransformation.view.yaml +0 -23
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/Activity.view.yaml +0 -69
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/Annotation.view.yaml +0 -28
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/Asset.view.yaml +0 -191
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/AssetClass.view.yaml +0 -17
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/AssetType.view.yaml +0 -31
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/CADModel.view.yaml +0 -55
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/CADNode.view.yaml +0 -53
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/CADRevision.view.yaml +0 -39
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/CubeMap.view.yaml +0 -97
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/Describable.view.yaml +0 -19
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/DiagramAnnotation.view.yaml +0 -28
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/Equipment.view.yaml +0 -100
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/EquipmentType.view.yaml +0 -17
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/File.view.yaml +0 -72
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/FileCategory.view.yaml +0 -18
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/PointCloudModel.view.yaml +0 -55
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/PointCloudRevision.view.yaml +0 -39
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/PointCloudVolume.view.yaml +0 -52
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/Schedulable.view.yaml +0 -17
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/SourceSystem.view.yaml +0 -17
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/Sourceable.view.yaml +0 -27
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/TimeSeries.view.yaml +0 -85
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/Unit.view.yaml +0 -16
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/Visualizable.view.yaml +0 -29
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/default.config.yaml +0 -2
- cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/module.toml +0 -2
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension/data_models/containers/Activity.Container.yaml +0 -13
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension/data_models/containers/Asset.Container.yaml +0 -13
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension/data_models/containers/Equipment.Container.yaml +0 -13
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension/data_models/containers/File.Container.yaml +0 -13
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension/data_models/containers/MaintenanceOrder.Container.yaml +0 -13
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension/data_models/containers/Notification.Container.yaml +0 -13
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension/data_models/containers/Operation.Container.yaml +0 -13
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension/data_models/containers/TimeSeries.Container.yaml +0 -13
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension/data_models/enterprise.datamodel.yaml +0 -66
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension/data_models/schema.space.yaml +0 -1
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension/data_models/views/Activity.view.yaml +0 -69
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension/data_models/views/Asset.view.yaml +0 -186
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension/data_models/views/Equipment.view.yaml +0 -100
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension/data_models/views/File.view.yaml +0 -72
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension/data_models/views/MaintenanceOrder.view.yaml +0 -100
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension/data_models/views/Notification.view.yaml +0 -56
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension/data_models/views/Operation.view.yaml +0 -96
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension/data_models/views/TimeSeries.view.yaml +0 -85
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension/default.config.yaml +0 -3
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension/module.toml +0 -2
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/360Image.Container.yaml +0 -13
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/360ImageAnnotation.Container.yaml +0 -14
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/360ImageCollection.Container.yaml +0 -13
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/360ImageModel.Container.yaml +0 -13
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/360ImageStation.Container.yaml +0 -13
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/3DModel.Container.yaml +0 -13
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/3DObject.Container.yaml +0 -13
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/3DRevision.Container.yaml +0 -13
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/3DTransformation.Container.yaml +0 -13
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/Activity.Container.yaml +0 -13
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/Annotation.Container.yaml +0 -14
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/Asset.Container.yaml +0 -13
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/AssetClass.Container.yaml +0 -13
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/AssetType.Container.yaml +0 -13
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/CADModel.Container.yaml +0 -13
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/CADNode.Container.yaml +0 -13
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/CADRevision.Container.yaml +0 -13
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/CubeMap.Container.yaml +0 -13
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/Describable.Container.yaml +0 -13
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/DiagramAnnotation.Container.yaml +0 -14
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/Equipment.Container.yaml +0 -13
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/EquipmentType.Container.yaml +0 -13
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/File.Container.yaml +0 -13
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/FileCategory.Container.yaml +0 -13
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/MaintenanceOrder.Container.yaml +0 -13
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/Notification.Container.yaml +0 -13
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/Operation.Container.yaml +0 -13
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/PointCloudModel.Container.yaml +0 -13
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/PointCloudRevision.Container.yaml +0 -13
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/PointCloudVolume.Container.yaml +0 -13
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/Schedulable.Container.yaml +0 -13
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/SourceSystem.Container.yaml +0 -13
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/Sourceable.Container.yaml +0 -13
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/TimeSeries.Container.yaml +0 -13
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/Unit.Container.yaml +0 -13
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/Visualizable.Container.yaml +0 -13
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/enterprise.datamodel.yaml +0 -150
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/schema.space.yaml +0 -1
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/360Image.view.yaml +0 -119
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/360ImageAnnotation.view.yaml +0 -28
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/360ImageCollection.view.yaml +0 -39
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/360ImageModel.view.yaml +0 -55
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/360ImageStation.view.yaml +0 -29
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/3DModel.view.yaml +0 -29
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/3DObject.view.yaml +0 -81
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/3DRevision.view.yaml +0 -30
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/3DTransformation.view.yaml +0 -23
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/Activity.view.yaml +0 -69
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/Annotation.view.yaml +0 -28
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/Asset.view.yaml +0 -191
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/AssetClass.view.yaml +0 -17
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/AssetType.view.yaml +0 -31
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/CADModel.view.yaml +0 -55
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/CADNode.view.yaml +0 -53
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/CADRevision.view.yaml +0 -39
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/CubeMap.view.yaml +0 -97
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/Describable.view.yaml +0 -19
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/DiagramAnnotation.view.yaml +0 -28
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/Equipment.view.yaml +0 -100
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/EquipmentType.view.yaml +0 -17
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/File.view.yaml +0 -72
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/FileCategory.view.yaml +0 -18
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/MaintenanceOrder.view.yaml +0 -100
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/Notification.view.yaml +0 -56
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/Operation.view.yaml +0 -96
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/PointCloudModel.view.yaml +0 -55
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/PointCloudRevision.view.yaml +0 -39
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/PointCloudVolume.view.yaml +0 -52
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/Schedulable.view.yaml +0 -17
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/SourceSystem.view.yaml +0 -17
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/Sourceable.view.yaml +0 -27
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/TimeSeries.view.yaml +0 -85
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/Unit.view.yaml +0 -16
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/Visualizable.view.yaml +0 -29
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/default.config.yaml +0 -2
- cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/module.toml +0 -2
- cognite_toolkit/_builtin_modules/models/cdf_scene/data_models/containers/scene_Cdf3dRevisionProperties.Container.yaml +0 -13
- cognite_toolkit/_builtin_modules/models/cdf_scene/data_models/containers/scene_EnvironmentMap.Container.yaml +0 -12
- cognite_toolkit/_builtin_modules/models/cdf_scene/data_models/containers/scene_Image360CollectionProperties.Container.yaml +0 -23
- cognite_toolkit/_builtin_modules/models/cdf_scene/data_models/containers/scene_Image360CollectionScene.Container.yaml +0 -12
- cognite_toolkit/_builtin_modules/models/cdf_scene/data_models/containers/scene_SceneConfiguration.Container.yaml +0 -152
- cognite_toolkit/_builtin_modules/models/cdf_scene/data_models/containers/scene_TexturedMap.Container.yaml +0 -21
- cognite_toolkit/_builtin_modules/models/cdf_scene/data_models/containers/scene_TexturedPlane.Container.yaml +0 -29
- cognite_toolkit/_builtin_modules/models/cdf_scene/data_models/scene.Space.yaml +0 -3
- cognite_toolkit/_builtin_modules/models/cdf_scene/data_models/scene_data_model.DataModel.yaml +0 -66
- cognite_toolkit/_builtin_modules/models/cdf_scene/data_models/views/EnvironmentMap.View.yaml +0 -28
- cognite_toolkit/_builtin_modules/models/cdf_scene/data_models/views/Image360CollectionProperties.View.yaml +0 -22
- cognite_toolkit/_builtin_modules/models/cdf_scene/data_models/views/Image360CollectionScene.View.yaml +0 -20
- cognite_toolkit/_builtin_modules/models/cdf_scene/data_models/views/RevisionProperties.View.yaml +0 -16
- cognite_toolkit/_builtin_modules/models/cdf_scene/data_models/views/SceneConfiguration.View.yaml +0 -166
- cognite_toolkit/_builtin_modules/models/cdf_scene/data_models/views/TexturedMap.View.yaml +0 -17
- cognite_toolkit/_builtin_modules/models/cdf_scene/data_models/views/TexturedPlane.View.yaml +0 -40
- cognite_toolkit/_builtin_modules/models/cdf_scene/default.config.yaml +0 -1
- cognite_toolkit/_builtin_modules/models/cdf_scene/module.toml +0 -2
- cognite_toolkit/_builtin_modules/packages.toml +0 -102
- cognite_toolkit/_builtin_modules/sourcesystem/README.md +0 -4
- cognite_toolkit/_builtin_modules/sourcesystem/cdf_pi/auth/workflow.Group.yaml +0 -53
- cognite_toolkit/_builtin_modules/sourcesystem/cdf_pi/default.config.yaml +0 -13
- cognite_toolkit/_builtin_modules/sourcesystem/cdf_pi/extraction_pipelines/extractor.Config.yaml +0 -5
- cognite_toolkit/_builtin_modules/sourcesystem/cdf_pi/extraction_pipelines/extractor.ExtractionPipeline.yaml +0 -12
- cognite_toolkit/_builtin_modules/sourcesystem/cdf_pi/module.toml +0 -24
- cognite_toolkit/_builtin_modules/sourcesystem/cdf_pi/raw/timeseries.Table.yaml +0 -2
- cognite_toolkit/_builtin_modules/sourcesystem/cdf_pi/transformations/population/timeseries.Transformation.sql +0 -9
- cognite_toolkit/_builtin_modules/sourcesystem/cdf_pi/transformations/population/timeseries.Transformation.yaml +0 -14
- cognite_toolkit/_builtin_modules/sourcesystem/cdf_pi/workflows/population.Workflow.yaml +0 -3
- cognite_toolkit/_builtin_modules/sourcesystem/cdf_pi/workflows/trigger.WorkflowTrigger.yaml +0 -9
- cognite_toolkit/_builtin_modules/sourcesystem/cdf_pi/workflows/v1.WorkflowVersion.yaml +0 -12
- cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_assets/auth/workflow.Group.yaml +0 -54
- cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_assets/default.config.yaml +0 -16
- cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_assets/module.toml +0 -24
- cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_assets/raw/dump.Table.yaml +0 -2
- cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_assets/transformations/connection/equipment_to_asset.Transformation.sql +0 -14
- cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_assets/transformations/connection/equipment_to_asset.Transformation.yaml +0 -14
- cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_assets/transformations/population/asset.Transformation.sql +0 -35
- cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_assets/transformations/population/asset.Transformation.yaml +0 -14
- cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_assets/transformations/population/equipment.Transformation.sql +0 -17
- cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_assets/transformations/population/equipment.Transformation.yaml +0 -13
- cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_assets/workflows/population.Workflow.yaml +0 -3
- cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_assets/workflows/trigger.WorkflowTrigger.yaml +0 -9
- cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_assets/workflows/v1.WorkflowVersion.yaml +0 -28
- cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_events/auth/workflow.Group.yaml +0 -46
- cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_events/default.config.yaml +0 -15
- cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_events/module.toml +0 -20
- cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_events/raw/workitem.Table.yaml +0 -2
- cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_events/raw/workorder.Table.yaml +0 -2
- cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_events/raw/workpackage.Table.yaml +0 -2
- cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_events/raw/worktask.Table.yaml +0 -3
- cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_events/transformations/connection/operation_to_maintenance_order.Transformation.sql +0 -32
- cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_events/transformations/connection/operation_to_maintenance_order.Transformation.yaml +0 -13
- cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_events/transformations/population/maintenanceOrder.Transformation.sql +0 -18
- cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_events/transformations/population/maintenanceOrder.Transformation.yaml +0 -14
- cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_events/transformations/population/operation.Transformation.sql +0 -18
- cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_events/transformations/population/operation.Transformation.yaml +0 -14
- cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_events/workflows/population.Workflow.yaml +0 -3
- cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_events/workflows/trigger.WorkflowTrigger.yaml +0 -9
- cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_events/workflows/v1.WorkflowVersion.yaml +0 -28
- cognite_toolkit/_builtin_modules/sourcesystem/cdf_sharepoint/auth/workflow.Group.yaml +0 -47
- cognite_toolkit/_builtin_modules/sourcesystem/cdf_sharepoint/default.config.yaml +0 -13
- cognite_toolkit/_builtin_modules/sourcesystem/cdf_sharepoint/files/upload.CogniteFile.yaml +0 -4
- cognite_toolkit/_builtin_modules/sourcesystem/cdf_sharepoint/module.toml +0 -26
- cognite_toolkit/_builtin_modules/sourcesystem/cdf_sharepoint/raw/files.Table.yaml +0 -2
- cognite_toolkit/_builtin_modules/sourcesystem/cdf_sharepoint/transformations/population/files.Transformation.sql +0 -9
- cognite_toolkit/_builtin_modules/sourcesystem/cdf_sharepoint/transformations/population/files.Transformation.yaml +0 -13
- cognite_toolkit/_builtin_modules/sourcesystem/cdf_sharepoint/workflows/population.Workflow.yaml +0 -3
- cognite_toolkit/_builtin_modules/sourcesystem/cdf_sharepoint/workflows/trigger.WorkflowTrigger.yaml +0 -9
- cognite_toolkit/_builtin_modules/sourcesystem/cdf_sharepoint/workflows/v1.WorkflowVersion.yaml +0 -11
- cognite_toolkit/_cdf_tk/_parameters/__init__.py +0 -18
- cognite_toolkit/_cdf_tk/_parameters/constants.py +0 -82
- cognite_toolkit/_cdf_tk/_parameters/data_classes.py +0 -200
- cognite_toolkit/_cdf_tk/_parameters/functions.py +0 -190
- cognite_toolkit/_cdf_tk/_parameters/get_type_hints.py +0 -123
- cognite_toolkit/_cdf_tk/_parameters/type_hint.py +0 -116
- cognite_toolkit/_cdf_tk/apps/_populate_app.py +0 -80
- cognite_toolkit/_cdf_tk/commands/_migrate/assets.py +0 -144
- cognite_toolkit/_cdf_tk/commands/_migrate/base.py +0 -88
- cognite_toolkit/_cdf_tk/commands/_migrate/canvas.py +0 -145
- cognite_toolkit/_cdf_tk/commands/_migrate/files.py +0 -165
- cognite_toolkit/_cdf_tk/commands/_migrate/timeseries.py +0 -165
- cognite_toolkit/_cdf_tk/commands/_populate.py +0 -306
- cognite_toolkit/_cdf_tk/commands/dump_data.py +0 -490
- cognite_toolkit/_cdf_tk/commands/featureflag.py +0 -27
- cognite_toolkit/_cdf_tk/loaders/__init__.py +0 -198
- cognite_toolkit/_cdf_tk/loaders/_resource_loaders/__init__.py +0 -90
- cognite_toolkit/_cdf_tk/loaders/_resource_loaders/fieldops_loaders.py +0 -260
- cognite_toolkit/_cdf_tk/prototypes/_packages/__init__.py +0 -1
- cognite_toolkit/_cdf_tk/prototypes/_packages/reference/manifest.yaml +0 -4
- cognite_toolkit/_cdf_tk/prototypes/_packages/reference/references/auth/reference.Group.yaml +0 -375
- cognite_toolkit/_cdf_tk/prototypes/_packages/reference/references/auth/reference.SecurityCategory.yaml +0 -1
- cognite_toolkit/_cdf_tk/prototypes/_packages/reference/references/data_models/reference.DataModel.yaml +0 -19
- cognite_toolkit/_cdf_tk/prototypes/_packages/reference/references/data_models/reference.View.yaml +0 -8
- cognite_toolkit/_cdf_tk/prototypes/_packages/reference/references/data_sets/reference.DataSet.yaml +0 -8
- cognite_toolkit/_cdf_tk/prototypes/_packages/reference/references/extraction_pipelines/reference.ExtractionPipeline.yaml +0 -27
- cognite_toolkit/_cdf_tk/prototypes/_packages/reference/references/extraction_pipelines/reference.ExtractionPipelineConfig.yaml +0 -3
- cognite_toolkit/_cdf_tk/prototypes/_packages/reference/references/functions/reference.Function.yaml +0 -22
- cognite_toolkit/_cdf_tk/prototypes/_packages/reference/references/functions/reference.FunctionSchedule.yaml +0 -6
- cognite_toolkit/_cdf_tk/prototypes/_packages/reference/references/labels/reference.LabelDefinition.yaml +0 -4
- cognite_toolkit/_cdf_tk/prototypes/_packages/reference/references/timeseries/reference.DataPointSubscription.yaml +0 -7
- cognite_toolkit/_cdf_tk/prototypes/_packages/reference/references/transformations/reference.Transformation.yaml +0 -51
- cognite_toolkit/_cdf_tk/prototypes/_packages/reference/references/transformations/reference.TransformationNotification.yaml +0 -3
- cognite_toolkit/_cdf_tk/prototypes/_packages/reference/references/transformations/reference.TransformationSchedule.yaml +0 -4
- cognite_toolkit/_cdf_tk/prototypes/_packages/reference/references/workflows/reference.WorkflowUpsert.yaml +0 -2
- cognite_toolkit/_cdf_tk/prototypes/_packages/reference/references/workflows/reference.WorkflowVersionUpsert.yaml +0 -10
- cognite_toolkit/_cdf_tk/prototypes/_packages/update_references.py +0 -337
- cognite_toolkit/_cdf_tk/prototypes/commands/__init__.py +0 -0
- cognite_toolkit/_cdf_tk/prototypes/import_app.py +0 -41
- cognite_toolkit/_cdf_tk/utils/table_writers.py +0 -434
- cognite_toolkit/_cdf_tk/utils/tarjan.py +0 -46
- cognite_toolkit-0.5.97.dist-info/RECORD +0 -726
- cognite_toolkit-0.5.97.dist-info/WHEEL +0 -4
- cognite_toolkit-0.5.97.dist-info/licenses/LICENSE +0 -18
- /cognite_toolkit/_cdf_tk/{prototypes/commands/import_.py → commands/_import_cmd.py} +0 -0
- /cognite_toolkit/{_builtin_modules → _cdf_tk/commands/build_v2}/__init__.py +0 -0
|
@@ -18,7 +18,6 @@ import sys
|
|
|
18
18
|
import time
|
|
19
19
|
from collections import defaultdict
|
|
20
20
|
from collections.abc import Hashable, Iterable, Sequence
|
|
21
|
-
from functools import lru_cache
|
|
22
21
|
from graphlib import CycleError, TopologicalSorter
|
|
23
22
|
from pathlib import Path
|
|
24
23
|
from time import sleep
|
|
@@ -35,29 +34,26 @@ from cognite.client.data_classes.capabilities import (
|
|
|
35
34
|
from cognite.client.data_classes.data_modeling import (
|
|
36
35
|
Container,
|
|
37
36
|
ContainerApply,
|
|
38
|
-
ContainerApplyList,
|
|
39
37
|
ContainerList,
|
|
40
38
|
DataModel,
|
|
41
39
|
DataModelApply,
|
|
42
|
-
DataModelApplyList,
|
|
43
40
|
DataModelList,
|
|
41
|
+
DirectRelation,
|
|
44
42
|
Edge,
|
|
45
43
|
EdgeApply,
|
|
46
|
-
EdgeApplyList,
|
|
47
44
|
EdgeApplyResultList,
|
|
48
45
|
EdgeList,
|
|
46
|
+
MappedProperty,
|
|
49
47
|
Node,
|
|
50
48
|
NodeApply,
|
|
51
|
-
NodeApplyList,
|
|
52
49
|
NodeApplyResultList,
|
|
53
50
|
NodeList,
|
|
51
|
+
RequiresConstraint,
|
|
54
52
|
Space,
|
|
55
53
|
SpaceApply,
|
|
56
|
-
SpaceApplyList,
|
|
57
54
|
SpaceList,
|
|
58
55
|
View,
|
|
59
56
|
ViewApply,
|
|
60
|
-
ViewApplyList,
|
|
61
57
|
ViewList,
|
|
62
58
|
)
|
|
63
59
|
from cognite.client.data_classes.data_modeling.graphql import DMLApplyResult
|
|
@@ -68,7 +64,6 @@ from cognite.client.data_classes.data_modeling.ids import (
|
|
|
68
64
|
NodeId,
|
|
69
65
|
ViewId,
|
|
70
66
|
)
|
|
71
|
-
from cognite.client.data_classes.data_modeling.views import ReverseDirectRelationApply
|
|
72
67
|
from cognite.client.exceptions import CogniteAPIError
|
|
73
68
|
from cognite.client.utils.useful_types import SequenceNotStr
|
|
74
69
|
from rich import print
|
|
@@ -76,21 +71,28 @@ from rich.console import Console
|
|
|
76
71
|
from rich.markup import escape
|
|
77
72
|
from rich.panel import Panel
|
|
78
73
|
|
|
79
|
-
from cognite_toolkit._cdf_tk
|
|
74
|
+
from cognite_toolkit._cdf_tk import constants
|
|
80
75
|
from cognite_toolkit._cdf_tk.client import ToolkitClient
|
|
81
76
|
from cognite_toolkit._cdf_tk.client.data_classes.graphql_data_models import (
|
|
82
77
|
GraphQLDataModel,
|
|
83
78
|
GraphQLDataModelList,
|
|
84
79
|
GraphQLDataModelWrite,
|
|
85
|
-
GraphQLDataModelWriteList,
|
|
86
80
|
)
|
|
87
81
|
from cognite_toolkit._cdf_tk.constants import BUILD_FOLDER_ENCODING, HAS_DATA_FILTER_LIMIT
|
|
82
|
+
from cognite_toolkit._cdf_tk.cruds._base_cruds import (
|
|
83
|
+
ResourceContainerCRUD,
|
|
84
|
+
ResourceCRUD,
|
|
85
|
+
)
|
|
88
86
|
from cognite_toolkit._cdf_tk.exceptions import GraphQLParseError, ToolkitCycleError, ToolkitFileNotFoundError
|
|
89
|
-
from cognite_toolkit._cdf_tk.
|
|
90
|
-
|
|
91
|
-
|
|
87
|
+
from cognite_toolkit._cdf_tk.resource_classes import (
|
|
88
|
+
ContainerYAML,
|
|
89
|
+
DataModelYAML,
|
|
90
|
+
EdgeYAML,
|
|
91
|
+
GraphQLDataModelYAML,
|
|
92
|
+
NodeYAML,
|
|
93
|
+
SpaceYAML,
|
|
94
|
+
ViewYAML,
|
|
92
95
|
)
|
|
93
|
-
from cognite_toolkit._cdf_tk.resource_classes import SpaceYAML
|
|
94
96
|
from cognite_toolkit._cdf_tk.tk_warnings import HighSeverityWarning, LowSeverityWarning, MediumSeverityWarning
|
|
95
97
|
from cognite_toolkit._cdf_tk.utils import (
|
|
96
98
|
GraphQLParser,
|
|
@@ -99,28 +101,24 @@ from cognite_toolkit._cdf_tk.utils import (
|
|
|
99
101
|
load_yaml_inject_variables,
|
|
100
102
|
quote_int_value_by_key_in_yaml,
|
|
101
103
|
safe_read,
|
|
104
|
+
sanitize_filename,
|
|
102
105
|
to_diff,
|
|
103
|
-
to_directory_compatible,
|
|
104
106
|
)
|
|
105
107
|
from cognite_toolkit._cdf_tk.utils.cdf import iterate_instances
|
|
106
108
|
from cognite_toolkit._cdf_tk.utils.diff_list import diff_list_identifiable, dm_identifier
|
|
107
|
-
from cognite_toolkit._cdf_tk.utils.tarjan import tarjan
|
|
108
109
|
|
|
109
|
-
from .
|
|
110
|
+
from .auth import GroupAllScopedCRUD
|
|
110
111
|
|
|
111
112
|
|
|
112
113
|
@final
|
|
113
|
-
class
|
|
114
|
+
class SpaceCRUD(ResourceContainerCRUD[str, SpaceApply, Space]):
|
|
114
115
|
item_name = "nodes and edges"
|
|
115
|
-
folder_name = "
|
|
116
|
-
filename_pattern = r"^.*space$"
|
|
116
|
+
folder_name = "data_modeling"
|
|
117
117
|
resource_cls = Space
|
|
118
118
|
resource_write_cls = SpaceApply
|
|
119
|
-
list_write_cls = SpaceApplyList
|
|
120
|
-
list_cls = SpaceList
|
|
121
119
|
kind = "Space"
|
|
122
120
|
yaml_cls = SpaceYAML
|
|
123
|
-
dependencies = frozenset({
|
|
121
|
+
dependencies = frozenset({GroupAllScopedCRUD})
|
|
124
122
|
_doc_url = "Spaces/operation/ApplySpaces"
|
|
125
123
|
delete_recreate_limit_seconds: int = 10
|
|
126
124
|
|
|
@@ -242,19 +240,26 @@ class SpaceLoader(ResourceContainerLoader[str, SpaceApply, Space, SpaceApplyList
|
|
|
242
240
|
yield instances.as_ids()
|
|
243
241
|
|
|
244
242
|
|
|
245
|
-
class
|
|
246
|
-
ResourceContainerLoader[ContainerId, ContainerApply, Container, ContainerApplyList, ContainerList]
|
|
247
|
-
):
|
|
243
|
+
class ContainerCRUD(ResourceContainerCRUD[ContainerId, ContainerApply, Container]):
|
|
248
244
|
item_name = "nodes and edges"
|
|
249
|
-
folder_name = "
|
|
250
|
-
filename_pattern = r"^.*container$"
|
|
245
|
+
folder_name = "data_modeling"
|
|
251
246
|
resource_cls = Container
|
|
252
247
|
resource_write_cls = ContainerApply
|
|
253
|
-
list_cls = ContainerList
|
|
254
|
-
list_write_cls = ContainerApplyList
|
|
255
248
|
kind = "Container"
|
|
256
|
-
dependencies = frozenset({
|
|
249
|
+
dependencies = frozenset({SpaceCRUD})
|
|
250
|
+
yaml_cls = ContainerYAML
|
|
257
251
|
_doc_url = "Containers/operation/ApplyContainers"
|
|
252
|
+
sub_folder_name = "containers"
|
|
253
|
+
|
|
254
|
+
def __init__(
|
|
255
|
+
self,
|
|
256
|
+
client: ToolkitClient,
|
|
257
|
+
build_dir: Path | None,
|
|
258
|
+
console: Console | None = None,
|
|
259
|
+
topological_sort_implements: bool = False,
|
|
260
|
+
) -> None:
|
|
261
|
+
super().__init__(client, build_dir, console)
|
|
262
|
+
self._container_by_id: dict[ContainerId, Container] = {}
|
|
258
263
|
|
|
259
264
|
@property
|
|
260
265
|
def display_name(self) -> str:
|
|
@@ -275,7 +280,7 @@ class ContainerLoader(
|
|
|
275
280
|
else DataModelsAcl.Scope.All()
|
|
276
281
|
)
|
|
277
282
|
|
|
278
|
-
return DataModelsAcl(actions, scope)
|
|
283
|
+
return DataModelsAcl(actions, scope)
|
|
279
284
|
|
|
280
285
|
@classmethod
|
|
281
286
|
def get_id(cls, item: ContainerApply | Container | dict) -> ContainerId:
|
|
@@ -291,9 +296,9 @@ class ContainerLoader(
|
|
|
291
296
|
return id.dump(include_type=False)
|
|
292
297
|
|
|
293
298
|
@classmethod
|
|
294
|
-
def get_dependent_items(cls, item: dict) -> Iterable[tuple[type[
|
|
299
|
+
def get_dependent_items(cls, item: dict) -> Iterable[tuple[type[ResourceCRUD], Hashable]]:
|
|
295
300
|
if "space" in item:
|
|
296
|
-
yield
|
|
301
|
+
yield SpaceCRUD, item["space"]
|
|
297
302
|
# Note that we are very careful in the code below to not raise an exception if the
|
|
298
303
|
# item is not properly formed. If that is the case, an appropriate warning will be given elsewhere.
|
|
299
304
|
for prop in item.get("properties", {}).values():
|
|
@@ -305,12 +310,13 @@ class ContainerLoader(
|
|
|
305
310
|
container = prop_type["container"]
|
|
306
311
|
if "space" in container and "externalId" in container and container.get("type") == "container":
|
|
307
312
|
yield (
|
|
308
|
-
|
|
313
|
+
ContainerCRUD,
|
|
309
314
|
ContainerId(space=container["space"], external_id=container["externalId"]),
|
|
310
315
|
)
|
|
311
316
|
|
|
312
317
|
def dump_resource(self, resource: Container, local: dict[str, Any] | None = None) -> dict[str, Any]:
|
|
313
318
|
dumped = resource.as_write().dump()
|
|
319
|
+
has_local = local is not None
|
|
314
320
|
local = local or {}
|
|
315
321
|
for key in ["constraints", "indexes"]:
|
|
316
322
|
if not dumped.get(key) and key not in local:
|
|
@@ -322,15 +328,16 @@ class ContainerLoader(
|
|
|
322
328
|
continue
|
|
323
329
|
local_prop = local_prop_by_id[prop_id]
|
|
324
330
|
for key, default in [("immutable", False), ("autoIncrement", False), ("nullable", True)]:
|
|
325
|
-
if cdf_prop.get(key) is default and key not in local_prop:
|
|
331
|
+
if has_local and cdf_prop.get(key) is default and key not in local_prop:
|
|
326
332
|
cdf_prop.pop(key, None)
|
|
327
333
|
cdf_type = cdf_prop.get("type", {})
|
|
328
334
|
local_type = local_prop.get("type", {})
|
|
329
335
|
for key, type_default in [("list", False), ("collation", "ucs_basic")]:
|
|
330
|
-
if cdf_type.get(key) == type_default and key not in local_type:
|
|
336
|
+
if has_local and cdf_type.get(key) == type_default and key not in local_type:
|
|
331
337
|
cdf_type.pop(key, None)
|
|
332
|
-
|
|
333
|
-
|
|
338
|
+
if has_local and "usedFor" not in local and dumped.get("usedFor") == "node":
|
|
339
|
+
# Only drop if set to default by server.
|
|
340
|
+
dumped.pop("usedFor", None)
|
|
334
341
|
return dumped
|
|
335
342
|
|
|
336
343
|
def create(self, items: Sequence[ContainerApply]) -> ContainerList:
|
|
@@ -422,78 +429,89 @@ class ContainerLoader(
|
|
|
422
429
|
):
|
|
423
430
|
yield instances.as_ids()
|
|
424
431
|
|
|
432
|
+
def _lookup_containers(self, container_ids: Sequence[ContainerId]) -> dict[ContainerId, Container]:
|
|
433
|
+
ids_to_lookup = [container_id for container_id in container_ids if container_id not in self._container_by_id]
|
|
434
|
+
if ids_to_lookup:
|
|
435
|
+
retrieved_containers = self.client.data_modeling.containers.retrieve(ids_to_lookup)
|
|
436
|
+
for container in retrieved_containers:
|
|
437
|
+
self._container_by_id[container.as_id()] = container
|
|
438
|
+
if missing_container_ids := set(container_ids) - set(self._container_by_id.keys()):
|
|
439
|
+
MediumSeverityWarning(
|
|
440
|
+
f"Containers {missing_container_ids} not found or you don't have permission to access them."
|
|
441
|
+
).print_warning(console=self.console)
|
|
442
|
+
return {
|
|
443
|
+
container_id: self._container_by_id[container_id]
|
|
444
|
+
for container_id in container_ids
|
|
445
|
+
if container_id in self._container_by_id
|
|
446
|
+
}
|
|
447
|
+
|
|
448
|
+
def _find_direct_container_dependencies(
|
|
449
|
+
self, container_ids: Sequence[ContainerId]
|
|
450
|
+
) -> dict[ContainerId, set[ContainerId]]:
|
|
451
|
+
containers_by_id = self._lookup_containers(container_ids)
|
|
452
|
+
container_dependencies: dict[ContainerId, set[ContainerId]] = defaultdict(set)
|
|
453
|
+
for container_id, container in containers_by_id.items():
|
|
454
|
+
for constraint in container.constraints.values():
|
|
455
|
+
if not isinstance(constraint, RequiresConstraint):
|
|
456
|
+
continue
|
|
457
|
+
container_dependencies[container_id].add(constraint.require)
|
|
458
|
+
for property in container.properties.values():
|
|
459
|
+
if not isinstance(property.type, DirectRelation) or property.type.container is None:
|
|
460
|
+
continue
|
|
461
|
+
container_dependencies[container_id].add(property.type.container)
|
|
462
|
+
return container_dependencies
|
|
463
|
+
|
|
464
|
+
def _propagate_indirect_container_dependencies(
|
|
465
|
+
self, container_dependencies_by_id: dict[ContainerId, set[ContainerId]], dependants: Sequence[ContainerId]
|
|
466
|
+
) -> dict[ContainerId, set[ContainerId]]:
|
|
467
|
+
"""Propagate indirect container dependencies using a recursive approach.
|
|
468
|
+
|
|
469
|
+
Args:
|
|
470
|
+
container_dependencies_by_id: Mapping of container IDs to their direct dependencies
|
|
471
|
+
dependants: Chain of dependant containers to propagate dependencies to
|
|
472
|
+
|
|
473
|
+
Returns:
|
|
474
|
+
Updated dictionary mapping each container ID to all its direct and indirect dependencies
|
|
475
|
+
"""
|
|
476
|
+
current_container_id = dependants[0]
|
|
477
|
+
dependencies_to_propagate: set[ContainerId] = set()
|
|
478
|
+
for container_dependency in container_dependencies_by_id[current_container_id]:
|
|
479
|
+
if container_dependency in container_dependencies_by_id:
|
|
480
|
+
# If already processed, propagate its dependencies to current container instead of revisiting it
|
|
481
|
+
dependencies_to_propagate.update(container_dependencies_by_id[container_dependency])
|
|
482
|
+
continue
|
|
483
|
+
self._propagate_indirect_container_dependencies(
|
|
484
|
+
container_dependencies_by_id, [container_dependency, *dependants]
|
|
485
|
+
)
|
|
486
|
+
container_dependencies_by_id[current_container_id].update(dependencies_to_propagate)
|
|
487
|
+
return container_dependencies_by_id
|
|
488
|
+
|
|
489
|
+
def _find_direct_and_indirect_container_dependencies(
|
|
490
|
+
self, container_ids: Sequence[ContainerId]
|
|
491
|
+
) -> dict[ContainerId, set[ContainerId]]:
|
|
492
|
+
container_dependencies_by_id = self._find_direct_container_dependencies(container_ids)
|
|
493
|
+
for container_id in list(container_dependencies_by_id.keys()):
|
|
494
|
+
self._propagate_indirect_container_dependencies(container_dependencies_by_id, [container_id])
|
|
495
|
+
return container_dependencies_by_id
|
|
496
|
+
|
|
425
497
|
@staticmethod
|
|
426
498
|
def _chunker(seq: Sequence, size: int) -> Iterable[Sequence]:
|
|
427
499
|
return (seq[pos : pos + size] for pos in range(0, len(seq), size))
|
|
428
500
|
|
|
429
|
-
@classmethod
|
|
430
|
-
@lru_cache(maxsize=1)
|
|
431
|
-
def get_write_cls_parameter_spec(cls) -> ParameterSpecSet:
|
|
432
|
-
output = super().get_write_cls_parameter_spec()
|
|
433
|
-
# In the SDK this is called isList, while in the API it is called list.
|
|
434
|
-
output.discard(
|
|
435
|
-
ParameterSpec(
|
|
436
|
-
("properties", ANY_STR, "type", "isList"), frozenset({"bool"}), is_required=True, _is_nullable=False
|
|
437
|
-
)
|
|
438
|
-
)
|
|
439
|
-
output.add(
|
|
440
|
-
ParameterSpec(
|
|
441
|
-
("properties", ANY_STR, "type", "list"), frozenset({"bool"}), is_required=True, _is_nullable=False
|
|
442
|
-
)
|
|
443
|
-
)
|
|
444
|
-
# The parameters below are used by the SDK to load the correct class, and ase thus not part of the init
|
|
445
|
-
# that the spec is created from, so we need to add them manually.
|
|
446
|
-
output.update(
|
|
447
|
-
ParameterSpecSet(
|
|
448
|
-
{
|
|
449
|
-
ParameterSpec(
|
|
450
|
-
("properties", ANY_STR, "type", "type"),
|
|
451
|
-
frozenset({"str"}),
|
|
452
|
-
is_required=True,
|
|
453
|
-
_is_nullable=False,
|
|
454
|
-
),
|
|
455
|
-
ParameterSpec(
|
|
456
|
-
# direct relations with constraint
|
|
457
|
-
("properties", ANY_STR, "type", "container", "type"),
|
|
458
|
-
frozenset({"str"}),
|
|
459
|
-
is_required=True,
|
|
460
|
-
_is_nullable=False,
|
|
461
|
-
),
|
|
462
|
-
ParameterSpec(
|
|
463
|
-
("constraints", ANY_STR, "constraintType"),
|
|
464
|
-
frozenset({"str"}),
|
|
465
|
-
is_required=True,
|
|
466
|
-
_is_nullable=False,
|
|
467
|
-
),
|
|
468
|
-
ParameterSpec(
|
|
469
|
-
("constraints", ANY_STR, "require", "type"),
|
|
470
|
-
frozenset({"str"}),
|
|
471
|
-
is_required=True,
|
|
472
|
-
_is_nullable=False,
|
|
473
|
-
),
|
|
474
|
-
ParameterSpec(
|
|
475
|
-
("indexes", ANY_STR, "indexType"), frozenset({"str"}), is_required=True, _is_nullable=False
|
|
476
|
-
),
|
|
477
|
-
}
|
|
478
|
-
)
|
|
479
|
-
)
|
|
480
|
-
return output
|
|
481
|
-
|
|
482
501
|
@classmethod
|
|
483
502
|
def as_str(cls, id: ContainerId) -> str:
|
|
484
|
-
return
|
|
503
|
+
return sanitize_filename(f"{id.space}_{id.external_id}")
|
|
485
504
|
|
|
486
505
|
|
|
487
|
-
class
|
|
488
|
-
folder_name = "
|
|
489
|
-
filename_pattern = r"^.*view$"
|
|
506
|
+
class ViewCRUD(ResourceCRUD[ViewId, ViewApply, View]):
|
|
507
|
+
folder_name = "data_modeling"
|
|
490
508
|
resource_cls = View
|
|
491
509
|
resource_write_cls = ViewApply
|
|
492
|
-
list_cls = ViewList
|
|
493
|
-
list_write_cls = ViewApplyList
|
|
494
510
|
kind = "View"
|
|
495
|
-
dependencies = frozenset({
|
|
511
|
+
dependencies = frozenset({SpaceCRUD, ContainerCRUD})
|
|
512
|
+
yaml_cls = ViewYAML
|
|
496
513
|
_doc_url = "Views/operation/ApplyViews"
|
|
514
|
+
sub_folder_name = "views"
|
|
497
515
|
|
|
498
516
|
def __init__(
|
|
499
517
|
self,
|
|
@@ -525,7 +543,7 @@ class ViewLoader(ResourceLoader[ViewId, ViewApply, View, ViewApplyList, ViewList
|
|
|
525
543
|
else DataModelsAcl.Scope.All()
|
|
526
544
|
)
|
|
527
545
|
|
|
528
|
-
return DataModelsAcl(actions, scope)
|
|
546
|
+
return DataModelsAcl(actions, scope)
|
|
529
547
|
|
|
530
548
|
@classmethod
|
|
531
549
|
def get_id(cls, item: ViewApply | View | dict) -> ViewId:
|
|
@@ -542,33 +560,33 @@ class ViewLoader(ResourceLoader[ViewId, ViewApply, View, ViewApplyList, ViewList
|
|
|
542
560
|
return id.dump(include_type=False)
|
|
543
561
|
|
|
544
562
|
@classmethod
|
|
545
|
-
def get_dependent_items(cls, item: dict) -> Iterable[tuple[type[
|
|
563
|
+
def get_dependent_items(cls, item: dict) -> Iterable[tuple[type[ResourceCRUD], Hashable]]:
|
|
546
564
|
if "space" in item:
|
|
547
|
-
yield
|
|
565
|
+
yield SpaceCRUD, item["space"]
|
|
548
566
|
if isinstance(implements := item.get("implements", []), list):
|
|
549
567
|
for parent in implements:
|
|
550
568
|
if not isinstance(parent, dict):
|
|
551
569
|
continue
|
|
552
570
|
if parent.get("type") == "view" and in_dict(["space", "externalId", "version"], parent):
|
|
553
571
|
yield (
|
|
554
|
-
|
|
572
|
+
ViewCRUD,
|
|
555
573
|
ViewId(parent["space"], parent["externalId"], str(v) if (v := parent.get("version")) else None),
|
|
556
574
|
)
|
|
557
575
|
for prop in item.get("properties", {}).values():
|
|
558
576
|
if (container := prop.get("container", {})) and container.get("type") == "container":
|
|
559
577
|
if in_dict(("space", "externalId"), container):
|
|
560
|
-
yield
|
|
578
|
+
yield ContainerCRUD, ContainerId(container["space"], container["externalId"])
|
|
561
579
|
for key, dct_ in [("source", prop), ("edgeSource", prop), ("source", prop.get("through", {}))]:
|
|
562
580
|
if source := dct_.get(key, {}):
|
|
563
581
|
if source.get("type") == "view" and in_dict(("space", "externalId", "version"), source):
|
|
564
582
|
yield (
|
|
565
|
-
|
|
583
|
+
ViewCRUD,
|
|
566
584
|
ViewId(
|
|
567
585
|
source["space"], source["externalId"], str(v) if (v := source.get("version")) else None
|
|
568
586
|
),
|
|
569
587
|
)
|
|
570
588
|
elif source.get("type") == "container" and in_dict(("space", "externalId"), source):
|
|
571
|
-
yield
|
|
589
|
+
yield ContainerCRUD, ContainerId(source["space"], source["externalId"])
|
|
572
590
|
|
|
573
591
|
def safe_read(self, filepath: Path | str) -> str:
|
|
574
592
|
# The version is a string, but the user often writes it as an int.
|
|
@@ -605,7 +623,9 @@ class ViewLoader(ResourceLoader[ViewId, ViewApply, View, ViewApplyList, ViewList
|
|
|
605
623
|
# We sort the implements in topological order to ensure that the child view get the order grandparent,
|
|
606
624
|
# parent, such that the parent's source is used.
|
|
607
625
|
try:
|
|
608
|
-
dumped["implements"] = [
|
|
626
|
+
dumped["implements"] = [
|
|
627
|
+
view_id.dump() for view_id in self.topological_sort_implements(resource.implements)
|
|
628
|
+
]
|
|
609
629
|
except ToolkitCycleError as e:
|
|
610
630
|
warning = MediumSeverityWarning(f"Failed to sort implements for view {resource.as_id()}: {e}")
|
|
611
631
|
warning.print_warning(console=self.console)
|
|
@@ -644,78 +664,8 @@ class ViewLoader(ResourceLoader[ViewId, ViewApply, View, ViewApplyList, ViewList
|
|
|
644
664
|
if self._is_auto_retryable(e1):
|
|
645
665
|
# Fallback to creating one by one if the error is auto-retryable.
|
|
646
666
|
return self._fallback_create_one_by_one(items, e1)
|
|
647
|
-
elif self._is_false_not_exists(e1, {item.as_id() for item in items}):
|
|
648
|
-
return self._try_to_recover_coupled(items, e1)
|
|
649
667
|
raise
|
|
650
668
|
|
|
651
|
-
@staticmethod
|
|
652
|
-
def _is_false_not_exists(e: CogniteAPIError, request_views: set[ViewId]) -> bool:
|
|
653
|
-
if "not exist" not in e.message and 400 <= e.code < 500:
|
|
654
|
-
return False
|
|
655
|
-
results = re.findall(r"'([a-zA-Z0-9_-]+):([a-zA-Z0-9_]+)/([.a-zA-Z0-9_-]+)'", e.message)
|
|
656
|
-
if not results:
|
|
657
|
-
# No view references in the message
|
|
658
|
-
return False
|
|
659
|
-
error_message_views = {ViewId(*result) for result in results}
|
|
660
|
-
return error_message_views.issubset(request_views)
|
|
661
|
-
|
|
662
|
-
def _try_to_recover_coupled(self, items: Sequence[ViewApply], original_error: CogniteAPIError) -> ViewList:
|
|
663
|
-
"""The /models/views endpoint can give faulty 400 about missing views that are part of the request.
|
|
664
|
-
|
|
665
|
-
This method tries to recover from such errors by identifying the strongly connected components in the graph
|
|
666
|
-
defined by the implements and through properties of the views. We then create the components in topological
|
|
667
|
-
order.
|
|
668
|
-
|
|
669
|
-
Args:
|
|
670
|
-
items: The items that failed to create.
|
|
671
|
-
original_error: The original error that was raised. If the problem is not recoverable, this error is raised.
|
|
672
|
-
|
|
673
|
-
Returns:
|
|
674
|
-
The views that were created.
|
|
675
|
-
|
|
676
|
-
"""
|
|
677
|
-
views_by_id = {self.get_id(item): item for item in items}
|
|
678
|
-
parents_by_child: dict[ViewId, set[ViewId]] = {
|
|
679
|
-
view_id: {parent for parent in view.implements or [] if parent in views_by_id}
|
|
680
|
-
for view_id, view in views_by_id.items()
|
|
681
|
-
}
|
|
682
|
-
# Check for cycles in the implements graph
|
|
683
|
-
try:
|
|
684
|
-
TopologicalSorter(parents_by_child).static_order()
|
|
685
|
-
except CycleError as e:
|
|
686
|
-
raise ToolkitCycleError(f"Failed to deploy views. This likely due to a cycle in implements. {e.args[1]}")
|
|
687
|
-
|
|
688
|
-
dependencies_by_id: dict[ViewId, set[ViewId]] = defaultdict(set)
|
|
689
|
-
for view_id, view in views_by_id.items():
|
|
690
|
-
dependencies_by_id[view_id].update([parent for parent in view.implements or [] if parent in views_by_id])
|
|
691
|
-
for properties in (view.properties or {}).values():
|
|
692
|
-
if isinstance(properties, ReverseDirectRelationApply):
|
|
693
|
-
if isinstance(properties.through.source, ViewId) and properties.through.source in views_by_id:
|
|
694
|
-
dependencies_by_id[view_id].add(properties.through.source)
|
|
695
|
-
|
|
696
|
-
LowSeverityWarning(
|
|
697
|
-
f"Failed to create {len(items)} views: {escape(original_error.message)}.\nAttempting to recover..."
|
|
698
|
-
).print_warning(include_timestamp=True, console=self.console)
|
|
699
|
-
created = ViewList([])
|
|
700
|
-
for strongly_connected in tarjan(dependencies_by_id):
|
|
701
|
-
to_create = [views_by_id[view_id] for view_id in strongly_connected]
|
|
702
|
-
try:
|
|
703
|
-
created_set = self.client.data_modeling.views.apply(to_create)
|
|
704
|
-
except CogniteAPIError as error:
|
|
705
|
-
self.client.data_modeling.views.delete(created.as_ids())
|
|
706
|
-
HighSeverityWarning(
|
|
707
|
-
f"Recovering attempt failed. Could not create views {self.get_ids(to_create)}: "
|
|
708
|
-
f"{escape(error.message)}.\n Raising original error."
|
|
709
|
-
).print_warning(console=self.console)
|
|
710
|
-
raise original_error
|
|
711
|
-
created.extend(created_set)
|
|
712
|
-
message = f"Recovery attempt succeeded. Created {len(created)} views."
|
|
713
|
-
if self.console:
|
|
714
|
-
self.console.print(message)
|
|
715
|
-
else:
|
|
716
|
-
print(message)
|
|
717
|
-
return created
|
|
718
|
-
|
|
719
669
|
@staticmethod
|
|
720
670
|
def _is_auto_retryable(e: CogniteAPIError) -> bool:
|
|
721
671
|
return isinstance(e.extra, dict) and "isAutoRetryable" in e.extra and e.extra["isAutoRetryable"]
|
|
@@ -732,8 +682,8 @@ class ViewLoader(ResourceLoader[ViewId, ViewApply, View, ViewApplyList, ViewList
|
|
|
732
682
|
try:
|
|
733
683
|
created = self.client.data_modeling.views.apply(item)
|
|
734
684
|
except CogniteAPIError as e2:
|
|
735
|
-
e2.failed.
|
|
736
|
-
e2.successful.
|
|
685
|
+
e2.failed = tuple(e2.failed) + tuple(items[no + 1 :])
|
|
686
|
+
e2.successful = tuple(e2.successful) + tuple(created_list)
|
|
737
687
|
raise e2 from e1
|
|
738
688
|
else:
|
|
739
689
|
created_list.append(created)
|
|
@@ -775,95 +725,9 @@ class ViewLoader(ResourceLoader[ViewId, ViewApply, View, ViewApplyList, ViewList
|
|
|
775
725
|
) -> Iterable[View]:
|
|
776
726
|
return iter(self.client.data_modeling.views(space=space))
|
|
777
727
|
|
|
778
|
-
@classmethod
|
|
779
|
-
@lru_cache(maxsize=1)
|
|
780
|
-
def get_write_cls_parameter_spec(cls) -> ParameterSpecSet:
|
|
781
|
-
spec = super().get_write_cls_parameter_spec()
|
|
782
|
-
# The Filter class in the SDK class View implementation is deviating from the API.
|
|
783
|
-
# So we need to modify the spec to match the API.
|
|
784
|
-
parameter_path = ("filter",)
|
|
785
|
-
length = len(parameter_path)
|
|
786
|
-
for item in spec:
|
|
787
|
-
if len(item.path) >= length + 1 and item.path[:length] == parameter_path[:length]:
|
|
788
|
-
# Add extra ANY_STR layer
|
|
789
|
-
# The spec class is immutable, so we use this trick to modify it.
|
|
790
|
-
is_has_data_filter = item.path[1] in ["containers", "views"]
|
|
791
|
-
if is_has_data_filter:
|
|
792
|
-
# Special handling of the HasData filter that deviates in SDK implementation from API Spec.
|
|
793
|
-
object.__setattr__(item, "path", (*item.path[:length], ANY_STR, item.path[length + 1 :]))
|
|
794
|
-
else:
|
|
795
|
-
object.__setattr__(item, "path", (*item.path[:length], ANY_STR, *item.path[length:]))
|
|
796
|
-
|
|
797
|
-
spec.add(ParameterSpec(("filter", ANY_STR), frozenset({"dict"}), is_required=False, _is_nullable=False))
|
|
798
|
-
# The following types are used by the SDK to load the correct class. They are not part of the init,
|
|
799
|
-
# so we need to add it manually.
|
|
800
|
-
spec.update(
|
|
801
|
-
ParameterSpecSet(
|
|
802
|
-
{
|
|
803
|
-
ParameterSpec(
|
|
804
|
-
("implements", ANY_INT, "type"), frozenset({"str"}), is_required=True, _is_nullable=False
|
|
805
|
-
),
|
|
806
|
-
ParameterSpec(
|
|
807
|
-
("properties", ANY_STR, "connectionType"),
|
|
808
|
-
frozenset({"str"}),
|
|
809
|
-
is_required=True,
|
|
810
|
-
_is_nullable=False,
|
|
811
|
-
),
|
|
812
|
-
ParameterSpec(
|
|
813
|
-
("properties", ANY_STR, "source", "type"),
|
|
814
|
-
frozenset({"str"}),
|
|
815
|
-
is_required=True,
|
|
816
|
-
_is_nullable=False,
|
|
817
|
-
),
|
|
818
|
-
ParameterSpec(
|
|
819
|
-
("properties", ANY_STR, "container", "type"),
|
|
820
|
-
frozenset({"str"}),
|
|
821
|
-
is_required=True,
|
|
822
|
-
_is_nullable=False,
|
|
823
|
-
),
|
|
824
|
-
ParameterSpec(
|
|
825
|
-
("properties", ANY_STR, "edgeSource", "type"),
|
|
826
|
-
frozenset({"str"}),
|
|
827
|
-
is_required=True,
|
|
828
|
-
_is_nullable=False,
|
|
829
|
-
),
|
|
830
|
-
ParameterSpec(
|
|
831
|
-
("properties", ANY_STR, "through", "source", "type"),
|
|
832
|
-
frozenset({"str"}),
|
|
833
|
-
is_required=True,
|
|
834
|
-
_is_nullable=False,
|
|
835
|
-
),
|
|
836
|
-
ParameterSpec(
|
|
837
|
-
# In the SDK, this is called "property"
|
|
838
|
-
("properties", ANY_STR, "through", "identifier"),
|
|
839
|
-
frozenset({"str"}),
|
|
840
|
-
is_required=True,
|
|
841
|
-
_is_nullable=False,
|
|
842
|
-
),
|
|
843
|
-
# Filters are complex, so we do not attempt to give any more specific spec.
|
|
844
|
-
ParameterSpec(
|
|
845
|
-
("filter", ANYTHING),
|
|
846
|
-
frozenset({"str"}),
|
|
847
|
-
is_required=True,
|
|
848
|
-
_is_nullable=False,
|
|
849
|
-
),
|
|
850
|
-
}
|
|
851
|
-
)
|
|
852
|
-
)
|
|
853
|
-
spec.discard(
|
|
854
|
-
ParameterSpec(
|
|
855
|
-
# The API spec calls this "identifier", while the SDK calls it "property".
|
|
856
|
-
("properties", ANY_STR, "through", "property"),
|
|
857
|
-
frozenset({"str"}),
|
|
858
|
-
is_required=True,
|
|
859
|
-
_is_nullable=False,
|
|
860
|
-
)
|
|
861
|
-
)
|
|
862
|
-
return spec
|
|
863
|
-
|
|
864
728
|
@classmethod
|
|
865
729
|
def as_str(cls, id: ViewId) -> str:
|
|
866
|
-
return
|
|
730
|
+
return sanitize_filename(id.external_id)
|
|
867
731
|
|
|
868
732
|
def _lookup_views(self, view_ids: list[ViewId]) -> dict[ViewId, View]:
|
|
869
733
|
"""Looks up views by their IDs and caches them."""
|
|
@@ -874,14 +738,51 @@ class ViewLoader(ResourceLoader[ViewId, ViewApply, View, ViewApplyList, ViewList
|
|
|
874
738
|
self._view_by_id[view.as_id()] = view
|
|
875
739
|
return {view_id: self._view_by_id[view_id] for view_id in view_ids if view_id in self._view_by_id}
|
|
876
740
|
|
|
877
|
-
def
|
|
741
|
+
def get_readonly_properties(self, view_id: ViewId) -> set[str]:
|
|
742
|
+
"""Retrieve the set of read-only properties for a given view."""
|
|
743
|
+
|
|
744
|
+
readonly_properties: set[str] = set()
|
|
745
|
+
|
|
746
|
+
# Retrieve the view to check its properties
|
|
747
|
+
view = self._lookup_views([view_id]).get(view_id)
|
|
748
|
+
if view is None:
|
|
749
|
+
return readonly_properties
|
|
750
|
+
|
|
751
|
+
# Check each property in the view
|
|
752
|
+
for property_identifier, property in view.properties.items():
|
|
753
|
+
if isinstance(
|
|
754
|
+
property, MappedProperty
|
|
755
|
+
) and property.container_property_identifier in constants.READONLY_CONTAINER_PROPERTIES.get(
|
|
756
|
+
property.container, set()
|
|
757
|
+
):
|
|
758
|
+
readonly_properties.add(property_identifier)
|
|
759
|
+
return readonly_properties
|
|
760
|
+
|
|
761
|
+
def _build_view_implements_dependencies(
|
|
762
|
+
self, view_by_ids: dict[ViewId, View], include: set[ViewId] | None = None
|
|
763
|
+
) -> dict[ViewId, set[ViewId]]:
|
|
764
|
+
"""Build a dependency graph based on view implements relationships.
|
|
765
|
+
|
|
766
|
+
Args:
|
|
767
|
+
view_by_ids: Mapping of view IDs to View objects
|
|
768
|
+
include: Optional set of view IDs to include in the dependencies, if None, all views are included.
|
|
769
|
+
|
|
770
|
+
Returns:
|
|
771
|
+
Dictionary mapping each view ID to the set of view IDs it depends on (implements)
|
|
772
|
+
"""
|
|
773
|
+
dependencies: dict[ViewId, set[ViewId]] = {}
|
|
774
|
+
for view_id, view in view_by_ids.items():
|
|
775
|
+
dependencies[view_id] = set()
|
|
776
|
+
for implemented_view_id in view.implements or []:
|
|
777
|
+
if include is None or implemented_view_id in include:
|
|
778
|
+
dependencies[view_id].add(implemented_view_id)
|
|
779
|
+
return dependencies
|
|
780
|
+
|
|
781
|
+
def topological_sort_implements(self, view_ids: list[ViewId]) -> list[ViewId]:
|
|
878
782
|
"""Sorts the views in topological order based on their implements and through properties."""
|
|
879
783
|
view_by_ids = self._lookup_views(view_ids)
|
|
880
|
-
parents_by_child
|
|
881
|
-
|
|
882
|
-
parents_by_child[child] = set()
|
|
883
|
-
for parent in view.implements or []:
|
|
884
|
-
parents_by_child[child].add(parent)
|
|
784
|
+
parents_by_child = self._build_view_implements_dependencies(view_by_ids)
|
|
785
|
+
|
|
885
786
|
try:
|
|
886
787
|
sorted_views = list(TopologicalSorter(parents_by_child).static_order())
|
|
887
788
|
except CycleError as e:
|
|
@@ -891,17 +792,63 @@ class ViewLoader(ResourceLoader[ViewId, ViewApply, View, ViewApplyList, ViewList
|
|
|
891
792
|
|
|
892
793
|
return sorted_views
|
|
893
794
|
|
|
795
|
+
def topological_sort_container_constraints(self, view_ids: list[ViewId]) -> list[ViewId]:
|
|
796
|
+
"""Sorts the views in topological order based on their container constraints."""
|
|
797
|
+
|
|
798
|
+
view_by_ids = self._lookup_views(view_ids)
|
|
799
|
+
if missing_view_ids := set(view_ids) - set(view_by_ids.keys()):
|
|
800
|
+
MediumSeverityWarning(
|
|
801
|
+
f"Views {missing_view_ids} not found or you don't have permission to access them, skipping dependency check."
|
|
802
|
+
).print_warning(console=self.console)
|
|
803
|
+
return view_ids
|
|
804
|
+
|
|
805
|
+
view_to_containers: dict[ViewId, set[ContainerId]] = {}
|
|
806
|
+
container_to_views: defaultdict[ContainerId, set[ViewId]] = defaultdict(set)
|
|
807
|
+
for view_id, view in view_by_ids.items():
|
|
808
|
+
view_to_containers[view_id] = view.referenced_containers()
|
|
809
|
+
for container_id in view_to_containers[view_id]:
|
|
810
|
+
container_to_views[container_id].add(view_id)
|
|
811
|
+
|
|
812
|
+
container_crud = ContainerCRUD.create_loader(self.client)
|
|
813
|
+
container_dependencies_by_id = container_crud._find_direct_and_indirect_container_dependencies(
|
|
814
|
+
list(container_to_views.keys())
|
|
815
|
+
)
|
|
816
|
+
|
|
817
|
+
# First, add view dependencies based on implements relationships
|
|
818
|
+
view_dependencies = self._build_view_implements_dependencies(view_by_ids, set(view_to_containers.keys()))
|
|
819
|
+
|
|
820
|
+
# Then, add view dependencies based on mapped container constraints
|
|
821
|
+
for view_id, mapped_containers in view_to_containers.items():
|
|
822
|
+
for container_id in mapped_containers:
|
|
823
|
+
# Get all containers this container depends on
|
|
824
|
+
if container_id not in container_dependencies_by_id:
|
|
825
|
+
continue
|
|
826
|
+
for required_container in container_dependencies_by_id[container_id]:
|
|
827
|
+
if required_container not in container_to_views:
|
|
828
|
+
continue
|
|
829
|
+
# If this view already implements the required container, the requirement is self-satisfied
|
|
830
|
+
# and we don't need to depend on other views that also implement it (they are peers).
|
|
831
|
+
if required_container in mapped_containers:
|
|
832
|
+
continue
|
|
833
|
+
# This view doesn't implement the required container, so depend on all views that do
|
|
834
|
+
view_dependencies[view_id].update(container_to_views[required_container])
|
|
835
|
+
try:
|
|
836
|
+
sorted_views = list(TopologicalSorter(view_dependencies).static_order())
|
|
837
|
+
except CycleError as e:
|
|
838
|
+
raise ToolkitCycleError(
|
|
839
|
+
f"Failed to sort views topologically. This likely due to a cycle in implements. {e.args[1]}"
|
|
840
|
+
)
|
|
841
|
+
return sorted_views
|
|
842
|
+
|
|
894
843
|
|
|
895
844
|
@final
|
|
896
|
-
class
|
|
897
|
-
folder_name = "
|
|
898
|
-
filename_pattern = r"^.*datamodel$"
|
|
845
|
+
class DataModelCRUD(ResourceCRUD[DataModelId, DataModelApply, DataModel]):
|
|
846
|
+
folder_name = "data_modeling"
|
|
899
847
|
resource_cls = DataModel
|
|
900
848
|
resource_write_cls = DataModelApply
|
|
901
|
-
list_cls = DataModelList
|
|
902
|
-
list_write_cls = DataModelApplyList
|
|
903
849
|
kind = "DataModel"
|
|
904
|
-
dependencies = frozenset({
|
|
850
|
+
dependencies = frozenset({SpaceCRUD, ViewCRUD})
|
|
851
|
+
yaml_cls = DataModelYAML
|
|
905
852
|
_doc_url = "Data-models/operation/createDataModels"
|
|
906
853
|
|
|
907
854
|
@property
|
|
@@ -923,7 +870,7 @@ class DataModelLoader(ResourceLoader[DataModelId, DataModelApply, DataModel, Dat
|
|
|
923
870
|
else DataModelsAcl.Scope.All()
|
|
924
871
|
)
|
|
925
872
|
|
|
926
|
-
return DataModelsAcl(actions, scope)
|
|
873
|
+
return DataModelsAcl(actions, scope)
|
|
927
874
|
|
|
928
875
|
@classmethod
|
|
929
876
|
def get_id(cls, item: DataModelApply | DataModel | dict) -> DataModelId:
|
|
@@ -939,13 +886,13 @@ class DataModelLoader(ResourceLoader[DataModelId, DataModelApply, DataModel, Dat
|
|
|
939
886
|
return id.dump(include_type=False)
|
|
940
887
|
|
|
941
888
|
@classmethod
|
|
942
|
-
def get_dependent_items(cls, item: dict) -> Iterable[tuple[type[
|
|
889
|
+
def get_dependent_items(cls, item: dict) -> Iterable[tuple[type[ResourceCRUD], Hashable]]:
|
|
943
890
|
if "space" in item:
|
|
944
|
-
yield
|
|
891
|
+
yield SpaceCRUD, item["space"]
|
|
945
892
|
for view in item.get("views", []):
|
|
946
893
|
if in_dict(("space", "externalId"), view):
|
|
947
894
|
yield (
|
|
948
|
-
|
|
895
|
+
ViewCRUD,
|
|
949
896
|
ViewId(view["space"], view["externalId"], str(v) if (v := view.get("version")) else None),
|
|
950
897
|
)
|
|
951
898
|
|
|
@@ -975,13 +922,13 @@ class DataModelLoader(ResourceLoader[DataModelId, DataModelApply, DataModel, Dat
|
|
|
975
922
|
return diff_list_identifiable(local, cdf, get_identifier=dm_identifier)
|
|
976
923
|
return super().diff_list(local, cdf, json_path)
|
|
977
924
|
|
|
978
|
-
def create(self, items:
|
|
925
|
+
def create(self, items: Sequence[DataModelApply]) -> DataModelList:
|
|
979
926
|
return self.client.data_modeling.data_models.apply(items)
|
|
980
927
|
|
|
981
928
|
def retrieve(self, ids: SequenceNotStr[DataModelId]) -> DataModelList:
|
|
982
929
|
return self.client.data_modeling.data_models.retrieve(cast(Sequence, ids))
|
|
983
930
|
|
|
984
|
-
def update(self, items:
|
|
931
|
+
def update(self, items: Sequence[DataModelApply]) -> DataModelList:
|
|
985
932
|
updated = self.create(items)
|
|
986
933
|
# There is a bug in the API not raising an exception if view is removed from a data model.
|
|
987
934
|
# So we check here that the update was fixed.
|
|
@@ -1019,32 +966,22 @@ class DataModelLoader(ResourceLoader[DataModelId, DataModelApply, DataModel, Dat
|
|
|
1019
966
|
) -> Iterable[DataModel]:
|
|
1020
967
|
return iter(self.client.data_modeling.data_models(space=space, include_global=False))
|
|
1021
968
|
|
|
1022
|
-
@classmethod
|
|
1023
|
-
@lru_cache(maxsize=1)
|
|
1024
|
-
def get_write_cls_parameter_spec(cls) -> ParameterSpecSet:
|
|
1025
|
-
spec = super().get_write_cls_parameter_spec()
|
|
1026
|
-
# ViewIds have the type set in the API Spec, but this is hidden in the SDK classes,
|
|
1027
|
-
# so we need to add it manually.
|
|
1028
|
-
spec.add(ParameterSpec(("views", ANY_INT, "type"), frozenset({"str"}), is_required=True, _is_nullable=False))
|
|
1029
|
-
return spec
|
|
1030
|
-
|
|
1031
969
|
@classmethod
|
|
1032
970
|
def as_str(cls, id: DataModelId) -> str:
|
|
1033
|
-
return
|
|
971
|
+
return sanitize_filename(id.external_id)
|
|
1034
972
|
|
|
1035
973
|
|
|
1036
974
|
@final
|
|
1037
|
-
class
|
|
975
|
+
class NodeCRUD(ResourceContainerCRUD[NodeId, NodeApply, Node]):
|
|
1038
976
|
item_name = "nodes"
|
|
1039
|
-
folder_name = "
|
|
1040
|
-
filename_pattern = r"^.*node$"
|
|
977
|
+
folder_name = "data_modeling"
|
|
1041
978
|
resource_cls = Node
|
|
1042
979
|
resource_write_cls = NodeApply
|
|
1043
|
-
list_cls = NodeList
|
|
1044
|
-
list_write_cls = NodeApplyList
|
|
1045
980
|
kind = "Node"
|
|
1046
|
-
|
|
981
|
+
yaml_cls = NodeYAML
|
|
982
|
+
dependencies = frozenset({SpaceCRUD, ViewCRUD, ContainerCRUD})
|
|
1047
983
|
_doc_url = "Instances/operation/applyNodeAndEdges"
|
|
984
|
+
sub_folder_name = "nodes"
|
|
1048
985
|
|
|
1049
986
|
def __init__(
|
|
1050
987
|
self,
|
|
@@ -1095,14 +1032,14 @@ class NodeLoader(ResourceContainerLoader[NodeId, NodeApply, Node, NodeApplyList,
|
|
|
1095
1032
|
return id.dump()
|
|
1096
1033
|
|
|
1097
1034
|
@classmethod
|
|
1098
|
-
def get_dependent_items(cls, item: dict) -> Iterable[tuple[type[
|
|
1035
|
+
def get_dependent_items(cls, item: dict) -> Iterable[tuple[type[ResourceCRUD], Hashable]]:
|
|
1099
1036
|
if "space" in item:
|
|
1100
|
-
yield
|
|
1037
|
+
yield SpaceCRUD, item["space"]
|
|
1101
1038
|
for source in item.get("sources", []):
|
|
1102
1039
|
if (identifier := source.get("source")) and isinstance(identifier, dict):
|
|
1103
1040
|
if identifier.get("type") == "view" and in_dict(("space", "externalId", "version"), identifier):
|
|
1104
1041
|
yield (
|
|
1105
|
-
|
|
1042
|
+
ViewCRUD,
|
|
1106
1043
|
ViewId(
|
|
1107
1044
|
identifier["space"],
|
|
1108
1045
|
identifier["externalId"],
|
|
@@ -1110,7 +1047,7 @@ class NodeLoader(ResourceContainerLoader[NodeId, NodeApply, Node, NodeApplyList,
|
|
|
1110
1047
|
),
|
|
1111
1048
|
)
|
|
1112
1049
|
elif identifier.get("type") == "container" and in_dict(("space", "externalId"), identifier):
|
|
1113
|
-
yield
|
|
1050
|
+
yield ContainerCRUD, ContainerId(identifier["space"], identifier["externalId"])
|
|
1114
1051
|
|
|
1115
1052
|
def dump_resource(self, resource: Node, local: dict[str, Any] | None = None) -> dict[str, Any]:
|
|
1116
1053
|
# CDF resource does not have properties set, so we need to do a lookup
|
|
@@ -1140,7 +1077,7 @@ class NodeLoader(ResourceContainerLoader[NodeId, NodeApply, Node, NodeApplyList,
|
|
|
1140
1077
|
|
|
1141
1078
|
return dumped
|
|
1142
1079
|
|
|
1143
|
-
def create(self, items:
|
|
1080
|
+
def create(self, items: Sequence[NodeApply]) -> NodeApplyResultList:
|
|
1144
1081
|
result = self.client.data_modeling.instances.apply(
|
|
1145
1082
|
# Note replace should never be relevant as Toolkit always checks whether the node exists before applying.
|
|
1146
1083
|
nodes=items,
|
|
@@ -1152,7 +1089,7 @@ class NodeLoader(ResourceContainerLoader[NodeId, NodeApply, Node, NodeApplyList,
|
|
|
1152
1089
|
def retrieve(self, ids: SequenceNotStr[NodeId]) -> NodeList:
|
|
1153
1090
|
return self.client.data_modeling.instances.retrieve(nodes=cast(Sequence, ids), sources=self.view_id).nodes
|
|
1154
1091
|
|
|
1155
|
-
def update(self, items:
|
|
1092
|
+
def update(self, items: Sequence[NodeApply]) -> NodeApplyResultList:
|
|
1156
1093
|
result = self.client.data_modeling.instances.apply(
|
|
1157
1094
|
nodes=items, auto_create_direct_relations=True, replace=False
|
|
1158
1095
|
)
|
|
@@ -1184,41 +1121,19 @@ class NodeLoader(ResourceContainerLoader[NodeId, NodeApply, Node, NodeApplyList,
|
|
|
1184
1121
|
# Nodes will be deleted in .delete call.
|
|
1185
1122
|
return 0
|
|
1186
1123
|
|
|
1187
|
-
@classmethod
|
|
1188
|
-
@lru_cache(maxsize=1)
|
|
1189
|
-
def get_write_cls_parameter_spec(cls) -> ParameterSpecSet:
|
|
1190
|
-
node_spec = super().get_write_cls_parameter_spec()
|
|
1191
|
-
# This is a deviation between the SDK and the API
|
|
1192
|
-
node_spec.add(ParameterSpec(("instanceType",), frozenset({"str"}), is_required=False, _is_nullable=False))
|
|
1193
|
-
node_spec.add(
|
|
1194
|
-
ParameterSpec(
|
|
1195
|
-
("sources", ANY_INT, "source", "type"),
|
|
1196
|
-
frozenset({"str"}),
|
|
1197
|
-
is_required=True,
|
|
1198
|
-
_is_nullable=False,
|
|
1199
|
-
)
|
|
1200
|
-
)
|
|
1201
|
-
return ParameterSpecSet(node_spec, spec_name=cls.__name__)
|
|
1202
|
-
|
|
1203
1124
|
@classmethod
|
|
1204
1125
|
def as_str(cls, id: NodeId) -> str:
|
|
1205
|
-
return
|
|
1126
|
+
return sanitize_filename(f"{id.space}_{id.external_id}")
|
|
1206
1127
|
|
|
1207
1128
|
|
|
1208
|
-
class
|
|
1209
|
-
|
|
1210
|
-
DataModelId, GraphQLDataModelWrite, GraphQLDataModel, GraphQLDataModelWriteList, GraphQLDataModelList
|
|
1211
|
-
]
|
|
1212
|
-
):
|
|
1213
|
-
folder_name = "data_models"
|
|
1214
|
-
filename_pattern = r"^.*GraphQLSchema"
|
|
1129
|
+
class GraphQLCRUD(ResourceContainerCRUD[DataModelId, GraphQLDataModelWrite, GraphQLDataModel]):
|
|
1130
|
+
folder_name = "data_modeling"
|
|
1215
1131
|
resource_cls = GraphQLDataModel
|
|
1216
1132
|
resource_write_cls = GraphQLDataModelWrite
|
|
1217
|
-
list_cls = GraphQLDataModelList
|
|
1218
|
-
list_write_cls = GraphQLDataModelWriteList
|
|
1219
1133
|
kind = "GraphQLSchema"
|
|
1220
|
-
dependencies = frozenset({
|
|
1134
|
+
dependencies = frozenset({SpaceCRUD, ContainerCRUD})
|
|
1221
1135
|
item_name = "views"
|
|
1136
|
+
yaml_cls = GraphQLDataModelYAML
|
|
1222
1137
|
_doc_url = "Data-models/operation/createDataModels"
|
|
1223
1138
|
_hash_name = "CDFToolkitHash:"
|
|
1224
1139
|
|
|
@@ -1260,9 +1175,9 @@ class GraphQLLoader(
|
|
|
1260
1175
|
)
|
|
1261
1176
|
|
|
1262
1177
|
@classmethod
|
|
1263
|
-
def get_dependent_items(cls, item: dict) -> Iterable[tuple[type[
|
|
1178
|
+
def get_dependent_items(cls, item: dict) -> Iterable[tuple[type[ResourceCRUD], Hashable]]:
|
|
1264
1179
|
if "space" in item:
|
|
1265
|
-
yield
|
|
1180
|
+
yield SpaceCRUD, item["space"]
|
|
1266
1181
|
|
|
1267
1182
|
def safe_read(self, filepath: Path | str) -> str:
|
|
1268
1183
|
# The version is a string, but the user often writes it as an int.
|
|
@@ -1328,7 +1243,7 @@ class GraphQLLoader(
|
|
|
1328
1243
|
dumped["graphqlFile"] = match.group(3)
|
|
1329
1244
|
return dumped
|
|
1330
1245
|
|
|
1331
|
-
def create(self, items:
|
|
1246
|
+
def create(self, items: Sequence[GraphQLDataModelWrite]) -> list[DMLApplyResult]:
|
|
1332
1247
|
creation_order = self._topological_sort(items)
|
|
1333
1248
|
|
|
1334
1249
|
created_list: list[DMLApplyResult] = []
|
|
@@ -1359,7 +1274,7 @@ class GraphQLLoader(
|
|
|
1359
1274
|
result = self.client.data_modeling.data_models.retrieve(list(ids), inline_views=False)
|
|
1360
1275
|
return GraphQLDataModelList([GraphQLDataModel._load(d.dump()) for d in result])
|
|
1361
1276
|
|
|
1362
|
-
def update(self, items:
|
|
1277
|
+
def update(self, items: Sequence[GraphQLDataModelWrite]) -> list[DMLApplyResult]:
|
|
1363
1278
|
return self.create(items)
|
|
1364
1279
|
|
|
1365
1280
|
def delete(self, ids: SequenceNotStr[DataModelId]) -> int:
|
|
@@ -1384,7 +1299,7 @@ class GraphQLLoader(
|
|
|
1384
1299
|
def drop_data(self, ids: SequenceNotStr[DataModelId]) -> int:
|
|
1385
1300
|
return self.delete(ids)
|
|
1386
1301
|
|
|
1387
|
-
def _topological_sort(self, items:
|
|
1302
|
+
def _topological_sort(self, items: Sequence[GraphQLDataModelWrite]) -> list[GraphQLDataModelWrite]:
|
|
1388
1303
|
to_sort = {item.as_id(): item for item in items}
|
|
1389
1304
|
dependencies: dict[DataModelId, set[DataModelId]] = {}
|
|
1390
1305
|
for item in items:
|
|
@@ -1407,16 +1322,14 @@ class GraphQLLoader(
|
|
|
1407
1322
|
|
|
1408
1323
|
|
|
1409
1324
|
@final
|
|
1410
|
-
class
|
|
1325
|
+
class EdgeCRUD(ResourceContainerCRUD[EdgeId, EdgeApply, Edge]):
|
|
1411
1326
|
item_name = "edges"
|
|
1412
|
-
folder_name = "
|
|
1413
|
-
filename_pattern = r"^.*edge"
|
|
1327
|
+
folder_name = "data_modeling"
|
|
1414
1328
|
resource_cls = Edge
|
|
1415
1329
|
resource_write_cls = EdgeApply
|
|
1416
|
-
list_cls = EdgeList
|
|
1417
|
-
list_write_cls = EdgeApplyList
|
|
1418
1330
|
kind = "Edge"
|
|
1419
|
-
|
|
1331
|
+
yaml_cls = EdgeYAML
|
|
1332
|
+
dependencies = frozenset({SpaceCRUD, ViewCRUD, ContainerCRUD, NodeCRUD})
|
|
1420
1333
|
_doc_url = "Instances/operation/applyNodeAndEdges"
|
|
1421
1334
|
|
|
1422
1335
|
@property
|
|
@@ -1457,14 +1370,14 @@ class EdgeLoader(ResourceContainerLoader[EdgeId, EdgeApply, Edge, EdgeApplyList,
|
|
|
1457
1370
|
return id.dump()
|
|
1458
1371
|
|
|
1459
1372
|
@classmethod
|
|
1460
|
-
def get_dependent_items(cls, item: dict) -> Iterable[tuple[type[
|
|
1373
|
+
def get_dependent_items(cls, item: dict) -> Iterable[tuple[type[ResourceCRUD], Hashable]]:
|
|
1461
1374
|
if "space" in item:
|
|
1462
|
-
yield
|
|
1375
|
+
yield SpaceCRUD, item["space"]
|
|
1463
1376
|
for source in item.get("sources", []):
|
|
1464
1377
|
if (identifier := source.get("source")) and isinstance(identifier, dict):
|
|
1465
1378
|
if identifier.get("type") == "view" and in_dict(("space", "externalId", "version"), identifier):
|
|
1466
1379
|
yield (
|
|
1467
|
-
|
|
1380
|
+
ViewCRUD,
|
|
1468
1381
|
ViewId(
|
|
1469
1382
|
identifier["space"],
|
|
1470
1383
|
identifier["externalId"],
|
|
@@ -1472,12 +1385,12 @@ class EdgeLoader(ResourceContainerLoader[EdgeId, EdgeApply, Edge, EdgeApplyList,
|
|
|
1472
1385
|
),
|
|
1473
1386
|
)
|
|
1474
1387
|
elif identifier.get("type") == "container" and in_dict(("space", "externalId"), identifier):
|
|
1475
|
-
yield
|
|
1388
|
+
yield ContainerCRUD, ContainerId(identifier["space"], identifier["externalId"])
|
|
1476
1389
|
|
|
1477
1390
|
for key in ["startNode", "endNode", "type"]:
|
|
1478
1391
|
if node_ref := item.get(key):
|
|
1479
1392
|
if isinstance(node_ref, dict) and in_dict(("space", "externalId"), node_ref):
|
|
1480
|
-
yield
|
|
1393
|
+
yield NodeCRUD, NodeId(node_ref["space"], node_ref["externalId"])
|
|
1481
1394
|
|
|
1482
1395
|
def dump_resource(self, resource: Edge, local: dict[str, Any] | None = None) -> dict[str, Any]:
|
|
1483
1396
|
# CDF resource does not have properties set, so we need to do a lookup
|
|
@@ -1504,7 +1417,7 @@ class EdgeLoader(ResourceContainerLoader[EdgeId, EdgeApply, Edge, EdgeApplyList,
|
|
|
1504
1417
|
|
|
1505
1418
|
return dumped
|
|
1506
1419
|
|
|
1507
|
-
def create(self, items:
|
|
1420
|
+
def create(self, items: Sequence[EdgeApply]) -> EdgeApplyResultList:
|
|
1508
1421
|
result = self.client.data_modeling.instances.apply(
|
|
1509
1422
|
edges=items, auto_create_direct_relations=True, replace=False
|
|
1510
1423
|
)
|
|
@@ -1513,7 +1426,7 @@ class EdgeLoader(ResourceContainerLoader[EdgeId, EdgeApply, Edge, EdgeApplyList,
|
|
|
1513
1426
|
def retrieve(self, ids: SequenceNotStr[EdgeId]) -> EdgeList:
|
|
1514
1427
|
return self.client.data_modeling.instances.retrieve(nodes=cast(Sequence, ids)).edges
|
|
1515
1428
|
|
|
1516
|
-
def update(self, items:
|
|
1429
|
+
def update(self, items: Sequence[EdgeApply]) -> EdgeApplyResultList:
|
|
1517
1430
|
result = self.client.data_modeling.instances.apply(
|
|
1518
1431
|
edges=items, auto_create_direct_relations=False, replace=True
|
|
1519
1432
|
)
|
|
@@ -1543,22 +1456,6 @@ class EdgeLoader(ResourceContainerLoader[EdgeId, EdgeApply, Edge, EdgeApplyList,
|
|
|
1543
1456
|
# Edges will be deleted in .delete call.
|
|
1544
1457
|
return 0
|
|
1545
1458
|
|
|
1546
|
-
@classmethod
|
|
1547
|
-
@lru_cache(maxsize=1)
|
|
1548
|
-
def get_write_cls_parameter_spec(cls) -> ParameterSpecSet:
|
|
1549
|
-
node_spec = super().get_write_cls_parameter_spec()
|
|
1550
|
-
# This is a deviation between the SDK and the API
|
|
1551
|
-
node_spec.add(ParameterSpec(("instanceType",), frozenset({"str"}), is_required=False, _is_nullable=False))
|
|
1552
|
-
node_spec.add(
|
|
1553
|
-
ParameterSpec(
|
|
1554
|
-
("sources", ANY_INT, "source", "type"),
|
|
1555
|
-
frozenset({"str"}),
|
|
1556
|
-
is_required=True,
|
|
1557
|
-
_is_nullable=False,
|
|
1558
|
-
)
|
|
1559
|
-
)
|
|
1560
|
-
return ParameterSpecSet(node_spec, spec_name=cls.__name__)
|
|
1561
|
-
|
|
1562
1459
|
def diff_list(
|
|
1563
1460
|
self, local: list[Any], cdf: list[Any], json_path: tuple[str | int, ...]
|
|
1564
1461
|
) -> tuple[dict[int, int], list[int]]:
|