===== File: content/developers/CLI/01-istari-digital-cli.md ===== # Istari Digital CLI The Istari Digital CLI (`stari`) provides tools and utilities to streamline the development of Istari Digital Integrations. `stari` also provides an interface for Istari Digital Client SDK. --- ## Downloading the CLI ### From Artifactory Istari Digital CLI binaries are published to Artifactory for release. #### Artifactory Download URLs Replace `` with the desired version (e.g., `1.2.3`): - **Linux:** `https://istaridigital.jfrog.io/artifactory/customer-istari-utilities/istari-digital-cli//linux/stari` - **macOS:** `https://istaridigital.jfrog.io/artifactory/customer-istari-utilities/istari-digital-cli//macos/stari` - **Windows:** `https://istaridigital.jfrog.io/artifactory/customer-istari-utilities/istari-digital-cli//windows/stari.exe` Replace `USERNAME:TOKEN` with your actual credentials: ```sh # Linux curl -u USERNAME:TOKEN -o stari https://istaridigital.jfrog.io/artifactory/customer-istari-utilities/istari-digital-cli//linux/stari chmod +x stari # macOS curl -u USERNAME:TOKEN -o stari https://istaridigital.jfrog.io/artifactory/customer-istari-utilities/istari-digital-cli//macos/stari chmod +x stari # Windows (PowerShell) Invoke-WebRequest -OutFile stari.exe https://istaridigital.jfrog.io/artifactory/customer-istari-utilities/istari-digital-cli//windows/stari.exe -Headers @{ Authorization = "Basic "+ [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes("USERNAME:TOKEN")) } ``` :::info Artifactory does not preserve the executable flag. After downloading on Linux or macOS, run `chmod +x ./stari` before executing. Basic authentication is not considered secure and is not recommended. Artifactory recommends using a [token.](https://jfrog.com/help/r/jfrog-rest-apis/introduction-to-the-artifactory-rest-apis) - [Downloading from Artifactory using Powershell](https://jfrog.com/help/r/artifactory-how-to-download-or-upload-a-file-from-to-artifactory-using-powershell/artifactory-how-to-download-or-upload-a-file-from/to-artifactory-using-powershell) - [Downloading from Artifactory using cURL](https://jfrog.com/help/r/jfrog-rest-apis/introduction-to-the-artifactory-rest-apis) ::: ## Configuration The Istari Digital CLI uses a configuration file named `istari_digital_config.yaml` to store your API URL and authentication token. ### Default Location By default, the CLI looks for this file at the following location, depending on your operating system: - **Linux:** `~/.config/istari_digital/istari_digital_config.yaml` - **macOS:** `~/Users//Library/Application Support/istari_digital/istari_digital_config.yaml` - **Windows:** `%APPDATA%\istari_digital\istari_digital_config.yaml` ### How to Set Up You can create or update this file automatically by running: ```sh stari client init --yes ``` This command will prompt you for confirmation and write the configuration to the correct location. If you wish to edit the file manually, ensure it contains the following structure: ```yaml CLI: ISTARI_DIGITAL_REGISTRY_URL: https://your-registry-url ISTARI_DIGITAL_REGISTRY_AUTH_TOKEN: your-api-key ``` ## Usage ### Executables If using one of the executable releases, the subsequent commands must reference the executable. Windows: ```sh ./stari.exe --help ``` POSIX: ```sh ./stari --help ``` :::info Run `stari --help` for details on each command and its options. ::: --- ## CLI Commands The CLI provides commands for interacting with the Istari Digital Platform: ### Client Commands - **Initialize configuration:** Set up the Istari Digital Client configuration with your registry URL and API key. ```sh stari client init --yes ``` - `--yes` is required to confirm writing configuration changes. - **Ping the registry:** Verify your configuration and credentials by connecting to the Istari Digital Registry Service. ```sh stari client ping ``` - **Publish a module:** Publish a module manifest to the Istari Digital Registry Service. ```sh stari client publish ``` ### Module Commands - **Interactive Manifest Generator:** Step-by-step prompts to create `module_manifest.json` files for Istari Digital Integrations. - Prompts for function schemas, authors, dependencies, scripts, and more. - Specify output paths and customize manifest content interactively. ```sh stari module create --output ``` - **Lint a manifest:** Validate Istari Digital module manifests for correctness and completeness. ```sh stari module lint ``` - **Module Scaffolding** _(Available in the 2025.09.01 Release)_: Generate complete, development-ready module projects from built-in templates. ```sh # List available scaffold types stari module scaffold --list # Generate a Python module scaffold stari module scaffold my-new-module --type python-module # Generate with custom metadata stari module scaffold my-module \ --type python-module \ --author "Your Name" \ --email "your.email@example.com" \ --description "My custom module" \ --version "1.0.0" ``` Features include: - Complete Python module template with PyInstaller, poetry, pre-commit hooks, and testing setup - Smart templating with automatic placeholder replacement - Development environment ready setup - **Script Execution** _(Available in the 2025.09.01 Release)_: Execute module scripts defined in `module_manifest.json` with cross-platform support. ```sh # Run a script (auto-detects current OS) stari module run build # Run script for specific OS stari module run build --os "Ubuntu 22.04" stari module run build --os windows # Use specific manifest stari module run test --manifest path/to/module_manifest.json --os linux ``` Features include: - Cross-platform support with automatic OS detection - Dynamic autocomplete for available scripts and operating systems ### Function Commands _(Available in the 2025.09.01 Release)_ Generate test files and explore functions defined in Istari Digital module manifests. - **List available functions:** ```sh # List functions from default manifest (module_manifest.json) stari function list # List functions from specific manifest stari function list --manifest path/to/module_manifest.json ``` - **Generate test files:** ```sh # Generate test files for a function (interactive prompts) stari function generate test_files --function @istari:extract # Generate for specific function implementation stari function generate test_files --function @istari:extract --index 1 # Generate with placeholder values (non-interactive) stari function generate test_files --function @istari:extract --placeholder # Generate test files for ALL functions with placeholder values stari function generate test_files --placeholder # Specify custom output directory stari function generate test_files --function @istari:extract --output-dir my_tests ``` Features include: - Interactive mode with guided prompts for input values - Complex validation support for nested structures - Placeholder mode for batch processing - Auto-completion for function names and indices For more detailed information on test file generation, see the [dedicated document](/content/developers/CLI/02-function-test-files-generation.md) ### Schema Commands _(Available in the 2025.09.01 Release)_ Access and save JSON schemas for Istari Digital module components. - **Get a specific schema:** ```sh # Save module manifest schema to default file (module_manifest_schema.json) stari schemas get module_manifest # Save to custom file stari schemas get module_manifest --output my_schema.json # Available schemas: module_manifest, function_schema, function_input, function_output stari schemas get function_input ``` - **List all available schemas:** ```sh stari schemas list ``` Features include: - Auto-save to disk with descriptive filenames - Custom output paths using `--output` ===== File: content/developers/CLI/02-function-test-files-generation.md ===== # Function Test File Generation The Istari Digital CLI provides a powerful command to automatically generate function input and output test files from module manifests. This feature helps developers create test data for their functions quickly and consistently. ## Overview The Istari Digital CLI provides two main commands for working with function test files: 1. **`stari function list`** - Discover available functions and their indices 2. **`stari function generate test_files`** - Generate test files for specific functions The generate command reads a module manifest file, extracts function schemas, and generates corresponding JSON test files through interactive prompts. It supports both simple validation types (`@string`, `@number`, `@boolean`) and complex nested structures (`@array:[@object:[@string, @boolean]]`). ## Discovering Available Functions ### List Command Syntax ```bash stari function list [OPTIONS] ``` #### List Command Options | Option | Short | Description | Default | Required | | ------------ | ----- | -------------------------------------------------------------------------------------- | ---------------------- | -------- | | `--manifest` | `-m` | Path to module manifest file. Defaults to `module_manifest.json` in current directory. | `module_manifest.json` | ❌ | #### List Command Example ```bash # List functions from default manifest stari function list # List functions from custom manifest stari function list --manifest path/to/custom_manifest.json ``` #### List Command Output The list command provides detailed information about each function: ```text Function: @istari:extract Available indices: 0-2 (3 implementation(s)) 0: cameo_module_2021x-refresh2/cameo_module_2021x-refresh2.exe OS: Windows 10, Windows Server 2019, Windows 11, Windows Server 2022 1: cameo_module_2022x-refresh2/cameo_module_2022x-refresh2.exe OS: Windows 10, Windows Server 2019, Windows 11, Windows Server 2022 2: cameo_module_2024x-refresh2/cameo_module_2024x-refresh2.exe OS: Windows 10, Windows Server 2019, Windows 11, Windows Server 2022 ``` ## Generate Test Files Command ### Command Syntax ```bash stari function generate test_files [OPTIONS] ``` ### Options | Option | Short | Description | Default | Required | | --------------- | ----- | --------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------- | -------- | | `--function` | `-f` | Function name (e.g., `@istari:extract`). If not specified, generates files for ALL functions. Use `stari function list` to see available functions. | None | ❌ | | `--index` | `-i` | Function implementation index. Use `stari function list` to see available indices. | 0 | ❌ | | `--manifest` | `-m` | Path to module manifest file. Defaults to `module_manifest.json` in current directory. | `module_manifest.json` | ❌ | | `--output-dir` | `-o` | Output directory for test files | `test_files` | ❌ | | `--placeholder` | | Generate files with placeholder values instead of prompting for input. Perfect for batch generation. | False | ❌ | ### Auto-Completion Support The CLI provides auto-completion for function names when available. The completion system will: - Suggest available function names when typing the `--function` flag - Show available indices when typing the `--index` flag - Use the manifest file specified with `--manifest` for accurate suggestions ### Default Manifest Behavior Both the `list` and `generate test_files` commands default to looking for `module_manifest.json` in your current working directory. This provides a convenient workflow where you can simply run: ```bash # Works if module_manifest.json exists in current directory stari function list stari function generate test_files -f @istari:extract ``` #### Error Handling When the default manifest file is not found, the CLI provides guidance: **If alternative manifest files are found:** ```text Error: Default manifest file 'module_manifest.json' not found in current directory Current directory: /path/to/your/project Found these potential manifest files in the current directory: • example_module_manifest.json • custom_manifest.json Try one of these commands: stari function list --manifest example_module_manifest.json stari function list --manifest custom_manifest.json ``` **If no manifest files are found:** ```text Error: Default manifest file 'module_manifest.json' not found in current directory Current directory: /path/to/your/project To fix this issue: 1. Navigate to a directory containing 'module_manifest.json', or 2. Use --manifest/-m to specify the path to your manifest file Example: stari function list --manifest /path/to/your/manifest.json ``` ### Enhanced Error Messages The CLI provides helpful error messages when invalid options are provided: #### Invalid Function Name ```bash $ stari function generate test_files -f @istari:invalid -m example_module_manifest.json Error: Function '@istari:invalid' not found in manifest. Available functions: [...] To see all available functions and indices, run: stari function list --manifest example_module_manifest.json Available functions in this manifest: @istari:extract (indices: 0-2) @istari:twc_extract (indices: 0-2) @istari:delete_diagram (indices: 0-2) ... ``` #### Invalid Index ```bash $ stari function generate test_files -f @istari:extract -i 10 -m example_module_manifest.json Error: Function index 10 out of range. Function '@istari:extract' has 3 implementations (0-2) To see all available functions and indices, run: stari function list --manifest example_module_manifest.json ``` ## Basic Usage ### Generate Test Files for a Function ```bash stari function generate test_files --function "@istari:extract" --manifest example_module_manifest.json ``` This command will: 1. Load the manifest file 2. Find the `@istari:extract` function (first implementation by default) 3. Prompt you to enter values for each input parameter 4. Generate two JSON files: - `test_files/input.json` - Function input data - `test_files/output.json` - Expected output data ### Specify Function Implementation Index If a function has multiple implementations, use the `--index` option: ```bash stari function generate test_files -f "@istari:extract" -i 1 -m example_module_manifest.json ``` ### Custom Output Directory ```bash stari function generate test_files -f "@istari:extract" -m manifest.json -o my_test_files ``` ## Placeholder Mode The `--placeholder` flag allows you to generate test files with automatically generated placeholder values instead of interactive prompts. This is useful for: - **Batch generation** of test files for multiple functions - **CI/CD pipelines** where interactive input isn't possible - **Quick scaffolding** of test structure - **Initial development** when you just need file templates ### Generate Files with Placeholder Values ```bash # Generate files for a specific function with placeholder values stari function generate test_files -f "@istari:extract" --placeholder # Custom manifest and output directory stari function generate test_files -f "@istari:extract" -m example_module_manifest.json -o skeleton_tests --placeholder ``` Output: ```text Generating test files for function: @istari:extract (index: 0) Output directory: test_files Using placeholder values Generated test files: Input: test_files/input.json Output: test_files/output.json ``` ### Generate Files for All Functions When you omit the `--function` flag, the CLI will generate test files for **ALL** functions in the manifest: ```bash # Generate test files for all functions with placeholder values stari function generate test_files --placeholder # Custom manifest and output directory stari function generate test_files -m example_module_manifest.json -o all_tests --placeholder ``` Output: ```text Generating test files for ALL functions in manifest Base output directory: all_tests Using placeholder values Generated test files for 3 function implementation(s): @istari:extract (index 0): Input: all_tests/@istari_extract/index_0/input.json Output: all_tests/@istari_extract/index_0/output.json @istari:transform (index 0): Input: all_tests/@istari_transform/index_0/input.json Output: all_tests/@istari_transform/index_0/output.json @istari:validate (index 0): Input: all_tests/@istari_validate/index_0/input.json Output: all_tests/@istari_validate/index_0/output.json ``` #### Directory Structure for All Functions When generating files for all functions, the CLI creates an organized directory structure: ```text all_tests/ ├── @istari_extract/ │ └── index_0/ │ ├── input.json │ └── output.json ├── @istari_transform/ │ ├── index_0/ │ │ ├── input.json │ │ └── output.json │ └── index_1/ │ ├── input.json │ └── output.json └── @istari_validate/ └── index_0/ ├── input.json └── output.json ``` ### Placeholder Value Types The CLI generates intelligent placeholder values based on input validation types: | Input Type | Validation Type | Placeholder Value | Example | | -------------- | --------------------------------------------------------- | -------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Parameter** | `@string` | `"example_string"` | `"example_string"` | | **Parameter** | `@number` | `42` | `42` | | **Parameter** | `@boolean` | `true` | `true` | | **Parameter** | `@array:@string` | Array of strings | `["item1", "item2", "item3"]` | | **Parameter** | `@array:@number` | Array of numbers | `[1, 2, 3]` | | **Parameter** | `@object:[string, number]` | Object with string keys, number values | `{"setting1": 123, "setting2": 456}` | | **Parameter** | `@array:[@object:[@string, @string, @boolean, @object]]` | Complex update tags array | `[{"element_id": "_example_element_id_123", "element_name": "Example Element Name", "replace_existing": true, "tags": {"key1": "value1", "status": "active"}}]` | | **Parameter** | `@object:[@string, @array:[@object:[@string, @number]]]` | Nested object with array | `{"name_1": "example_string", "items_2": [{"name_1": "example_string", "count_2": 42}]}` | | **Parameter** | `@array:[@array:[@number]]` | Matrix/2D array | `[[1, 2, 3], [1, 2, 3], [1, 2, 3]]` | | **Parameter** | `@object:[@string, @object:[@array:[@string], @boolean]]` | Deep nested object | `{"name_1": "example_string", "config_2": {"items_1": ["item1", "item2"], "field_2": true}}` | | **Parameter** | `@extension:pdf` | File with extension | `"example_file.pdf"` | | **Parameter** | `@mime_type:application/json` | File hint | `""` | | **User Model** | `@extension:zip` | Model file | `"model_file.zip"` | | **User Model** | `@mime_type:application/zip` | Archive file | `"model_archive.zip"` | | **User Model** | Default | Generic model | `"model_file.dat"` | | **Auth Info** | `@basic:` | Basic authentication | `{"username": "example_user", "password": "example_password"}` | | **Auth Info** | `@bearer:` | Bearer token | `{"token": "example_bearer_token"}` | | **Auth Info** | `@api_key:` | API key | `{"api_key": "example_api_key"}` | | **User Link** | Any | URL placeholder | `""` | #### Optional Parameters in Placeholder Mode Optional parameters are automatically **skipped** in placeholder mode, keeping the generated files focused on required inputs only. ## Interactive Prompts The command will prompt you for input values based on the function schema. The prompts vary by input type: ### Parameter Types #### Validation Support Overview The CLI provides **comprehensive validation support** for both simple and complex validation types: | Validation Level | Description | Examples | | ---------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------------- | | **✅ Fully Supported** | CLI validates input format, converts types, and handles complex nesting | `@string`, `@number`, `@boolean`, `@array:`, `@object:`, complex nested types | | **ℹ️ Display Hints** | CLI shows requirements but doesn't enforce them | `@mime_type:`, `@extension:`, `@basic:` (auth) | | **❌ Not Validated** | No validation performed | File existence, credential validity | **Enhanced Complex Type Support:** - **Nested Objects**: Full support for `@object:[@string, @array:[@object:[@string, @number]]]` - **Arrays of Arrays**: Support for `@array:[@array:[@number]]` and similar matrix structures - **Deep Nesting**: Unlimited nesting depth with intelligent parsing - **Contextual Field Names**: Smart field naming (e.g., `element_id`, `tags` for update patterns) - **JSON Input Mode**: Interactive JSON entry for complex structures with dynamic examples **Important Notes:** - **File paths**: The CLI accepts any file path input but doesn't verify file existence or accessibility - **MIME types**: Expected MIME types are displayed but not validated against actual files - **Extensions**: File extensions are shown as hints but not enforced - **Authentication**: Credential format requirements are displayed but not validated #### String Parameters ```text --- Input: Model Name (model_name) --- Type: parameter Validation types: @string Enter string value: my_test_model ``` #### Number Parameters ```text --- Input: Timeout (timeout_seconds) --- Type: parameter Validation types: @number Enter number value: 30.5 ``` #### Boolean Parameters ```text --- Input: Enable Debug (debug_mode) --- Type: parameter Validation types: @boolean Enter boolean value [y/N]: y ``` #### Array Parameters ```text --- Input: Tags (tag_list) --- Type: parameter Validation types: @array:string Enter array values for type string (comma-separated) Values: tag1, tag2, tag3 ``` #### Object Parameters ```text --- Input: Configuration (config) --- Type: parameter Validation types: @object:[string, number] Enter JSON object: {"setting": 123, "count": 42} ``` #### Complex Nested Arrays For complex array structures like `@array:[@object:[@string, @string, @boolean, @object]]`, the CLI provides JSON input mode with dynamic examples: ```text --- Input: Updates (updates) --- Type: parameter Validation types: @array:[@object:[@string, @string, @boolean, @object]] This parameter expects a complex array structure. Type: @object:[@string, @string, @boolean, @object] Please enter the array as JSON. For example: [ { "element_id": "_example_element_id_123", "element_name": "Example Element Name", "replace_existing": true, "tags": { "key1": "value1", "key2": "value2", "status": "active" } }, { "element_id": "_example_element_id_123_1", "element_name": "Example Element Name Variant 1", "replace_existing": true, "tags": { "key1_v1": "value1_modified", "key2_v1": "value2_modified", "status": "active" } } ] JSON array: [{"element_id": "my_element_123", "element_name": "My Element", "replace_existing": false, "tags": {"status": "updated"}}] ``` #### Nested Object Structures For deeply nested objects like `@object:[@string, @array:[@object:[@string, @number]]]`: ```text --- Input: Complex Config (complex_config) --- Type: parameter Validation types: @object:[@string, @array:[@object:[@string, @number]]] This parameter expects a complex object structure. Please enter the object as JSON. For example: { "name_1": "example_string", "items_2": [ { "name_1": "example_string", "count_2": 42 }, { "name_1": "example_string", "count_2": 42 } ] } JSON object: {"name": "My Config", "items": [{"field": "value1", "count": 10}]} ``` #### Matrix Data (Arrays of Arrays) For matrix-like structures `@array:[@array:[@number]]`: ```text --- Input: Matrix Data (matrix) --- Type: parameter Validation types: @array:[@array:[@number]] This parameter expects a complex array structure. Please enter the array as JSON. For example: [ [1, 2, 3], [1, 2, 3], [1, 2, 3] ] JSON array: [[1, 2], [3, 4], [5, 6]] ``` ### Model Files ```text --- Input: CAD Model (cameo_model) --- Type: user_model Validation types: @mime_type:application/zip, @extension:mdzip Expected file types based on validation: MIME type: application/zip Extension: mdzip Enter file path for model: /path/to/model.mdzip ``` **Validation Level**: ℹ️ Display Hints Only - The CLI shows expected MIME types and file extensions as guidance - **No validation** is performed on: - File existence or accessibility - Actual MIME type of the provided file - File extension matching - File size or content validity ### Authentication Information ```text --- Input: API Credentials (auth_token) --- Type: auth_info Validation types: @basic:teamwork_cloud Authentication types: Type: basic Enter authentication token/credential: my_auth_token_12345 ``` **Validation Level**: ℹ️ Display Hints Only - The CLI shows the expected authentication type (basic, token, etc.) - **No validation** is performed. ### User Links ```text --- Input: Metadata Link (twc_link) --- Type: user_link Validation types: @extension:istari_teamwork_cloud_metadata_mdzip Expected link extensions: Extension: istari_teamwork_cloud_metadata_mdzip Enter link/file path: /path/to/metadata.istari_teamwork_cloud_metadata_mdzip ``` **Validation Level**: ℹ️ Display Hints Only - The CLI shows expected file extensions for linked resources - **No validation** is performed. ### Optional Parameters For optional parameters, you'll be asked if you want to skip them: ```text --- Input: Optional Config (optional_param) --- Type: parameter Validation types: @string This input is optional Skip this optional parameter? [y/N]: n Enter string value: optional_value ``` ## Output Files The command generates two JSON files: ### Input File Format ```json { "cameo_model": { "type": "user_model", "value": "/path/to/model.mdzip" }, "timeout": { "type": "parameter", "value": 30.5 }, "debug_mode": { "type": "parameter", "value": true } } ``` ### Output File Format ```json [ { "name": "blocks", "type": "file", "path": "output_blocks.json" }, { "name": "diagrams", "type": "directory", "path": "output_diagrams_dir" } ] ``` ## Recommended Workflow Follow these steps for the best experience: ### 1. Discover Available Functions Start by listing all available functions in your manifest: ```bash stari function list --manifest your_manifest.json ``` This shows you: - All function names you can use with `--function` - Available indices for each function with `--index` - Implementation details for each index ### 2. Choose Function and Index From the list output, select: - The function name (e.g., `@istari:extract`) - The implementation index (e.g., `0`, `1`, `2`) ### 3. Generate Test Files Run the generate command with your chosen options: ```bash stari function generate test_files \ --function "@istari:extract" \ --index 0 \ --manifest your_manifest.json \ --output-dir test_files ``` ### 4. Follow Interactive Prompts The CLI will guide you through providing values for each input parameter. ### 5. Review Generated Files Check the generated test files: ```bash ls test_files/ cat test_files/input.json cat test_files/output.json ``` ## Real-World Examples ### Example 1: Cameo Data Extraction ```bash stari function generate test_files \ --function "@istari:extract" \ --index 0 \ --manifest example_module_manifest.json \ --output-dir example_test_data ``` **Sample Interaction:** ```text Generating test files for function: @istari:extract (index: 0) Output directory: cameo_test_data === Generating Function Input File === --- Input: cameo_model (cameo_model) --- Type: user_model Validation types: @mime_type:application/zip, @extension:mdzip Expected file types based on validation: MIME type: application/zip Extension: mdzip Enter file path for model: /Users/dev/models/sample_model.mdzip === Generating Function Output File === Output files represent expected function outputs Include optional output 'blocks'? [Y/n]: y Enter path for output 'blocks': blocks_output.json Include optional output 'requirements'? [Y/n]: y Enter path for output 'requirements': requirements_output.json Include optional output 'diagrams'? [Y/n]: y Enter path for output 'diagrams': diagrams_output_dir ✅ Generated test files: Input: cameo_test_data/input.json Output: cameo_test_data/output.json ``` ### Example 2: Teamwork Cloud Integration ```bash stari function generate test_files \ -f "@istari:twc_extract" \ -m example_module_manifest.json \ -o twc_tests ``` **Generated Files:** - `twc_tests/input.json` - `twc_tests/output.json` ### Example 3: Multiple Function Implementations ```bash # Generate for 2021x version stari function generate test_files -f "@istari:extract" -i 0 -m manifest.json -o test_2021x # Generate for 2022x version stari function generate test_files -f "@istari:extract" -i 1 -m manifest.json -o test_2022x # Generate for 2024x version stari function generate test_files -f "@istari:extract" -i 2 -m manifest.json -o test_2024x ``` ### Example 4: Complex Validation Types (Update Tags Function) ```bash stari function generate test_files \ --function "@istari:update_tags" \ --manifest example_module_manifest.json \ --output-dir update_tags_test ``` **Sample Interaction with Complex Array Structure:** ```text Generating test files for function: @istari:update_tags (index: 0) Output directory: update_tags_test === Generating Function Input File === --- Input: cameo_model (cameo_model) --- Type: user_model Validation types: @extension:mdzip Enter file path for model: /Users/dev/models/cameo_model.mdzip --- Input: updates (updates) --- Type: parameter Validation types: @array:[@object:[@string, @string, @boolean, @object]] This parameter expects a complex array structure. Type: @object:[@string, @string, @boolean, @object] Please enter the array as JSON. For example: [ { "element_id": "_example_element_id_123", "element_name": "Example Element Name", "replace_existing": true, "tags": { "key1": "value1", "key2": "value2", "status": "active" } }, { "element_id": "_example_element_id_123_1", "element_name": "Example Element Name Variant 1", "replace_existing": true, "tags": { "key1_v1": "value1_modified", "key2_v1": "value2_modified", "status": "active" } } ] JSON array: [ { "element_id": "_2021x_2_38b206bc_1744829738919_924302_3837", "tags": { "Logs": null, "Requirement Verification Pass or Fail": "Failed_UPDATED_FROM_CODE", "Risk": "High", "Text": "Text Update From CODE for ELEMENT WITH ID _2021x_2_38b206bc_1744829738919_924302_3837" } }, { "element_name": "Requirement Brake Deployment ", "tags": { "Hyperlink": "www.istaridigital.com", "Requirement Verification Pass or Fail": "PASSED", "Text": "Text Update From CODE for ELEMENT WITH NAME Requirement Brake Deployment ", "Version History": "v1.3.4" } } ] ✅ Generated test files: Input: update_tags_test/input.json Output: update_tags_test/output.json ``` **Generated Files:** The input file will contain the complex nested structure exactly as entered: ```json { "cameo_model": { "type": "user_model", "value": "/Users/dev/models/cameo_model.mdzip" }, "updates": { "type": "parameter", "value": [ { "element_id": "_2021x_2_38b206bc_1744829738919_924302_3837", "tags": { "Logs": null, "Requirement Verification Pass or Fail": "Failed_UPDATED_FROM_CODE", "Risk": "High", "Text": "Text Update From CODE for ELEMENT WITH ID _2021x_2_38b206bc_1744829738919_924302_3837" } }, { "element_name": "Requirement Brake Deployment ", "tags": { "Hyperlink": "www.istaridigital.com", "Requirement Verification Pass or Fail": "PASSED", "Text": "Text Update From CODE for ELEMENT WITH NAME Requirement Brake Deployment ", "Version History": "v1.3.4" } } ] } } ``` ## Troubleshooting ### Common Issues #### Manifest File Not Found ```text Error: Manifest file 'my_manifest.json' not found ``` **Solution:** Check the file path and ensure the manifest file exists. #### Function Not Found ```text Error: Function '@istari:nonexistent' not found in manifest. Available functions: [@istari:extract, @istari:update_tags] ``` **Solution:** Use one of the available functions listed in the error message. #### Invalid Function Index ```text Error: Function index 5 out of range. Function '@istari:extract' has 3 implementations (0-2) ``` **Solution:** Use a valid index (0-based) within the available range. #### Input Validation Limitations **Issue:** Generated test files contain invalid or unrealistic data. **Common Problems:** - File paths that don't exist on the target system - Invalid MIME types or file extensions - Incorrect authentication credential formats - Malformed URLs or links **Solutions:** 1. **Manually verify file paths** after generation - ensure files exist and are accessible 2. **Check file extensions** match the displayed validation hints (`.mdzip`, `.xml`, etc.) 3. **Validate authentication formats** - use proper format for basic auth (`username:password`) or tokens 4. **Test URLs and links** - verify accessibility and correct extensions **Note:** Complex nested validation types like `@array:[@object:[@string, @boolean]]` are now fully supported with intelligent parsing and contextual placeholder generation. For file paths, MIME types, and authentication, the CLI shows validation requirements but doesn't enforce them. Always review generated files before use. ### Validation Tips 1. **Validate your manifest** before generating test files: ```bash stari module lint my_manifest.json ``` 2. **Check function schemas** are properly formatted: ```bash stari schemas get function_schema ``` 3. **Use proper file extensions** for models and links as specified in validation types. ===== File: content/developers/MCP Service/01-quickstart.md ===== # Quick Start Welcome to the Istari Digital Model Concept Protocol (MCP) Service. This quickstart guide will help you connect and interact with the server using compatible MCP clients. --- ## Istari Digital Legal Disclaimer – LLM Integration and Customer Responsibility **IMPORTANT NOTICE – READ CAREFULLY** By connecting Istari’s software collaboration platform (“Istari Platform”) to your own Large Language Model (“LLM”) or other AI system, you acknowledge and agree to the following terms and responsibilities: 1. **DATA SPILL RISK** – If chat history is enabled or Istari-connected data is used to train your LLM, sensitive or proprietary information may be exposed. **You are solely responsible** for preventing and mitigating such risks. 2. **CUSTOMER RESPONSIBILITY** – You are solely responsible for your LLM’s configuration, privacy settings, security controls, and output accuracy, and for ensuring legal and contractual compliance. 3. **BETA USE (IF APPLICABLE)** – If you use a beta version before Istari’s internal cyber approval, you accept it **“AS IS”**, without warranties, and entirely at your own risk. 4. **LIABILITY SHIFT** – Istari disclaims all liability for any loss, damage, or claim arising from your LLM integration. You agree to indemnify Istari for any such matters. By proceeding with the LLM integration, you acknowledge that you have read, understood, and accepted this disclaimer, and you assume all risks and liabilities associated with such integration. --- ## Authentication Users can authenticate to the Istari Digital MCP Service using both OAuth and Personal Access Tokens. - To use OAuth, you **must** add the Istari Digital MCP Service to your Zitadel configuration IAW the [Zitadel Configuration Documentation](/itAdmins/control-plane/Zitadel-Config) - To use a Personal Access Token, reference the [How to Create a PAT instructions](/users/how-to/pat) ## Connecting the Istari Digital MCP Service to Common MCP Clients **Note** The Istari Digital MCP Service has primarily been testing using Claude Desktop and [FastMCP Client](https://gofastmcp.com/clients/client). Integrating with other Clients may have unforeseen challenges. ### Using Claude Desktop ### Custom Connector (Recommended) To integrate the Istari Digital MCP Service with Claude Desktop using a Custom Connector IAW with the [Custom Connector documentation](https://support.claude.com/en/articles/11175166-getting-started-with-custom-connectors-using-remote-mcp) ### Claude Desktop Config via MCP Remote To integrate the Istari Digital MCP Service with Claude Desktop using [MCP Remote](https://www.npmjs.com/package/mcp-remote), use the following `claude_desktop_config.json` based on Operating System: #### Mac and Linux Operating Systems ```json { "mcpServers": { "istari_digital_mcp_service": { "command": "npx", "args": ["mcp-remote", "", "--header", "Authorization: Bearer "] } } } ``` #### Windows Operating Systems ```json { "mcpServers": { "istari_digital_mcp_server": { "args": ["mcp-remote", "", "--header", "Authorization:${AUTH_HEADER}"], "command": "npx", "env": { "AUTH_HEADER": "Bearer " } } } } ``` - Replace `MCP_URL` with your company's applicable MCP URL. - Replace `PERSONAL_ACCESS_TOKEN` with your actual Personal Access Token created via the [How to Create a PAT instructions](/users/how-to/pat). ### Using FastMCP Client To integrate the Istari Digital MCP Service with FastMCP Client, instantiate an instance of the Client IAW [FastMCP's Client Bearer Auth documentation](https://gofastmcp.com/clients/auth/bearer) --- You're now ready to use the Istari Digital MCP service to automate workflows and integrate digital engineering models with your LLM-powered tools! ===== File: content/developers/MCP Service/02-api_reference.md ===== # API Reference The Istari Digital Model Concept Protocol (MCP) Service provides structured access to system, resource, and job operations within the Istari platform. It is organized into three categories: - **System Tools**: Manage systems, snapshots, and configurations. - **Resource Tools**: Handle models and artifacts. - **Job Tools**: Run automated analysis and processing. --- ## System Tools ### Search for Systems Find existing systems by name, ID, or other criteria to discover what's available before working with them. **Use this to:** - Find or list existing systems - Search systems by name or ID - Filter by archive status (Active/Archived) - Browse systems you've created **Input Parameters:** - `system_id` (optional): Exact system IDs to match - `name` (optional): Case-insensitive substring search over system names - `page` (optional): Page number (≥1, used only when no local filters) - `size` (optional): Page size (1-100, used only when no local filters) - `filter_by` (optional): 'created_by_id' or '-created_by_id' - `archive_status` (optional): ["Active"], ["Archived"], or ["Active","Archived"] - `sort` (optional): "created" (ascending) or "-created" (descending) **Returns:** PageSystem with matching systems and pagination metadata --- ### Search System Files List all files tracked within a specific system's snapshot to explore system contents. **Use this to:** - See what files are tracked within a system - Explore the contents of a system's snapshot - Filter by filename or file extension - Find specific files within a system **Input Parameters:** - `system_id` (required): System ID whose snapshot revisions to list - `snapshot_id` (optional): Specific snapshot ID (defaults to baseline if omitted) - `page` (optional): Page number - `size` (optional): Page size (default 100) - `name` (optional): Filename substring filters - `extension` (optional): File extension filters (e.g., ['.xlsx', '.csv']) - `sort` (optional): "created" (ascending) or "-created" (descending) **Returns:** PageSnapshotRevisionSearchItem with file revisions and metadata --- ### Create a New System Create a new engineered system to organize related engineering files and configurations. **Use this to:** - Create a new engineered system - Start organizing files for a new project or product - Set up a container for related engineering artifacts **Input Parameters:** - `name` (required): System name - `description` (optional): Optional description for the new system **Returns:** System object with ID, name, description, and metadata --- ### Update a System Modify an existing system's metadata such as name or description. **Use this to:** - Rename an existing system - Update or clarify a system's description - Modify system metadata without affecting its contents **Input Parameters:** - `system_id` (required): Target system ID to update - `name` (optional): New name (only provided fields are updated) - `description` (optional): New description (only provided fields are updated) **Returns:** Updated System object with modified metadata --- ### List System Snapshots View snapshots/versions of systems or configurations to track version history. **Use this to:** - See snapshots/versions of a system or configuration - Browse version history - Find specific snapshots by tag (like "baseline") - Track changes over time **Input Parameters:** - `system_id` (optional): Filter snapshots by system ID - `configuration_id` (optional): Filter snapshots by configuration ID - `tag` (optional): Filter by snapshot tag (e.g., 'baseline') - `page` (optional): Page number - `size` (optional): Page size - `sort` (optional): "created" (ascending) or "-created" (descending) **Returns:** PageSnapshot with snapshot list and pagination metadata --- ### Create a System Snapshot Generate a snapshot/checkpoint of a system configuration to preserve a point-in-time state. **Use this to:** - Create a snapshot/checkpoint of a system configuration - Preserve a version for future reference - Establish a baseline or milestone **Input Parameters:** - `configuration_id` (required): Configuration ID to snapshot **Returns:** ResponseCreateSnapshot with snapshot creation details --- ### Add Files to System Create a new system configuration that tracks specified existing files (sets them to LATEST version). **Use this to:** - Attach existing files to a system - Track files within a system configuration - Build a system from previously uploaded files - Create a new configuration with selected files **Input Parameters:** - `system_id` (required): System ID to attach files to - `file_ids` (required): List of existing file IDs to track (set to LATEST) - `configuration_name` (optional): Name for the new configuration (defaults to 'Default Configuration') **Returns:** SystemConfiguration object with tracked files and metadata --- ## Resource Tools ### Search Resources Search for engineering models, artifacts, comments, or jobs across the Istari registry with flexible filtering options. **Use this to:** - Find or list engineering models, artifacts, comments, or jobs - Search by filename, description, version, or metadata - Filter by file type, creation date, or status **Input Parameters:** - `page` (optional): Page number (≥1) - `size` (optional): Page size (1-100) - `resource_id` (optional): Resource IDs to match - `type_name` (optional): ["model"], ["artifact"], ["comment"], ["job"] or combinations - `file_name` (optional): File name substring filters - `description` (optional): Description substring filters - `version_name` (optional): Version name substring filters - `external_identifier` (optional): External identifier filters - `display_name` (optional): Display name substring filters - `mime_type` (optional): MIME type filters (e.g., 'text/csv') - `file_size` (optional): Exact file sizes in bytes - `created_timestamp` (optional): Creation timestamps (ISO-8601) - `updated_timestamp` (optional): Update timestamps (ISO-8601) - `created_by_id` (optional): Creator user ID filters - `updated_by_id` (optional): Last updater user ID filters - `archive_status` (optional): ["Active"], ["Archived"], or both - `sort` (optional): "created" (ascending) or "-created" (descending) **Returns:** PageResourceSearchItem with matching resources and pagination metadata --- ### Download File Contents Retrieve the raw file bytes for a resource using its File ID for local processing. **Use this to:** - Download or access actual file contents - Get raw bytes of a file for processing or analysis - Retrieve files for local use or downstream processing **Input Parameters:** - `file_id` (required): The ID of the resource file to retrieve **Returns:** Raw binary file contents (bytes) - works with CSV, Excel, images, ZIP, JSON, etc. --- ### Get Resource by File ID Retrieve the model or artifact metadata associated with a given File ID. **Use this to:** - Get metadata about a resource when you only have a file ID - Understand what type of resource a file belongs to - Trace a file back to its full resource context **Input Parameters:** - `file_id` (required): The ID of the resource file (Model.file.id or Artifact.file.id) **Returns:** Model or Artifact object with full metadata, or None if not associated --- ## Job Tools ### Run Extraction Execute the Istari extraction function on a model to generate artifacts and extract structured data. **Use this to:** - Extract data, metadata, or information from CAD models or engineering files - Generate artifacts from models (drawings, reports, analysis data) - Process, analyze, or extract information from engineering files - Get structured information from CAD files **Supported File Types:** - CAD files: .CATPart (CATIA), .prt (Creo) - Documents: .pdf, .xlsx (Excel) **Input Parameters:** - `model_id` (required): Model ID to run the @istari:extract function on **Returns:** Updated Model object with: - Generated artifacts list - Job execution details - Processing metadata - Updated model status --- ### Run Update Parameters Execute the Istari update parameters function on a model to modify CAD parameters or design variables. **Use this to:** - Modify parameters, dimensions, or variables in CAD models - Update design values or configuration settings - Change, update, modify, or set parameters in engineering models - Apply new parameter values to regenerate models **Supported File Types:** - CAD files: .CATPart (CATIA), .prt (Creo) **Input Parameters:** - `model_id` (required): Model ID to run the @istari:update_parameters function on - `parameters` (required): Dictionary of parameter names and string values to update **Returns:** Updated Model object with: - Generated artifact (The updated CAD file) ===== File: content/developers/SDK/01-setup.md ===== # Quick Start The Istari Digital Platform does not expose a public API. Instead, the supported way to programmatically interact with the platform is through the official Istari Digital Client, available for Python. ## Installation To get started, install the Python client from PyPI using `pip` or a tool like [uv](https://github.com/astral-sh/uv): ```bash pip install istari-digital-client ``` ## Basic Usage The core entry point is the `Client` object, which is initialized using a `Configuration` object. Here's a minimal example suitable for experimentation in a Python notebook: ```python from istari_digital_client import Client, Configuration config = Configuration( registry_url="my-istari-digital-url", registry_auth_token="my-istari-digital-auth-token", ) client = Client(config) ``` - **Registry URL:** You can find your company's Registry URL under `Settings > Developer Settings` in the Istari Digital app. - **Registry Token:** See the [Personal Access Token](/users/how-to/pat) guide for instructions on creating an authentication token for your Istari Digital Platform instance. ## Managing Secrets in Production For production code, we recommend storing secrets outside of your source code—for example, in a `.env` file. This helps avoid accidentally committing sensitive credentials to version control. Here's an example using the [python-dotenv](https://pypi.org/project/python-dotenv/) package: ```python import os from dotenv import load_dotenv from istari_digital_client import Client, Configuration load_dotenv() config = Configuration( registry_url=os.getenv("ISTARI_DIGITAL_REGISTRY_URL"), registry_auth_token=os.getenv("ISTARI_DIGITAL_REGISTRY_AUTH_TOKEN"), ) client = Client(config) ``` To create a `.env` file, add your credentials like this: ```env ISTARI_DIGITAL_REGISTRY_URL=https://your-istari-url ISTARI_DIGITAL_REGISTRY_AUTH_TOKEN=your-auth-token ``` > 💡 Don't forget to add `.env` to your `.gitignore` file to keep it out of version control. ## Download the SDK documentation Click here to download the SDK documentation as a txt file. ===== File: content/developers/SDK/api_reference/01-client.md ===== # Client **Description:** Create a new instance of the Istari client #### Methods | Name | Description | | ------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [add_artifact](#add_artifact) | Add an artifact | | [update_artifact](#update_artifact) | | | [add_comment](#add_comment) | Add a comment to a resource | | [update_comment](#update_comment) | Update a comment | | [add_file](#add_file) | Add a file | | [update_file](#update_file) | Update a file | | [update_file_properties](#update_file_properties) | Update file properties | | [add_job](#add_job) | Add a job | | [update_job](#update_job) | Update a job | | [add_model](#add_model) | Add a model | | [update_model](#update_model) | Update a model | | [add_function_auth_secret](#add_function_auth_secret) | This method creates a new function auth secret from a file. | | [add_user_control_taggings](#add_user_control_taggings) | Assign one or more control tags to a model. The list resource control taggings returned may be more than the number of control tags assigned, | | [remove_user_control_taggings](#remove_user_control_taggings) | Remove (archive) one or more control tag access assignments from a user. The calling user must be a customer | | [add_model_control_taggings](#add_model_control_taggings) | Assign one or more control tags to a model. The list resource control taggings returned may be more than the number of control tags assigned, | | [remove_model_control_taggings](#remove_model_control_taggings) | Remove (archive) one or more control tag assignments from a model. Owner or administrator access to the model its parent model is required to modify control tag | | [add_artifact_control_taggings](#add_artifact_control_taggings) | Assign one or more control tags to an artifact. Owner or administrator access to the artifacts parent model is required to modify control tag | | [remove_artifact_control_taggings](#remove_artifact_control_taggings) | Archive one or more control taggings on a model. Owner or administrator access to the artifacts parent model is required to modify control tag | | [get_model_control_tags](#get_model_control_tags) | Get list of control tags for the active control taggings on a model. | | [get_artifact_control_tags](#get_artifact_control_tags) | Get list of control tags for the active control taggings on a model. | | [get_user_control_tags](#get_user_control_tags) | Get list of control tags a user has been assigned access to. | | [get_user](#get_user) | Get a user from the registry. This method simply a convenience wrapper for “get_user_by_id” added for | | [get_resource](#get_resource) | | | [create_revision](#create_revision) | | | [create_secret_revision](#create_secret_revision) | | | [update_revision_content](#update_revision_content) | | | [update_revision_properties](#update_revision_properties) | | | [read_contents](#read_contents) | | | [read_properties](#read_properties) | | | [archive_artifact](#archive_artifact) | This method archives an artifact by updating it’s archive status to Archived. | | [archive_comment](#archive_comment) | This method archives a comment by updating it’s archive status to Archived. | | [archive_configuration](#archive_configuration) | This method archives a configuration by updating it’s archive status to Archived. | | [archive_file](#archive_file) | This method archives a file by updating it’s archive status to Archived. | | [archive_file_revision](#archive_file_revision) | This method archives a FileRevision by updating it’s archive status to Archived. | | [archive_job](#archive_job) | This method archives a job by updating it’s archive status to Archived. | | [archive_model](#archive_model) | This method archives a model by updating it’s archive status to Archived. | | [archive_system](#archive_system) | This method archives a system by updating it’s archive status to Archived. | | [archive_tag](#archive_tag) | This method archives a snapshot tag by updating it’s archive status to Archived. | | [copy_revision_to_existing_file](#copy_revision_to_existing_file) | This method copies a revision to an existing file. | | [copy_revision_to_new_file](#copy_revision_to_new_file) | This method copies a revision to a new file. | | [create_access](#create_access) | This method shares a resource or file with a user by updating the resource or file’s access. | | [create_access_by_email_for_other_tenants](#create_access_by_email_for_other_tenants) | This method shares a resource or file across tenants by the applicable user’s email. | | [create_agent_personal_access_token](#create_agent_personal_access_token) | This method creates an agent personal access token. | | [create_auth_integration](#create_auth_integration) | This method creates a new AuthIntegration. Auth Integration names must be unique per org. | | [create_author](#create_author) | This method creates a new author. | | [create_configuration](#create_configuration) | This method creates a new configuration for a system. | | [create_control_tag](#create_control_tag) | This method creates a new control tag. | | [create_app_integration](#create_app_integration) | This method creates an app integration. | | [create_module](#create_module) | This methods creates a new module. | | [create_operating_system](#create_operating_system) | This method creates a new operating system. | | [create_personal_access_token](#create_personal_access_token) | This method creates a personal access token. | | [create_snapshot](#create_snapshot) | This methods creates a new snapshot. | | [create_system](#create_system) | This method creates a new system. | | [create_tag](#create_tag) | This method creates a new snapshot tag. | | [create_tenant_public_key](#create_tenant_public_key) | Creates a tenant public key. | | [create_tool](#create_tool) | This method creates a new tool. | | [create_tool_versions](#create_tool_versions) | This method creates a new tool version. | | [delete_app_integration](#delete_app_integration) | This method deletes an app integration by id. | | [delete_personal_access_token](#delete_personal_access_token) | This method deletes a personal access token. | | [deprecate_module](#deprecate_module) | This method deprecates all versions of a module. | | [deprecate_module_version](#deprecate_module_version) | This method deprecates a module version. | | [fetch_function_auth_secret](#fetch_function_auth_secret) | This method gets a function auth secret by id. | | [find_function_auth_secret](#find_function_auth_secret) | This method lists all function auth secrets that a user has access to. | | [get_agent](#get_agent) | This method gets an agent by id. | | [get_agent_available_jobs](#get_agent_available_jobs) | This method gets the list of available jobs for an agent. | | [get_agent_display_name](#get_agent_display_name) | This method gets an agent’s display name. | | [get_agent_modules](#get_agent_modules) | This method gets an agent’s loaded modules. | | [get_agent_status](#get_agent_status) | This method gets an agent’s status. | | [get_artifact](#get_artifact) | This method gets an artifact from the database. | | [get_artifact_control_tagging_history](#get_artifact_control_tagging_history) | This method gets the full history of control taggings added to and removed from an artifact. | | [get_artifact_control_taggings](#get_artifact_control_taggings) | This method gets a artifact’s active control taggings. | | [get_author](#get_author) | This method gets an author by id. | | [get_comment](#get_comment) | This method gets a comment by id | | [get_configuration](#get_configuration) | This method gets a configuration by id. | | [get_control_tag](#get_control_tag) | This method gets a control tag by id. | | [get_control_tag_revision_history](#get_control_tag_revision_history) | Control tag revision history. | | [get_current_user](#get_current_user) | This method gets the current user. | | [get_app_integration](#get_app_integration) | This method gets app integration info by id. | | [get_file](#get_file) | This method gets a file by id. | | [get_file_by_revision_id](#get_file_by_revision_id) | This method gets a file by revision id. | | [get_file_control_tagging_history](#get_file_control_tagging_history) | This method gets the full history of control taggings added to and removed from a file. | | [get_file_control_taggings](#get_file_control_taggings) | This method gets a file’s active control taggings. | | [get_function](#get_function) | This method gets a function by id. | | [get_function_schema](#get_function_schema) | This method gets a function schema by id. | | [get_job](#get_job) | This method gets a job by id. | | [get_model](#get_model) | This method gets a model by id. | | [get_model_control_tagging_history](#get_model_control_tagging_history) | This method gets the full history of control taggings added to and removed from a model. | | [get_model_control_taggings](#get_model_control_taggings) | This method gets a model’s active control taggings. | | [get_module](#get_module) | This method gets a module by id | | [get_module_version](#get_module_version) | This method gets a module version by id. | | [get_object_control_tags](#get_object_control_tags) | Get the active control tag assignments for an object | | [get_operating_system](#get_operating_system) | This method gets an operating system by id. | | [get_revision](#get_revision) | This method gets a revision by id. | | [get_snapshot](#get_snapshot) | This method gets a snapshot by id. | | [get_system](#get_system) | This method gets a system by id. | | [get_system_baseline](#get_system_baseline) | This method gets the system baseline by system id. | | [get_tag](#get_tag) | This method gets a snapshot tag by id. | | [get_tenant_public_key](#get_tenant_public_key) | Gets a tenant public key. | | [get_tool](#get_tool) | This method gets a tool by id | | [get_tool_version](#get_tool_version) | This method gets a tool version by id. | | [get_user_by_id](#get_user_by_id) | This method gets a user by id. | | [get_user_control_tagging_history](#get_user_control_tagging_history) | This method gets the full history of control taggings added to and removed from a user. | | [get_user_control_taggings](#get_user_control_taggings) | This method gets a user’s active control taggings. | | [list_access](#list_access) | This method lists access for a resource or file. | | [list_agent_status_history](#list_agent_status_history) | This method lists an agent’s status history. | | [list_agents](#list_agents) | This method lists all agents a user has access to. | | [list_artifact_access](#list_artifact_access) | (Deprecated) | | [list_artifact_comments](#list_artifact_comments) | This method lists all comments a user has access to for an artifact. | | [list_artifacts](#list_artifacts) | This method lists all artifacts a user has access to. | | [list_auth_integration](#list_auth_integration) | This method lists all AuthIntegrations a user has access to. | | [list_authors](#list_authors) | This method lists all authors a user has access to. | | [list_control_tags](#list_control_tags) | List all control tags | | [list_app_integrations](#list_app_integrations) | This method lists app integration info a use has access to. | | [list_files](#list_files) | This method lists all files that a user has access to. | | [list_function_access](#list_function_access) | This method lists all access to a function. | | [list_functions](#list_functions) | This method lists all functions a user has access to. | | [list_job_access](#list_job_access) | (Deprecated) | | [list_jobs](#list_jobs) | This method lists the jobs that a user has access to. | | [list_model_access](#list_model_access) | (Deprecated) | | [list_model_artifacts](#list_model_artifacts) | This method lists all artifacts a user has access to for a model. | | [list_model_comments](#list_model_comments) | This method lists all comments a user has access to for a model. | | [list_model_jobs](#list_model_jobs) | This method lists all jobs a user has access to for a model. | | [list_models](#list_models) | This methods lists all models a user has access to. | | [list_module_versions](#list_module_versions) | This method list all module versions a user has access to. | | [list_modules](#list_modules) | This method lists all modules a user has access to. | | [list_operating_systems](#list_operating_systems) | This method lists all operating systems a user has access to. | | [list_personal_access_tokens](#list_personal_access_tokens) | This method lists all personal access tokens a user has access to. | | [list_resources](#list_resources) | This method lists all resources a user has access to. | | [list_snapshot_items](#list_snapshot_items) | This method lists all the snapshot items a user has access to. | | [list_snapshot_revisions](#list_snapshot_revisions) | This method gets a snapshot’s revisions. | | [list_snapshots](#list_snapshots) | This method lists all the snapshots a user has access to | | [list_system_configurations](#list_system_configurations) | This method lists all the system configurations a user has access to. | | [list_systems](#list_systems) | This method lists all the systems a user has access to. | | [list_tags](#list_tags) | This method lists all the snapshot tags a user has access to. | | [list_tool_versions](#list_tool_versions) | This method lists all tool versions a user has access to. | | [list_tools](#list_tools) | This method list all tools a user has access to | | [list_tracked_files](#list_tracked_files) | This methods list all the tracked files for a configuration that the user has access to. | | [list_users](#list_users) | This method lists all users a user has access to. | | [liveness_check](#liveness_check) | Liveness probe | | [patch_artifact_access](#patch_artifact_access) | (Deprecated) | | [patch_artifact_control_taggings](#patch_artifact_control_taggings) | This method adds or removes control tags on a artifact. | | [patch_file_control_taggings](#patch_file_control_taggings) | This method adds or removes control tags on a file. | | [patch_function_access](#patch_function_access) | This method updates access to a function. | | [patch_job_access](#patch_job_access) | (Deprecated) | | [patch_model_access](#patch_model_access) | (Deprecated) | | [patch_model_control_taggings](#patch_model_control_taggings) | This method adds or removes control tags on a model. | | [patch_user_control_taggings](#patch_user_control_taggings) | This method adds or removes control tags on a user. | | [readiness_check](#readiness_check) | Readiness probe | | [register_agent](#register_agent) | This method registers a new agent. | | [remove_access](#remove_access) | This method removes access to a resource or file. | | [remove_job_assigned_agent](#remove_job_assigned_agent) | This method removes the assigned agent from a job. | | [restore_artifact](#restore_artifact) | This method restores an artifact by updating it’s archive status to Active. | | [restore_comment](#restore_comment) | This method restores a comment by updating it’s archive status to Active. | | [restore_configuration](#restore_configuration) | This method restores a configuration by updating it’s archive status to Active. | | [restore_file](#restore_file) | This method restores a file by updating it’s archive status to Active. | | [restore_file_revision](#restore_file_revision) | This method restores a FileRevision by updating it’s archive status to Active. | | [restore_job](#restore_job) | This method restores a job by updating it’s archive status to Active. | | [restore_model](#restore_model) | This method restores a model by updating it’s archive status to Active. | | [restore_system](#restore_system) | This method restores a system by updating it’s archive status to Active. | | [restore_tag](#restore_tag) | This method restores a snapshot tag by updating it’s archive status to Active. | | [revoke_all_personal_access_tokens](#revoke_all_personal_access_tokens) | This method revokes all personal access tokens. | | [transfer_revision_to_existing_artifact](#transfer_revision_to_existing_artifact) | This method transfers a revision to an existing artifact. The original revision that was copied will be archived and no longer active. | | [transfer_revision_to_existing_file](#transfer_revision_to_existing_file) | This method transfers a file revision to an existing file. The original revision that was copied will be archived and no longer active. | | [transfer_revision_to_new_artifact](#transfer_revision_to_new_artifact) | This method transfers a revision to a new artifact. The original revision that was copied will be archived and no longer active. | | [transfer_revision_to_new_file](#transfer_revision_to_new_file) | This method transfers a file revision to a new file. The original revision that was copied will be archived and no longer active. | | [update_access](#update_access) | This method updates access to a resource or file. | | [update_agent_display_name](#update_agent_display_name) | This method updates an agent’s display name. | | [update_agent_information](#update_agent_information) | This method updates an agent’s information. | | [update_agent_modules](#update_agent_modules) | This method updates an agent’s loaded modules. | | [update_agent_status](#update_agent_status) | This method updates an agent’s status. | | [update_auth_integration](#update_auth_integration) | This method updates an AuthIntegration. The auth integration name must be unique per org. | | [update_author](#update_author) | This method updates an author. | | [update_control_tag](#update_control_tag) | This method updates an existing control tag. | | [update_app_integration](#update_app_integration) | This method updates an app integration. | | [update_job_assigned_agent](#update_job_assigned_agent) | This method updates the assigned agent for a job. | | [update_job_status](#update_job_status) | This method updates the status of a job. | | [update_operating_system](#update_operating_system) | This method updates an existing operating system. | | [update_system](#update_system) | This method updates an existing system. | | [update_tag](#update_tag) | This method updates an existing snapshot tag by moving it to a different snapshot. | | [update_tool](#update_tool) | This method updates a tool. | ### add_artifact() Add an artifact - **Parameters:** - **model_id** (_str_) – The model ID to get (required) - **path** (_PathLike_) – The path to the artifact (required) - **sources** (_List_ _[\*\*NewSource_ _|_ _str_ _]_ _|_ _None_) – The sources of the artifact (optional) - **description** (_str_ _|_ _None_) – The description of the artifact (optional) - **version_name** (_str_ _|_ _None_) – The version name of the artifact (optional) - **external_identifier** (_str_ _|_ _None_) – The external identifier of the artifact (optional) - **display_name** (_str_ _|_ _None_) – The display name of the artifact (optional) - **Return Type:** [Artifact](models/artifact.md) ### update_artifact() - **Return Type:** [Artifact](models/artifact.md) ### add_comment() Add a comment to a resource - **Parameters:** - **resource_id** (_str_) – The resource to add the comment to (required) - **path** (_PathLike_) – The path to the comment (required) - **description** (_str_ _|_ _None_) – The description of the comment (optional) - **Return Type:** [Comment](models/comment.md) ### update_comment() Update a comment - **Parameters:** - **comment_id** (_str_) – The comment to update (required) - **path** (_PathLike_) – The path to the comment (required) - **description** (_str_ _|_ _None_) – The description of the comment (optional) - **Return Type:** [Comment](models/comment.md) ### add_file() Add a file - **Parameters:** - **path** (_PathLike_) – The path to the file (required) - **sources** (_List_ _[\*\*NewSource_ _|_ _str_ _]_ _|_ _None_) – The sources of the file (optional) - **description** (_str_ _|_ _None_) – The description of the file (optional) - **version_name** (_str_ _|_ _None_) – The version name of the file (optional) - **external_identifier** (_str_ _|_ _None_) – The external identifier of the file (optional) - **display_name** (_str_ _|_ _None_) – The display name of the file (optional) - **Return Type:** [File](models/file.md) ### update_file() Update a file - **Parameters:** - **file_id** (_str_) – The file to update (required) - **path** (_PathLike_ _|_ _str_) – The path to the file (required) - **sources** (_List_ _[\*\*NewSource_ _|_ _str_ _]_ _|_ _None_) – The sources of the file (optional) - **description** (_str_ _|_ _None_) – The description of the file (optional) - **version_name** (_str_ _|_ _None_) – The version name of the file (optional) - **external_identifier** (_str_ _|_ _None_) – The external identifier of the file (optional) - **display_name** (_str_ _|_ _None_) – The display name of the file (optional) - **Return Type:** [File](models/file.md) ### update_file_properties() Update file properties - **Parameters:** - **file** (_File_) – The file to update (required) - **display_name** (_str_ _|_ _None_) – The display name of the file (optional) - **description** (_str_ _|_ _None_) – The description of the file (optional) - **Return Type:** [File](models/file.md) ### add_job() Add a job - **Parameters:** - **model_id** (_str_) – The model to add the job to (required) - **function** (_str_) – The function of the job (required) - **parameters** (_JSON_ _|_ _None_) – The parameters of the job (optional) - **parameters_file** (_PathLike_ _|_ _None_) – The path to the parameters file (optional) - **tool_name** (_str_ _|_ _None_) – The name of the tool (optional) - **tool_version** (_str_ _|_ _None_) – The version of the tool (optional) - **operating_system** (_str_ _|_ _None_) – The operating system of the agent (optional) - **assigned_agent_id** (_str_ _|_ _None_) – The agent id for the agent assigned to execute the job (optional) - **agent_identifier** (_str_ _|_ _None_) – The agent identifier for the agent that created the job (optional) - **sources** (_List_ _[\*\*NewSource_ _|_ _str_ _]_ _|_ _None_) – The sources of the job (optional) - **description** (_str_ _|_ _None_) – The description of the job (optional) - **version_name** (_str_ _|_ _None_) – The version name of the job (optional) - **external_identifier** (_str_ _|_ _None_) – The external identifier of the job (optional) - **display_name** (_str_ _|_ _None_) – The display name of the job (optional) - **Return Type:** [Job](models/job.md) ### update_job() Update a job - **Parameters:** - **job_id** (_str_) – The job to update (required) - **path** (_PathLike_) – The path to the job (required) - **sources** (_List_ _[\*\*NewSource_ _|_ _str_ _]_ _|_ _None_) – The sources of the job (optional) - **description** (_str_ _|_ _None_) – The description of the job (optional) - **version_name** (_str_ _|_ _None_) – The version name of the job (optional) - **external_identifier** (_str_ _|_ _None_) – The external identifier of the job (optional) - **display_name** (_str_ _|_ _None_) – The display name of the job (optional) - **Return Type:** [Job](models/job.md) ### add_model() Add a model - **Parameters:** - **path** (_PathLike_) – The path to the model (required) - **sources** (_List_ _[\*\*NewSource_ _|_ _str_ _]_ _|_ _None_) – The sources of the model (optional) - **description** (_str_ _|_ _None_) – The description of the model (optional) - **version_name** (_str_ _|_ _None_) – The version name of the model (optional) - **external_identifier** (_str_ _|_ _None_) – The external identifier of the model (optional) - **display_name** (_str_ _|_ _None_) – The display name of the model (optional) - **Return Type:** [Model](models/model.md) ### update_model() Update a model - **Parameters:** - **model_id** (_str_) – The model to update (required) - **path** (_PathLike_) – The path to the model (required) - **sources** (_List_ _[\*\*NewSource_ _|_ _str_ _]_ _|_ _None_) – The sources of the model (optional) - **description** (_str_ _|_ _None_) – The description of the model (optional) - **version_name** (_str_ _|_ _None_) – The version name of the model (optional) - **external_identifier** (_str_ _|_ _None_) – The external identifier of the model (optional) - **display_name** (_str_ _|_ _None_) – The display name of the model (optional) - **Return Type:** [Model](models/model.md) ### add_function_auth_secret() This method creates a new function auth secret from a file. - **Parameters:** - **auth_provider_name** (_str_) – The name of the auth provider (required) - **function_auth_type** (_FunctionAuthType_) – The type of the function auth secret (required) - **path** (_PathLike_) – The path to the file containing the secret (required) - **expiration** (_Optional_ _[\*\*datetime_ _]_) – The expiration date of the secret (optional) - **Return Type:** [FunctionAuthSecret](models/function_auth_secret.md) ### add_user_control_taggings() Assign one or more control tags to a model. The list resource control taggings returned may be more than the number of control tags assigned, as when a tag is applied to a model, the tagging is applied to each of its child artifacts as well. The calling user must be a customer admin on the tenant the target user is a member of or the operation will fail with a permission denied error. - **Parameters:** - **user_id** (_str_) – The id of the user to assign control tag access to. - **control_tag_ids** (_Iterable_ _[\*\*str_ _]_) – The ids of the control tags to assign access to. - **reason** (_Optional_ _[\*\*str_ _]_) – The reason for the assignment (optional) - **Return Type:** list[[UserControlTagging](models/user_control_tagging.md)] ### remove_user_control_taggings() Remove (archive) one or more control tag access assignments from a user. The calling user must be a customer admin on the tenant the target user is a member of or the operation will fail with a permission denied error. - **Parameters:** - **user_id** (_str_) – The id of the user to remove control tag access from. - **control_tag_ids** (_Iterable_ _[\*\*str_ _]_) – The ids of the control tags to remove access assignments from. - **reason** (_Optional_ _[\*\*str_ _]_) – The reason for the assignment (optional) - **Return Type:** list[[UserControlTagging](models/user_control_tagging.md)] ### add_model_control_taggings() Assign one or more control tags to a model. The list resource control taggings returned may be more than the number of control tags assigned, as when a tag is applied to a model, the tagging is applied to each of its child artifacts as well. Owner or administrator access to the model is required to modify control tag assignments. - **Parameters:** - **model_id** (_str_) – The id of the model to assign the control tag to. - **control_tag_ids** (_Iterable_ _[\*\*str_ _]_) – The ids of the control tags to assign. - **reason** (_Optional_ _[\*\*str_ _]_) – The reason for the assignment (optional) - **Return Type:** list[[ResourceControlTagging](models/resource_control_tagging.md)] ### remove_model_control_taggings() Remove (archive) one or more control tag assignments from a model. Owner or administrator access to the model its parent model is required to modify control tag assignments. - **Parameters:** - **model_id** (_str_) – The id of the model to remove the control tag assignment from (required) - **control_tag_ids** (_Iterable_ _[\*\*str_ _]_) – The ids of the control tags to assign (required) - **reason** – The reason for the assignment (optional) - **Return Type:** list[[ResourceControlTagging](models/resource_control_tagging.md)] ### add_artifact_control_taggings() Assign one or more control tags to an artifact. Owner or administrator access to the artifacts parent model is required to modify control tag assignments. - **Parameters:** - **artifact_id** (_str_) – The id of the artifact to assign the control tag to (required) - **control_tag_ids** (_Iterable_ _[\*\*str_ _]_) – The ids of the control tags to assign (required) - **reason** (_Optional_ _[\*\*str_ _]_) – The reason for the assignment (optional) - **Return Type:** list[[ResourceControlTagging](models/resource_control_tagging.md)] ### remove_artifact_control_taggings() Archive one or more control taggings on a model. Owner or administrator access to the artifacts parent model is required to modify control tag assignments. - **Parameters:** - **artifact_id** (_str_) – The id of the artifact to remove the control tag assignment from (required) - **control_tag_ids** (_Iterable_ _[\*\*str_ _]_) – The ids of the control tags to assign (required) - **reason** (_Optional_ _[\*\*str_ _]_) – The reason for the assignment (optional) - **Return Type:** list[[ResourceControlTagging](models/resource_control_tagging.md)] ### get_model_control_tags() Get list of control tags for the active control taggings on a model. - **Parameters:** **model_id** (_str_) – The id of the model to get the assigned control tags for (required) - **Return Type:** list[[ControlTag](models/control_tag.md)] ### get_artifact_control_tags() Get list of control tags for the active control taggings on a model. - **Parameters:** **artifact_id** (_str_) – The id of the artifact to get the assigned control tags for (required) - **Return Type:** list[[ControlTag](models/control_tag.md)] ### get_user_control_tags() Get list of control tags a user has been assigned access to. - **Parameters:** **user_id** (_str_) – The id of the user to get the assigned control tags for (required) - **Return Type:** list[[ControlTag](models/control_tag.md)] ### get_user() Get a user from the registry. This method simply a convenience wrapper for “get_user_by_id” added for “get” method naming convention consistency (get_model, get_artifact, etc…) - **Parameters:** **user_id** (_str_) – The id of the user to get (required) - **Return Type:** [User](models/user.md) ### get_resource() - **Return Type:** Resource ### create_revision() - **Return Type:** [FileRevision](models/file_revision.md) ### create_secret_revision() - **Return Type:** [FileRevision](models/file_revision.md) ### update_revision_content() - **Return Type:** [FileRevision](models/file_revision.md) ### update_revision_properties() - **Return Type:** [File](models/file.md) ### read_contents() - **Return Type:** bytes ### read_properties() - **Return Type:** [Properties](models/properties.md) ### archive_artifact() This method archives an artifact by updating it’s archive status to Archived. - **Parameters:** - **artifact_id** (_str_) – The id of the artifact to archive. This is a required field. (required) - **archive** (_Archive_) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [Artifact](models/artifact.md) ### archive_comment() This method archives a comment by updating it’s archive status to Archived. - **Parameters:** - **comment_id** (_str_) – The ID of the comment to archive. (required) - **archive** (_Archive_) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [Comment](models/comment.md) ### archive_configuration() This method archives a configuration by updating it’s archive status to Archived. - **Parameters:** - **configuration_id** (_str_) – The id of the configuration to archive. (required) - **archive** (_Archive_) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [SystemConfiguration](models/system_configuration.md) ### archive_file() This method archives a file by updating it’s archive status to Archived. - **Parameters:** - **file_id** (_str_) – The id of the file to archive. (required) - **archive** (_Archive_) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [File](models/file.md) ### archive_file_revision() This method archives a FileRevision by updating it’s archive status to Archived. - **Parameters:** - **revision_id** (_str_) – The id of the file revision to archive. (required) - **archive** (_Archive_) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [FileRevision](models/file_revision.md) ### archive_job() This method archives a job by updating it’s archive status to Archived. - **Parameters:** - **job_id** (_str_) – The id of the job to archive. (required) - **archive** (_Archive_) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [Job](models/job.md) ### archive_model() This method archives a model by updating it’s archive status to Archived. - **Parameters:** - **model_id** (_str_) – The id of the model to archive. (required) - **archive** (_Archive_) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [Model](models/model.md) ### archive_system() This method archives a system by updating it’s archive status to Archived. - **Parameters:** - **system_id** (_str_) – The id of the system to archive. (required) - **archive** (_Archive_) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [System](models/system.md) ### archive_tag() This method archives a snapshot tag by updating it’s archive status to Archived. - **Parameters:** - **tag_id** (_str_) – The id of the tag to archive. (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [SnapshotTag](models/snapshot_tag.md) ### copy_revision_to_existing_file() This method copies a revision to an existing file. - **Parameters:** - **revision_id** (_str_) – The id of the revision to copy (required) - **file_id** (_str_) – The id of the file to copy the revision to (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [File](models/file.md) ### copy_revision_to_new_file() This method copies a revision to a new file. - **Parameters:** - **revision_id** (_str_) – The id of the revision to copy (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [File](models/file.md) ### create_access() This method shares a resource or file with a user by updating the resource or file’s access. - **Parameters:** - **access_relationship** (_AccessRelationship_) – (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [AccessRelationship](models/access_relationship.md) ### create_access_by_email_for_other_tenants() This method shares a resource or file across tenants by the applicable user’s email. - **Parameters:** - **subject_type** (_AccessSubjectType_) – The type of the subject to create. (required) - **email** (_str_) – The email of the subject to create access for. (required) - **resource_type** (_AccessResourceType_) – The type of the resource to create access for. (required) - **resource_id** (_str_) – The id of the resource to create access for. (required) - **access_relationship** (_AccessRelation_) – The access relationship to create. (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [AccessRelationship](models/access_relationship.md) ### create_agent_personal_access_token() This method creates an agent personal access token. - **Parameters:** - **name** (_str_) – The name of the personal access token. (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [PersonalAccessToken](models/personal_access_token.md) ### create_author() This method creates a new author. - **Parameters:** - **new_module_author** (_NewModuleAuthor_) – (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [ModuleAuthor](models/module_author.md) ### create_configuration() This method creates a new configuration for a system. - **Parameters:** - **system_id** (_str_) – The id of the system to create a configuration for. (required) - **new_system_configuration** (_NewSystemConfiguration_) – (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [SystemConfiguration](models/system_configuration.md) ### create_control_tag() This method creates a new control tag. - **Parameters:** - **new_control_tag** (_NewControlTag_) – (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [ControlTag](models/control_tag.md) ### create_app_integration() This method creates an app integration. - **Parameters:** - **new_app_integration** (_NewAppIntegration_) – (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [AppIntegration](models/app_integration.md) ### create_module() This methods creates a new module. - **Parameters:** - **new_module_manifest** (_NewModuleManifest_) – (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [Module](models/module.md) ### create_operating_system() This method creates a new operating system. - **Parameters:** - **new_operating_system** (_NewOperatingSystem_) – (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [OperatingSystem](models/operating_system.md) ### create_personal_access_token() This method creates a personal access token. - **Parameters:** - **name** (_str_) – The name of the personal access token. (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [PersonalAccessToken](models/personal_access_token.md) ### create_snapshot() This methods creates a new snapshot. - **Parameters:** - **configuration_id** (_str_) – The id of the configuration to create a snapshot for. (required) - **new_snapshot** (_NewSnapshot_) – (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [ResponseCreateSnapshot](models/response_create_snapshot.md) ### create_system() This method creates a new system. - **Parameters:** - **new_system** (_NewSystem_) – (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [System](models/system.md) ### create_tag() This method creates a new snapshot tag. - **Parameters:** - **snapshot_id** (_str_) – The id of the snapshot to create a tag for. (required) - **new_snapshot_tag** (_NewSnapshotTag_) – (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [SnapshotTag](models/snapshot_tag.md) ### create_tenant_public_key() Creates a tenant public key. - **Parameters:** - **public_key_file** (_bytearray_) – (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [TenantPublicKey](models/tenant_public_key.md) ### create_tool() This method creates a new tool. - **Parameters:** - **new_tool** (_NewTool_) – (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [Tool](models/tool.md) ### create_tool_versions() This method creates a new tool version. - **Parameters:** - **tool_id** (_str_) – The ID of the tool to add a version to. (required) - **new_tool_version** (_NewToolVersion_) – (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [ToolVersion](models/tool_version.md) ### delete_app_integration() This method deletes an app integration by id. - **Parameters:** - **app_integration_id** (_str_) – ID of the app integration to delete. This is a required field. (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [AppIntegration](models/app_integration.md) ### delete_personal_access_token() This method deletes a personal access token. - **Parameters:** - **pat_id** (_str_) – The personal access token id. (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** object ### deprecate_module() This method deprecates all versions of a module. - **Parameters:** - **module_id** (_str_) – The id of the module to deprecate (required) - **deprecation_reason** (_DeprecationReason_) – (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [Module](models/module.md) ### deprecate_module_version() This method deprecates a module version. - **Parameters:** - **module_version_id** (_str_) – The id of the module version to deprecate (required) - **deprecation_reason** (_DeprecationReason_) – (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [ModuleVersion](models/module_version.md) ### fetch_function_auth_secret() This method gets a function auth secret by id. - **Parameters:** - **auth_secret_id** (_str_) – The function auth secret ID to get. (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [FunctionAuthSecret](models/function_auth_secret.md) ### find_function_auth_secret() This method lists all function auth secrets that a user has access to. - **Parameters:** - **app_integration_id** (_str_) - **auth_integration_type** (_AuthIntegrationType_) - **function_auth_type** (_FunctionAuthType_) - **expiration** (_datetime_) - **latest** (_bool_) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** List[[FunctionAuthSecret](models/function_auth_secret.md)] ### get_agent() This method gets an agent by id. - **Parameters:** - **agent_id** (_str_) – The ID of the agent to get. (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [Agent](models/agent.md) ### get_agent_available_jobs() This method gets the list of available jobs for an agent. - **Parameters:** - **agent_identifier** (_str_) – The identifier for the agent (required) - **page** (_int_) – Page number - **size** (_int_) – Page size - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [PageJob](models/page_job.md) ### get_agent_display_name() This method gets an agent’s display name. - **Parameters:** - **agent_id** (_str_) – The ID of the agent to get. (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [AgentDisplayName](models/agent_display_name.md) ### get_agent_modules() This method gets an agent’s loaded modules. - **Parameters:** - **agent_id** (_str_) – The ID of the agent to get. (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [AgentModules](models/agent_modules.md) ### get_agent_status() This method gets an agent’s status. - **Parameters:** - **agent_id** (_str_) – The ID of the agent to get. (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [AgentStatus](models/agent_status.md) ### get_artifact() This method gets an artifact from the database. - **Parameters:** - **artifact_id** (_str_) – The id of the artifact to get. This is a required field. (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [Artifact](models/artifact.md) ### get_artifact_control_tagging_history() This method gets the full history of control taggings added to and removed from an artifact. - **Parameters:** - **artifact_id** (_str_) – The ID of the artifact to get. This is a required field. (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** List[[ResourceControlTagging](models/resource_control_tagging.md)] ### get_artifact_control_taggings() This method gets a artifact’s active control taggings. - **Parameters:** - **artifact_id** (_str_) – The ID of the artifact to get. This is a required field. (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** List[[ResourceControlTagging](models/resource_control_tagging.md)] ### get_author() This method gets an author by id. - **Parameters:** - **author_id** (_str_) – The author ID to get. (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [ModuleAuthor](models/module_author.md) ### get_comment() This method gets a comment by id - **Parameters:** - **comment_id** (_str_) – The ID of the comment to retrieve. (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [Comment](models/comment.md) ### get_configuration() This method gets a configuration by id. - **Parameters:** - **configuration_id** (_str_) – The id of the configuration to get. (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [SystemConfiguration](models/system_configuration.md) ### get_control_tag() This method gets a control tag by id. - **Parameters:** - **control_tag_id** (_str_) – The ID of the control tag to get. This is a required field. (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [ControlTag](models/control_tag.md) ### get_control_tag_revision_history() Control tag revision history. - **Parameters:** - **control_tag_id** (_str_) – (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** List[[ControlTagRevision](models/control_tag_revision.md)] ### get_current_user() This method gets the current user. - **Parameters:** **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [User](models/user.md) ### get_app_integration() This method gets app integration info by id. - **Parameters:** - **app_integration_id** (_str_) – ID of the app integration to get. This is a required field. (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [AppIntegration](models/app_integration.md) ### get_file() This method gets a file by id. - **Parameters:** - **file_id** (_str_) – The id of the file to get. (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [File](models/file.md) ### get_file_by_revision_id() This method gets a file by revision id. - **Parameters:** - **revision_id** (_str_) – The revision id of the file to get. (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [File](models/file.md) ### get_file_control_tagging_history() This method gets the full history of control taggings added to and removed from a file. - **Parameters:** - **file_id** (_str_) – The ID of the file to get. This is a required field. (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** List[[FileControlTagging](models/file_control_tagging.md)] ### get_file_control_taggings() This method gets a file’s active control taggings. - **Parameters:** - **file_id** (_str_) – The ID of the file to get. This is a required field. (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** List[[FileControlTagging](models/file_control_tagging.md)] ### get_function() This method gets a function by id. - **Parameters:** - **function_id** (_str_) – ID of the function to get (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [Function](models/function.md) ### get_function_schema() This method gets a function schema by id. - **Parameters:** - **function_schema_id** (_str_) – ID of the function schema to get (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [FunctionSchema](models/function_schema.md) ### get_job() This method gets a job by id. - **Parameters:** - **job_id** (_str_) – The id of the job to get. (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [Job](models/job.md) ### get_model() This method gets a model by id. - **Parameters:** - **model_id** (_str_) – The model ID to get. This is a required field. (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [Model](models/model.md) ### get_model_control_tagging_history() This method gets the full history of control taggings added to and removed from a model. - **Parameters:** - **model_id** (_str_) – The ID of the model to get. This is a required field. (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** List[[ResourceControlTagging](models/resource_control_tagging.md)] ### get_model_control_taggings() This method gets a model’s active control taggings. - **Parameters:** - **model_id** (_str_) – The ID of the model to get. This is a required field. (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** List[[ResourceControlTagging](models/resource_control_tagging.md)] ### get_module() This method gets a module by id - **Parameters:** - **module_id** (_str_) – The id of the module to get (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [Module](models/module.md) ### get_module_version() This method gets a module version by id. - **Parameters:** - **module_version_id** (_str_) – The id of the module version to get (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [ModuleVersion](models/module_version.md) ### get_object_control_tags() Get the active control tag assignments for an object - **Parameters:** - **object_type** (_ControlTaggingObjectType_) – Type of object to get control tags for. This is a required field. (required) - **object_id** (_str_) – ID of the object to get control tags for. This is a required field. (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** List[[ControlTag](models/control_tag.md)] ### get_operating_system() This method gets an operating system by id. - **Parameters:** - **operating_system_id** (_str_) – The operating system ID to get. (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [OperatingSystem](models/operating_system.md) ### get_revision() This method gets a revision by id. - **Parameters:** - **revision_id** (_str_) – The id of the revision to get (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [FileRevision](models/file_revision.md) ### get_snapshot() This method gets a snapshot by id. - **Parameters:** - **snapshot_id** (_str_) – The id of the snapshot to get. (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [Snapshot](models/snapshot.md) ### get_system() This method gets a system by id. - **Parameters:** - **system_id** (_str_) – The id of the system to get. (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [System](models/system.md) ### get_system_baseline() This method gets the system baseline by system id. - **Parameters:** - **system_id** (_str_) – The id of the system to get the baseline for. (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [SystemBaseline](models/system_baseline.md) ### get_tag() This method gets a snapshot tag by id. - **Parameters:** - **tag_id** (_str_) – The id of the tag to get. (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [SnapshotTag](models/snapshot_tag.md) ### get_tenant_public_key() Gets a tenant public key. - **Parameters:** **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [TenantPublicKey](models/tenant_public_key.md) ### get_tool() This method gets a tool by id - **Parameters:** - **tool_id** (_str_) – The ID of the tool to get. (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [Tool](models/tool.md) ### get_tool_version() This method gets a tool version by id. - **Parameters:** - **tool_version_id** (_str_) – The tool version ID to get (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [ToolVersion](models/tool_version.md) ### get_user_by_id() This method gets a user by id. - **Parameters:** - **user_id** (_str_) – The id of the user. (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [User](models/user.md) ### get_user_control_tagging_history() This method gets the full history of control taggings added to and removed from a user. - **Parameters:** - **user_id** (_str_) – The ID of the user to get. This is a required field. (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** List[[UserControlTagging](models/user_control_tagging.md)] ### get_user_control_taggings() This method gets a user’s active control taggings. - **Parameters:** - **user_id** (_str_) – The ID of the user to get. This is a required field. (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** List[[UserControlTagging](models/user_control_tagging.md)] ### list_access() This method lists access for a resource or file. - **Parameters:** - **resource_type** (_AccessResourceType_) – The type of the resource. (required) - **resource_id** (_str_) – The id of the resource. (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** List[[AccessRelationship](models/access_relationship.md)] ### list_agent_status_history() This method lists an agent’s status history. - **Parameters:** - **agent_id** (_str_) – The ID of the agent to get. (required) - **page** (_int_) – Page number - **size** (_int_) – Page size - **sort** (_str_) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [PageAgentStatus](models/page_agent_status.md) ### list_agents() This method lists all agents a user has access to. - **Parameters:** - **agent_version** (_str_) – Filter by the agent version - **host_os** (_str_) – Filter by the host OS - **updated_since** (_datetime_) – Filter by last update time of agent - **module_name** (_str_) – Filter by name of module loaded on the agent - **module_version** (_str_) – Filter by version of module loaded on the agent - **status_name** (_AgentStatusName_) – Filter by the agent status name - **page** (_int_) – Page number - **size** (_int_) – Page size - **sort** (_str_) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [PageAgent](models/page_agent.md) ### list_artifact_access() (Deprecated) This method lists all access to an artifact. It is deprecated. Use list_access instead. - **Parameters:** - **artifact_id** (_str_) – The id of the artifact to get access for. This is a required field. (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** List[[AccessRelationship](models/access_relationship.md)] ### list_artifact_comments() This method lists all comments a user has access to for an artifact. - **Parameters:** - **artifact_id** (_str_) – The id of the artifact to get comments for. This is a required field. (required) - **page** (_int_) – Page number - **size** (_int_) – Page size - **archive_status** (_ArchiveStatus_) – Filter results by archive status (active, archived, all) - **sort** (_str_) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [PageComment](models/page_comment.md) ### list_artifacts() This method lists all artifacts a user has access to. - **Parameters:** - **page** (_int_) – Page number - **size** (_int_) – Page size - **filter_by** (_FilterBy_) – Filter artifacts by created by user or shared with user. (created_by_id, -created_by_id) - **archive_status** (_ArchiveStatus_) – Filter results by archive status (active, archived, all) - **sort** (_str_) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [PageArtifact](models/page_artifact.md) ### list_auth_integration() This method lists all AuthIntegrations a user has access to. - **Parameters:** - **page** (_int_) – Page number - **size** (_int_) – Page size - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [PageAuthIntegration](models/page_auth_integration.md) ### list_authors() This method lists all authors a user has access to. - **Parameters:** - **page** (_int_) – Page number - **size** (_int_) – Page size - **sort** (_str_) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [PageModuleAuthor](models/page_module_author.md) ### list_control_tags() List all control tags - **Parameters:** **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** List[[ControlTag](models/control_tag.md)] ### list_app_integrations() This method lists app integration info a use has access to. - **Parameters:** - **page** (_int_) – Page number - **size** (_int_) – Page size - **sort** (_str_) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [PageAppIntegration](models/page_app_integration.md) ### list_files() This method lists all files that a user has access to. - **Parameters:** - **page** (_int_) – Page number - **size** (_int_) – Page size - **filter_by** (_FilterBy_) – Filter results by models that were created by the user (created_by_id) or shared with the user (-created_by_id). - **archive_status** (_ArchiveStatus_) – Filter results by archive status (active, archived, all) - **sort** (_str_) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [PageFile](models/page_file.md) ### list_function_access() This method lists all access to a function. - **Parameters:** - **function_id** (_str_) – ID of the function to get access relationships for (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** List[[AccessRelationship](models/access_relationship.md)] ### list_functions() This method lists all functions a user has access to. - **Parameters:** - **name** (_str_) – Filter functions by name - **module_version** (_str_) – Filter functions by module version - **tool** (_str_) – Filter functions by tool name - **tool_version** (_str_) – Filter functions by tool version - **operating_system** (_str_) – Filter functions by operating system - **input_extension** (_str_) – Filter functions by input file extension - **input_user_models** (_UserModelInputs_) – Filter functions by input user models (single, multiple) - **status** (_UsabilityStatusParams_) – Filter functions by usability status (supported, deprecated, all) - **page** (_int_) – Page number - **size** (_int_) – Page size - **sort** (_str_) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [PageFunction](models/page_function.md) ### list_job_access() (Deprecated) This method lists all access to a job. It is deprecated. Use list_access instead. - **Parameters:** - **job_id** (_str_) – The id of the job to list access permissions for. (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** List[[AccessRelationship](models/access_relationship.md)] ### list_jobs() This method lists the jobs that a user has access to. - **Parameters:** - **model_id** (_str_) – Filter jobs by model id - **status_name** (_JobStatusName_) – Filter jobs by status name - **page** (_int_) – Page number - **size** (_int_) – Page size - **archive_status** (_ArchiveStatus_) – Filter jobs by archive status - **sort** (_str_) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [PageJob](models/page_job.md) ### list_model_access() (Deprecated) This method lists all access to a model. It is deprecated. Use list_access instead. - **Parameters:** - **model_id** (_str_) – The id of the model to list access permissions for. (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** List[[AccessRelationship](models/access_relationship.md)] ### list_model_artifacts() This method lists all artifacts a user has access to for a model. - **Parameters:** - **model_id** (_str_) – The id of the model to list artifacts for. (required) - **page** (_int_) – Page number - **size** (_int_) – Page size - **filter_by** (_FilterBy_) – Filter model artifacts by created by user or shared with user (created_by_id, -created_by_id) - **archive_status** (_ArchiveStatus_) – Filter results by archive status (active, archived, all) - **sort** (_str_) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [PageArtifact](models/page_artifact.md) ### list_model_comments() This method lists all comments a user has access to for a model. - **Parameters:** - **model_id** (_str_) – The model ID to which the comment belongs. (required) - **page** (_int_) – Page number - **size** (_int_) – Page size - **archive_status** (_ArchiveStatus_) – Filter results by archive status (active, archived, all) - **sort** (_str_) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [PageComment](models/page_comment.md) ### list_model_jobs() This method lists all jobs a user has access to for a model. - **Parameters:** - **model_id** (_str_) – The id of the model to list jobs for. (required) - **status_name** (_JobStatusName_) – Filter results by job status name - **page** (_int_) – Page number - **size** (_int_) – Page size - **archive_status** (_ArchiveStatus_) – Filter results by archive status (active, archived, all) - **sort** (_str_) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [PageJob](models/page_job.md) ### list_models() This methods lists all models a user has access to. - **Parameters:** - **page** (_int_) – Page number - **size** (_int_) – Page size - **filter_by** (_FilterBy_) – Filter results by models that were created by the user (created_by_id) or shared with the user (-created_by_id). - **archive_status** (_ArchiveStatus_) – Filter results by archive status (active, archived, all) - **sort** (_str_) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [PageModelListItem](models/page_model_list_item.md) ### list_module_versions() This method list all module versions a user has access to. - **Parameters:** - **page** (_int_) – Page number - **size** (_int_) – Page size - **sort** (_str_) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [PageModuleVersion](models/page_module_version.md) ### list_modules() This method lists all modules a user has access to. - **Parameters:** - **page** (_int_) – Page number - **size** (_int_) – Page size - **sort** (_str_) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [PageModule](models/page_module.md) ### list_operating_systems() This method lists all operating systems a user has access to. - **Parameters:** - **page** (_int_) – Page number - **size** (_int_) – Page size - **sort** (_str_) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [PageOperatingSystem](models/page_operating_system.md) ### list_personal_access_tokens() This method lists all personal access tokens a user has access to. - **Parameters:** - **page** (_int_) – Page number - **size** (_int_) – Page size - **sort** (_str_) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [PagePersonalAccessToken](models/page_personal_access_token.md) ### list_resources() This method lists all resources a user has access to. - **Parameters:** - **page** (_int_) – Page number - **size** (_int_) – Page size - **id** (_List_ _[\*\*Optional_ _[\*\*str_ _]_ _]_) – A list of resource IDs to filter on - **file_name** (_List_ _[\*\*Optional_ _[\*\*str_ _]_ _]_) – A list of file names to filter on (single value performs a like comparison) - **type_name** (_List_ _[\*\*ResourceType_ _]_) – A list of resource types to filer on - **description** (_List_ _[\*\*str_ _]_) – A list of file descriptions to filter on (single value performs a like comparison) - **version_name** (_List_ _[\*\*str_ _]_) – A list of file version names to filter on (single value performs a like comparison) - **external_identifier** (_List_ _[\*\*str_ _]_) – A list of file external identifiers to filter on (single value performs a like comparison) - **display_name** (_List_ _[\*\*str_ _]_) – A list of file display names to filter on (single value performs a like comparison) - **mime_type** (_List_ _[\*\*str_ _]_) – A list of file mime types to filter on - **file_size** (_List_ _[\*\*int_ _]_) – A list of file sizes to filter on - **created_timestamp** (_List_ _[\*\*datetime_ _]_) – A list of file creation timestamps to filter on - **updated_timestamp** (_List_ _[\*\*datetime_ _]_) – A list of file update timestamps to filter on - **created_by_id** (_List_ _[\*\*str_ _]_) – A list of user IDs that created the file to filter on - **updated_by_id** (_List_ _[\*\*str_ _]_) – A list of user IDs that updated the file to filter on - **archive_status** (_List_ _[\*\*ArchiveStatusName_ _]_) – A list of archive statuses to filter on - **sort** (_str_) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [PageResourceSearchItem](models/page_resource_search_item.md) ### list_snapshot_items() This method lists all the snapshot items a user has access to. - **Parameters:** - **snapshot_id** (_str_) – The id of the snapshot to list items for. (required) - **page** (_int_) – Page number - **size** (_int_) – Page size - **sort** (_str_) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [PageSnapshotItem](models/page_snapshot_item.md) ### list_snapshot_revisions() This method gets a snapshot’s revisions. - **Parameters:** - **snapshot_id** (_str_) – The id of the system snapshot to list revisions for. (required) - **page** (_int_) – Page number - **size** (_int_) – Page size - **name** (_List_ _[\*\*str_ _]_) – A list of file names to filter on (single value performs a like comparison) - **extension** (_List_ _[\*\*str_ _]_) – A list of file extensions to filter on (single value performs a like comparison) - **sort** (_str_) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [PageSnapshotRevisionSearchItem](models/page_snapshot_revision_search_item.md) ### list_snapshots() This method lists all the snapshots a user has access to - **Parameters:** - **system_id** (_str_) – The id of the system to filter snapshots by - **configuration_id** (_str_) – The id of the configuration to filter snapshots by - **tag** (_str_) – The tag to filter snapshots by - **page** (_int_) – Page number - **size** (_int_) – Page size - **sort** (_str_) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [PageSnapshot](models/page_snapshot.md) ### list_system_configurations() This method lists all the system configurations a user has access to. - **Parameters:** - **system_id** (_str_) – The id of the system to list configurations for. (required) - **page** (_int_) – Page number - **size** (_int_) – Page size - **archive_status** (_ArchiveStatus_) – Filter results by archive status (active, archived, all) - **sort** (_str_) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [PageSystemConfiguration](models/page_system_configuration.md) ### list_systems() This method lists all the systems a user has access to. - **Parameters:** - **page** (_int_) – Page number - **size** (_int_) – Page size - **filter_by** (_FilterBy_) – Filter results by systems that were created by the user (created_by_id) or shared with the user (-created_by_id). - **archive_status** (_ArchiveStatus_) – Filter results by archive status (active, archived, all) - **sort** (_str_) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [PageSystem](models/page_system.md) ### list_tags() This method lists all the snapshot tags a user has access to. - **Parameters:** - **system_id** (_str_) – The id of the system to filter tags by - **configuration_id** (_str_) – The id of the configuration to filter tags by - **snapshot_id** (_str_) – The id of the snapshot to filter tags by - **archive_status** (_ArchiveStatus_) - **page** (_int_) – Page number - **size** (_int_) – Page size - **sort** (_str_) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [PageSnapshotTag](models/page_snapshot_tag.md) ### list_tool_versions() This method lists all tool versions a user has access to. - **Parameters:** - **page** (_int_) – Page number - **size** (_int_) – Page size - **sort** (_str_) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [PageToolVersion](models/page_tool_version.md) ### list_tools() This method list all tools a user has access to - **Parameters:** - **page** (_int_) – Page number - **size** (_int_) – Page size - **sort** (_str_) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [PageTool](models/page_tool.md) ### list_tracked_files() This methods list all the tracked files for a configuration that the user has access to. - **Parameters:** - **configuration_id** (_str_) – The id of the configuration to list tracked files for. (required) - **page** (_int_) – Page number - **size** (_int_) – Page size - **sort** (_str_) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [PageTrackedFile](models/page_tracked_file.md) ### list_users() This method lists all users a user has access to. - **Parameters:** - **user_state** (_UserStateOption_) – Filter users by state (active or all). - **user_type** (_UserType_) – Filter users by type (human, agent or all). - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** List[[User](models/user.md)] ### liveness_check() Liveness probe - **Parameters:** **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [HealthcheckReport](models/healthcheck_report.md) ### patch_artifact_access() (Deprecated) This method updates access to an artifact. It is deprecated. Use update_access instead. - **Parameters:** - **artifact_id** (_str_) – The id of the artifact to update access for. This is a required field. (required) - **access_relationship** (_AccessRelationship_) – (required) - **patch_op** (_PatchOp_) – The operation to perform on the access relationship. This is a required field. - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** List[[AccessRelationship](models/access_relationship.md)] ### patch_artifact_control_taggings() This method adds or removes control tags on a artifact. - **Parameters:** - **artifact_id** (_str_) – The ID of the artifact to get. This is a required field. (required) - **request_body** (_List_ _[\*\*str_ _]_) – (required) - **patch_op** (_PatchOp_) – The operation to perform. This is a required field. - **reason** (_str_) – The reason for the change. This is an optional field. - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** List[[ResourceControlTagging](models/resource_control_tagging.md)] ### patch_file_control_taggings() This method adds or removes control tags on a file. - **Parameters:** - **file_id** (_str_) – The ID of the file to get. This is a required field. (required) - **request_body** (_List_ _[\*\*Optional_ _[\*\*str_ _]_ _]_) – (required) - **patch_op** (_PatchOp_) – The operation to perform. This is a required field. - **reason** (_str_) – The reason for the change. This is an optional field. - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** List[[FileControlTagging](models/file_control_tagging.md)] ### patch_function_access() This method updates access to a function. - **Parameters:** - **function_id** (_str_) – ID of the function to modify access permissions on (required) - **access_relationship** (_AccessRelationship_) – (required) - **patch_op** (_PatchOp_) – The operation to perform on the access relationship. - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** List[[AccessRelationship](models/access_relationship.md)] ### patch_job_access() (Deprecated) This method updates access to a job. It is deprecated. Use update_access instead. - **Parameters:** - **job_id** (_str_) – The id of the job to modify access permissions on (required) - **access_relationship** (_AccessRelationship_) – (required) - **patch_op** (_PatchOp_) – The operation to perform on the access relationship. - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** List[[AccessRelationship](models/access_relationship.md)] ### patch_model_access() (Deprecated) This method updates access to a model. It is deprecated. Use update_access instead. - **Parameters:** - **model_id** (_str_) – The id of the model to update access for. (required) - **access_relationship** (_AccessRelationship_) – (required) - **patch_op** (_PatchOp_) – The operation to perform on the access relationship. - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** List[[AccessRelationship](models/access_relationship.md)] ### patch_model_control_taggings() This method adds or removes control tags on a model. - **Parameters:** - **model_id** (_str_) – The ID of the model to add or remove taggings. This is a required field. (required) - **request_body** (_List_ _[\*\*str_ _]_) – (required) - **patch_op** (_PatchOp_) – The operation to perform. This is a required field. - **reason** (_str_) – The reason for the change. This is an optional field. - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** List[[ResourceControlTagging](models/resource_control_tagging.md)] ### patch_user_control_taggings() This method adds or removes control tags on a user. - **Parameters:** - **user_id** (_str_) – The ID of the user to get. This is a required field. (required) - **request_body** (_List_ _[\*\*str_ _]_) – (required) - **patch_op** (_PatchOp_) – The operation to perform. This is a required field. - **reason** (_str_) – The reason for the change. This is an optional field. - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** List[[UserControlTagging](models/user_control_tagging.md)] ### readiness_check() Readiness probe - **Parameters:** **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [HealthcheckReport](models/healthcheck_report.md) ### register_agent() This method registers a new agent. - **Parameters:** - **new_agent** (_NewAgent_) – (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [Agent](models/agent.md) ### remove_access() This method removes access to a resource or file. - **Parameters:** - **subject_type** (_AccessSubjectType_) – The type of the subject to remove. (required) - **subject_id** (_str_) – The id of the subject to remove. (required) - **resource_type** (_AccessResourceType_) – The type of the resource to remove. (required) - **resource_id** (_str_) – The id of the resource to remove. (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** object ### remove_job_assigned_agent() This method removes the assigned agent from a job. - **Parameters:** - **job_id** (_str_) – The id of the job to remove the assigned agent from. (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [Job](models/job.md) ### restore_artifact() This method restores an artifact by updating it’s archive status to Active. - **Parameters:** - **artifact_id** (_str_) – The id of the artifact to restore. This is a required field. (required) - **restore** (_Restore_) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [Artifact](models/artifact.md) ### restore_comment() This method restores a comment by updating it’s archive status to Active. - **Parameters:** - **comment_id** (_str_) – The ID of the comment to restore. (required) - **restore** (_Restore_) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [Comment](models/comment.md) ### restore_configuration() This method restores a configuration by updating it’s archive status to Active. - **Parameters:** - **configuration_id** (_str_) – The id of the configuration to restore. (required) - **restore** (_Restore_) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [SystemConfiguration](models/system_configuration.md) ### restore_file() This method restores a file by updating it’s archive status to Active. - **Parameters:** - **file_id** (_str_) – The id of the file to restore. (required) - **restore** (_Restore_) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [File](models/file.md) ### restore_file_revision() This method restores a FileRevision by updating it’s archive status to Active. - **Parameters:** - **revision_id** (_str_) – The id of the file revision to restore. (required) - **restore** (_Restore_) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [FileRevision](models/file_revision.md) ### restore_job() This method restores a job by updating it’s archive status to Active. - **Parameters:** - **job_id** (_str_) – The id of the job to restore. (required) - **restore** (_Restore_) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [Job](models/job.md) ### restore_model() This method restores a model by updating it’s archive status to Active. - **Parameters:** - **model_id** (_str_) – The id of the model to restore. (required) - **restore** (_Restore_) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [Model](models/model.md) ### restore_system() This method restores a system by updating it’s archive status to Active. - **Parameters:** - **system_id** (_str_) – The id of the system to restore. (required) - **restore** (_Restore_) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [System](models/system.md) ### restore_tag() This method restores a snapshot tag by updating it’s archive status to Active. - **Parameters:** - **tag_id** (_str_) – The id of the tag to restore. (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [SnapshotTag](models/snapshot_tag.md) ### revoke_all_personal_access_tokens() This method revokes all personal access tokens. - **Parameters:** **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** object ### transfer_revision_to_existing_artifact() This method transfers a revision to an existing artifact. The original revision that was copied will be archived and no longer active. - **Parameters:** - **revision_id** (_str_) – The id of the revision to transfer (required) - **artifact_id** (_str_) – The id of the artifact to transfer the revision to (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [FileRevision](models/file_revision.md) ### transfer_revision_to_existing_file() This method transfers a file revision to an existing file. The original revision that was copied will be archived and no longer active. - **Parameters:** - **revision_id** (_str_) – The id of the revision to transfer (required) - **file_id** (_str_) – The id of the file to transfer the revision to (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [File](models/file.md) ### transfer_revision_to_new_artifact() This method transfers a revision to a new artifact. The original revision that was copied will be archived and no longer active. - **Parameters:** - **revision_id** (_str_) – The id of the revision to transfer (required) - **model_id** (_str_) – The id of the model to transfer the revision to (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [FileRevision](models/file_revision.md) ### transfer_revision_to_new_file() This method transfers a file revision to a new file. The original revision that was copied will be archived and no longer active. - **Parameters:** - **revision_id** (_str_) – The id of the revision to transfer (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [File](models/file.md) ### update_access() This method updates access to a resource or file. - **Parameters:** - **subject_type** (_AccessSubjectType_) – The type of the subject to update. (required) - **subject_id** (_str_) – The id of the subject to update. (required) - **resource_type** (_AccessResourceType_) – The type of the resource to update. (required) - **resource_id** (_str_) – The id of the resource to update. (required) - **update_access_relationship** (_UpdateAccessRelationship_) – (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [AccessRelationship](models/access_relationship.md) ### update_agent_display_name() This method updates an agent’s display name. - **Parameters:** - **agent_identifier** (_str_) – The ID of the agent to update. (required) - **new_agent_display_name** (_NewAgentDisplayName_) – (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [Agent](models/agent.md) ### update_agent_information() This method updates an agent’s information. - **Parameters:** - **agent_identifier** (_str_) – The ID of the agent to update. (required) - **new_agent_information** (_NewAgentInformation_) – (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [Agent](models/agent.md) ### update_agent_modules() This method updates an agent’s loaded modules. - **Parameters:** - **agent_identifier** (_str_) – The ID of the agent to update. (required) - **new_agent_module_version** (_List_ _[\*\*NewAgentModuleVersion_ _]_) – (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [Agent](models/agent.md) ### update_agent_status() This method updates an agent’s status. - **Parameters:** - **agent_identifier** (_str_) – The ID of the agent to update. (required) - **new_agent_status** (_NewAgentStatus_) – (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [Agent](models/agent.md) ### update_auth_integration() This method updates an AuthIntegration. The auth integration name must be unique per org. - **Parameters:** - **auth_integration_id** (_str_) – The unique name of the AuthIntegration to update (required) - **auth_integration_update** (_AuthIntegrationUpdate_) – (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [AuthIntegration](models/auth_integration.md) ### update_author() This method updates an author. - **Parameters:** - **author_id** (_str_) – The author ID to update. (required) - **new_module_author** (_NewModuleAuthor_) – (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [ModuleAuthor](models/module_author.md) ### update_control_tag() This method updates an existing control tag. - **Parameters:** - **update_control_tag** (_UpdateControlTag_) – (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [ControlTag](models/control_tag.md) ### update_app_integration() This method updates an app integration. - **Parameters:** - **app_integration_id** (_str_) – ID of the app integration to update. This is a required field. (required) - **new_app_integration** (_NewAppIntegration_) – (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [AppIntegration](models/app_integration.md) ### update_job_assigned_agent() This method updates the assigned agent for a job. - **Parameters:** - **job_id** (_str_) – The id of the job to update the assigned agent for. (required) - **new_job_assigned_agent** (_NewJobAssignedAgent_) – (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [Job](models/job.md) ### update_job_status() This method updates the status of a job. - **Parameters:** - **job_id** (_str_) – The id of the job to update (required) - **status_name** (_JobStatusName_) – The new status name to update the job with. (required) - **agent_identifier** (_str_) – An optional identifier for the agent. - **job_status_message** (_JobStatusMessage_) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [Job](models/job.md) ### update_operating_system() This method updates an existing operating system. - **Parameters:** - **operating_system_id** (_str_) – The id of the operating system to update. (required) - **new_operating_system** (_NewOperatingSystem_) – (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [OperatingSystem](models/operating_system.md) ### update_system() This method updates an existing system. - **Parameters:** - **system_id** (_str_) – The id of the system to update. (required) - **update_system** (_UpdateSystem_) – (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [System](models/system.md) ### update_tag() This method updates an existing snapshot tag by moving it to a different snapshot. - **Parameters:** - **tag_id** (_str_) – The id of the tag to update. (required) - **update_tag** (_UpdateTag_) – (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [SnapshotTag](models/snapshot_tag.md) ### update_tool() This method updates a tool. - **Parameters:** - **tool_id** (_str_) – The ID of the tool to update. (required) - **update_tool** (_UpdateTool_) – (required) - **http_request_timeout_secs** (_int_ _,_ _optional_) – timeout setting for this request - **Return Type:** [Tool](models/tool.md) ===== File: content/developers/SDK/api_reference/configuration.md ===== # Configuration #### Attributes | Name | Type | Description | | ------------------------------ | -------------- | ----------- | | registry_url | Optional[str] | | | registry_auth_token | Optional[str] | | | http_request_timeout_secs | Optional[int] | | | retry_enabled | Optional[bool] | | | retry_max_attempts | Optional[int] | | | retry_min_interval_millis | Optional[int] | | | retry_max_interval_millis | Optional[int] | | | filesystem_cache_enabled | Optional[bool] | | | filesystem_cache_root | Path | | | filesystem_cache_clean_on_exit | Optional[bool] | | | retry_jitter_enabled | Optional[bool] | | | multipart_chunksize | Optional[int] | | | multipart_threshold | Optional[int] | | | datetime_format | str | | | date_format | str | | #### Methods | Name | Description | | ------------------------- | --------------------------------------- | | auth_settings | Gets Auth Settings dict for api client. | | from_native_configuration | | ===== File: content/developers/SDK/api_reference/models/access_relation.md ===== # AccessRelation **Description:** PUBLIC: Relation types that can be assigned between a subject and a resource by a user of Istari. #### Attributes | Name | Type | Description | | ------------- | ---- | ----------- | | VIEWER | — | | | EDITOR | — | | | OWNER | — | | | ADMINISTRATOR | — | | | EXECUTOR | — | | #### Methods | Name | Description | | --------- | ------------------------------------------------------- | | from_json | Create an instance of AccessRelation from a JSON string | ===== File: content/developers/SDK/api_reference/models/access_relationship.md ===== # AccessRelationship **Description:** PUBLIC: An access relationship that can be viewed/modified by a user of Istari. #### Attributes | Name | Type | Description | | ------------- | --------------------------------------------- | ----------- | | subject_type | [AccessSubjectType](access_subject_type.md) | | | subject_id | StrictStr | | | relation | [AccessRelation](access_relation.md) | | | resource_type | [AccessResourceType](access_resource_type.md) | | | resource_id | StrictStr | | | subject_info | Optional[[SubjectInfo](subject_info.md)] | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of AccessRelationship from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of AccessRelationship from a dict | ===== File: content/developers/SDK/api_reference/models/access_resource_type.md ===== # AccessResourceType **Description:** Public: permission resource types that can the tbe target of API / UI user role assignments. #### Attributes | Name | Type | Description | | ------------------ | ---- | ----------- | | MODEL | — | | | ARTIFACT | — | | | JOB | — | | | FILE | — | | | FILEREVISION | — | | | FUNCTION | — | | | TENANT | — | | | SYSTEM | — | | | FUNCTIONAUTHSECRET | — | | #### Methods | Name | Description | | --------- | ----------------------------------------------------------- | | from_json | Create an instance of AccessResourceType from a JSON string | ===== File: content/developers/SDK/api_reference/models/access_subject_type.md ===== # AccessSubjectType **Description:** Public: permission subject types that can be the subject of access role assignment in UI / API. #### Attributes | Name | Type | Description | | ---- | ---- | ----------- | | USER | — | | #### Methods | Name | Description | | --------- | ---------------------------------------------------------- | | from_json | Create an instance of AccessSubjectType from a JSON string | ===== File: content/developers/SDK/api_reference/models/agent.md ===== # Agent **Description:** Agent #### Attributes | Name | Type | Description | | -------------------- | --------------------------------------------------------- | ----------- | | id | StrictStr | | | created | datetime.datetime | | | agent_identifier | StrictStr | | | display_name_history | Optional[List[[AgentDisplayName](agent_display_name.md)]] | | | information_history | Optional[List[[AgentInformation](agent_information.md)]] | | | status_history | Optional[List[[AgentStatus](agent_status.md)]] | | | modules_history | Optional[List[[AgentModules](agent_modules.md)]] | | | created_by_id | Optional[StrictStr] | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of Agent from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of Agent from a dict | ===== File: content/developers/SDK/api_reference/models/agent_display_name.md ===== # AgentDisplayName **Description:** AgentDisplayName #### Attributes | Name | Type | Description | | ------------- | ------------------- | ----------- | | id | StrictStr | | | created | datetime.datetime | | | agent_id | StrictStr | | | display_name | StrictStr | | | created_by_id | Optional[StrictStr] | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of AgentDisplayName from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of AgentDisplayName from a dict | ===== File: content/developers/SDK/api_reference/models/agent_information.md ===== # AgentInformation **Description:** AgentInformation #### Attributes | Name | Type | Description | | ------------- | ------------------- | ----------- | | id | StrictStr | | | created | datetime.datetime | | | agent_id | StrictStr | | | agent_version | StrictStr | | | host_os | StrictStr | | | created_by_id | Optional[StrictStr] | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of AgentInformation from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of AgentInformation from a dict | ===== File: content/developers/SDK/api_reference/models/agent_module_version.md ===== # AgentModuleVersion **Description:** AgentModuleVersion #### Attributes | Name | Type | Description | | ----------------- | ------------------- | ----------- | | id | StrictStr | | | created | datetime.datetime | | | agent_modules_id | StrictStr | | | module_version_id | StrictStr | | | module_name | StrictStr | | | module_version | StrictStr | | | created_by_id | Optional[StrictStr] | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of AgentModuleVersion from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of AgentModuleVersion from a dict | ===== File: content/developers/SDK/api_reference/models/agent_modules.md ===== # AgentModules **Description:** AgentModules #### Attributes | Name | Type | Description | | --------------- | --------------------------------------------------- | ----------- | | id | StrictStr | | | created | datetime.datetime | | | agent_id | StrictStr | | | module_versions | List[[AgentModuleVersion](agent_module_version.md)] | | | created_by_id | Optional[StrictStr] | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of AgentModules from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of AgentModules from a dict | ===== File: content/developers/SDK/api_reference/models/agent_status.md ===== # AgentStatus **Description:** AgentStatus #### Attributes | Name | Type | Description | | ------------- | --------------------------------------- | ----------- | | id | StrictStr | | | created | datetime.datetime | | | agent_id | StrictStr | | | name | [AgentStatusName](agent_status_name.md) | | | created_by_id | Optional[StrictStr] | | | message | Optional[StrictStr] | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of AgentStatus from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of AgentStatus from a dict | ===== File: content/developers/SDK/api_reference/models/agent_status_name.md ===== # AgentStatusName **Description:** AgentStatusName #### Attributes | Name | Type | Description | | ---------------------- | ---- | ----------- | | IDLE | — | | | CLAIMINGJOB | — | | | EXECUTINGJOB | — | | | EXECUTIONFAILED | — | | | EXECUTIONSUCCESS | — | | | UPDATINGAGENT | — | | | SUCCESSFULAGENTUPDATE | — | | | FAILEDAGENTUPDATE | — | | | UPDATINGMODULE | — | | | SUCCESSFULMODULEUPDATE | — | | | FAILEDMODULEUPDATE | — | | | PAUSED | — | | | UNKNOWN | — | | #### Methods | Name | Description | | --------- | -------------------------------------------------------- | | from_json | Create an instance of AgentStatusName from a JSON string | ===== File: content/developers/SDK/api_reference/models/app_integration.md ===== # AppIntegration **Description:** A class representing a Foreign Data Host. #### Attributes | Name | Type | Description | | ----------------- | ------------------------------------------------------ | ----------- | | id | StrictStr | | | created | datetime.datetime | | | created_by_id | StrictStr | | | integration_type | [IntegrationType](integration_type.md) | | | tenant_id | Optional[StrictStr] | | | description | Optional[StrictStr] | | | auth_integrations | Optional[List[[AuthIntegration](auth_integration.md)]] | | #### Methods | Name | Description | | --------- | ----------------------------------------------------------------------- | | to_str | Return the string representation of the model using field aliases. | | to_json | Return the JSON string representation of the model using field aliases. | | from_json | Create an instance of the model from a JSON string. | | to_dict | Return the dictionary representation of the model using field aliases. | | from_dict | Create an instance of AppIntegration from a dict | ===== File: content/developers/SDK/api_reference/models/archivable.md ===== # Archivable **Description:** Helper class that provides a standard way to create an ABC using #### Methods | Name | Description | | ------- | ----------------------------------------------------------------------- | | archive | Archive the item using the appropriate client method based on its type. | | restore | Restore the item using the appropriate client method based on its type. | ===== File: content/developers/SDK/api_reference/models/archive.md ===== # Archive **Description:** Archive #### Attributes | Name | Type | Description | | ------ | --------- | ----------- | | reason | StrictStr | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of Archive from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of Archive from a dict | ===== File: content/developers/SDK/api_reference/models/archive_status.md ===== # ArchiveStatus **Description:** Enum for archive status. #### Attributes | Name | Type | Description | | -------- | ---- | ----------- | | ARCHIVED | — | | | ACTIVE | — | | | ALL | — | | #### Methods | Name | Description | | --------- | ------------------------------------------------------ | | from_json | Create an instance of ArchiveStatus from a JSON string | ===== File: content/developers/SDK/api_reference/models/archive_status_name.md ===== # ArchiveStatusName **Description:** ArchiveStatusName #### Attributes | Name | Type | Description | | -------- | ---- | ----------- | | ARCHIVED | — | | | ACTIVE | — | | #### Methods | Name | Description | | --------- | ---------------------------------------------------------- | | from_json | Create an instance of ArchiveStatusName from a JSON string | ===== File: content/developers/SDK/api_reference/models/artifact.md ===== # Artifact **Description:** Represents an artifact with file and model information. Inherits from Base and FileReaderMixin. #### Attributes | Name | Type | Description | | ---------------------- | --------------------------------------------------------- | ----------- | | id | StrictStr | | | created | datetime.datetime | | | file | [File](file.md) | | | comments | List[[Comment](comment.md)] | | | archive_status_history | List[[ResourceArchiveStatus](resource_archive_status.md)] | | | created_by_id | StrictStr | | | model_id | Optional[StrictStr] | | | control_tags | Optional[List[[ControlTag](control_tag.md)]] | | #### Methods | Name | Description | | -------------------------- | ----------------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of Artifact from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of Artifact from a dict | | update_properties | | | update_description | | | update_display_name | | | update_external_identifier | | | update_version_name | | | read_bytes | | | read_text | | | copy_to | | | read_json | | | create_access | | | create_access_by_email | | | update_access | | | remove_access | | | list_access | | | archive | Archive the item using the appropriate client method based on its type. | | restore | Restore the item using the appropriate client method based on its type. | ===== File: content/developers/SDK/api_reference/models/auth_integration.md ===== # AuthIntegration **Description:** A class representing an Auth Integration. #### Attributes | Name | Type | Description | | ---------------------- | --------------------------------------------------------- | ----------- | | id | StrictStr | | | created | datetime.datetime | | | file | [File](file.md) | | | comments | List[[Comment](comment.md)] | | | archive_status_history | List[[ResourceArchiveStatus](resource_archive_status.md)] | | | created_by_id | StrictStr | | | auth_integration_type | [AuthIntegrationType](auth_integration_type.md) | | | auth_type | [FunctionAuthType](function_auth_type.md) | | | app_integration_id | Optional[StrictStr] | | #### Methods | Name | Description | | --------- | ----------------------------------------------------------------------- | | to_str | Return the string representation of the model using field aliases. | | to_json | Return the JSON string representation of the model using field aliases. | | from_json | Create an instance of the model from a JSON string. | | to_dict | Return the dictionary representation of the model using field aliases. | | from_dict | Create an instance of AuthIntegration from a dict | ===== File: content/developers/SDK/api_reference/models/auth_integration_type.md ===== # AuthIntegrationType **Description:** AuthIntegrationType #### Attributes | Name | Type | Description | | -------------------- | ---- | ----------- | | GOOGLE_ACCOUNTS | — | | | WINDCHILL | — | | | TEAMWORK_CLOUD | — | | | DASSAULT_3D_PASSPORT | — | | #### Methods | Name | Description | | --------- | ------------------------------------------------------------ | | from_json | Create an instance of AuthIntegrationType from a JSON string | ===== File: content/developers/SDK/api_reference/models/auth_integration_update.md ===== # AuthIntegrationUpdate **Description:** A class representing a New Auth Integration. #### Attributes | Name | Type | Description | | --------------------- | --------------------------------------------------------- | ----------- | | auth_integration_type | Optional[[AuthIntegrationType](auth_integration_type.md)] | | | auth_type | Optional[[FunctionAuthType](function_auth_type.md)] | | | revision | Optional[[FileRevision](file_revision.md)] | | #### Methods | Name | Description | | --------- | ----------------------------------------------------------------------- | | to_str | Return the string representation of the model using field aliases. | | to_json | Return the JSON string representation of the model using field aliases. | | from_json | Create an instance of the model from a JSON string. | | to_dict | Return the dictionary representation of the model using field aliases. | | from_dict | Create an instance of AuthIntegrationUpdate from a dict | ===== File: content/developers/SDK/api_reference/models/check_result.md ===== # CheckResult **Description:** CheckResult #### Attributes | Name | Type | Description | | ------- | ------------------- | ----------- | | name | StrictStr | | | passed | StrictBool | | | details | Optional[StrictStr] | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of CheckResult from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of CheckResult from a dict | ===== File: content/developers/SDK/api_reference/models/client_having.md ===== # ClientHaving **Description:** Helper class that provides a standard way to create an ABC using ===== File: content/developers/SDK/api_reference/models/comment.md ===== # Comment **Description:** Class representing a comment. This class is used to store information about comments, such as the file and parent file associated with the comment. #### Attributes | Name | Type | Description | | ---------------------- | --------------------------------------------------------- | ----------- | | id | StrictStr | | | created | datetime.datetime | | | file | [File](file.md) | | | comments | List[[Comment](comment.md)] | | | archive_status_history | List[[ResourceArchiveStatus](resource_archive_status.md)] | | | created_by_id | StrictStr | | | resource_id | Optional[StrictStr] | | | resource_type | Optional[StrictStr] | | #### Methods | Name | Description | | -------------------------- | ----------------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of Comment from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of Comment from a dict | | update_properties | | | update_description | | | update_display_name | | | update_external_identifier | | | update_version_name | | | read_bytes | | | read_text | | | copy_to | | | read_json | | | archive | Archive the item using the appropriate client method based on its type. | | restore | Restore the item using the appropriate client method based on its type. | ===== File: content/developers/SDK/api_reference/models/control_tag.md ===== # ControlTag **Description:** A control (essentially a tag) that is assigned to resource, files, and users. To have access to a resource or file that has one or more controls assigned, the user must have been assigned all the controls applied to the item. #### Attributes | Name | Type | Description | | ------------- | ----------------------------------------- | ----------- | | id | StrictStr | | | created | datetime.datetime | | | created_by_id | StrictStr | | | name | StrictStr | | | status | [ControlTagStatus](control_tag_status.md) | | | description | Optional[StrictStr] | | | display_color | Optional[StrictStr] | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of ControlTag from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of ControlTag from a dict | ===== File: content/developers/SDK/api_reference/models/control_tag_revision.md ===== # ControlTagRevision **Description:** A control (essentially a tag) that is assigned to resource, files, and users. To have access to a resource or file that has one or more controls assigned, the user must have been assigned all the controls applied to the item. #### Attributes | Name | Type | Description | | -------------- | ----------------------------------------- | ----------- | | id | StrictStr | | | created | datetime.datetime | | | created_by_id | StrictStr | | | control_tag_id | StrictStr | | | name | StrictStr | | | status | [ControlTagStatus](control_tag_status.md) | | | description | Optional[StrictStr] | | | display_color | Optional[StrictStr] | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of ControlTagRevision from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of ControlTagRevision from a dict | ===== File: content/developers/SDK/api_reference/models/control_tag_status.md ===== # ControlTagStatus **Description:** ControlTagStatus #### Attributes | Name | Type | Description | | -------- | ---- | ----------- | | ARCHIVED | — | | | ACTIVE | — | | #### Methods | Name | Description | | --------- | --------------------------------------------------------- | | from_json | Create an instance of ControlTagStatus from a JSON string | ===== File: content/developers/SDK/api_reference/models/control_tagging_object_type.md ===== # ControlTaggingObjectType **Description:** ControlTaggingObjectType #### Attributes | Name | Type | Description | | -------- | ---- | ----------- | | MODEL | — | | | ARTIFACT | — | | | FILE | — | | | USER | — | | | SYSTEM | — | | | RESOURCE | — | | | UNKNOWN | — | | #### Methods | Name | Description | | --------- | ----------------------------------------------------------------- | | from_json | Create an instance of ControlTaggingObjectType from a JSON string | ===== File: content/developers/SDK/api_reference/models/control_tagging_status.md ===== # ControlTaggingStatus **Description:** ControlTaggingStatus #### Attributes | Name | Type | Description | | -------- | ---- | ----------- | | ARCHIVED | — | | | ACTIVE | — | | #### Methods | Name | Description | | --------- | ------------------------------------------------------------- | | from_json | Create an instance of ControlTaggingStatus from a JSON string | ===== File: content/developers/SDK/api_reference/models/data_integration.md ===== # DataIntegration **Description:** A class representing a Foreign Data Host. #### Attributes | Name | Type | Description | | -------------------- | ------------------------------------------------------ | ----------- | | id | StrictStr | | | created | datetime.datetime | | | created_by_id | StrictStr | | | name | StrictStr | | | integration_type | [IntegrationType](integration_type.md) | | | tenant_id | Optional[StrictStr] | | | auth_integration_ids | Optional[List[[AuthIntegration](auth_integration.md)]] | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of DataIntegration from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of DataIntegration from a dict | ===== File: content/developers/SDK/api_reference/models/deprecation_reason.md ===== # DeprecationReason **Description:** DeprecationReason #### Attributes | Name | Type | Description | | ------ | --------- | ----------- | | reason | StrictStr | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of DeprecationReason from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of DeprecationReason from a dict | ===== File: content/developers/SDK/api_reference/models/dry_run_snapshot.md ===== # DryRunSnapshot **Description:** DryRunSnapshot #### Attributes | Name | Type | Description | | ---------------- | ----------------- | ----------- | | configuration_id | StrictStr | | | sha | StrictStr | | | created_by_id | StrictStr | | | created | datetime.datetime | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of DryRunSnapshot from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of DryRunSnapshot from a dict | ===== File: content/developers/SDK/api_reference/models/file.md ===== # File **Description:** A class representing a file. #### Attributes | Name | Type | Description | | ---------------------- | ------------------------------------------------- | ----------- | | id | StrictStr | | | created | datetime.datetime | | | revisions | List[[FileRevision](file_revision.md)] | | | archive_status_history | List[[FileArchiveStatus](file_archive_status.md)] | | | resource_id | Optional[StrictStr] | | | resource_type | Optional[StrictStr] | | | created_by_id | Optional[StrictStr] | | | control_tags | Optional[List[[ControlTag](control_tag.md)]] | | #### Methods | Name | Description | | -------------------------- | ----------------------------------------------------------------------- | | update_properties | | | update_description | | | update_display_name | | | update_external_identifier | | | update_version_name | | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of File from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of File from a dict | | read_bytes | | | read_text | | | copy_to | | | read_json | | | create_access | | | create_access_by_email | | | update_access | | | remove_access | | | list_access | | | archive | Archive the item using the appropriate client method based on its type. | | restore | Restore the item using the appropriate client method based on its type. | ===== File: content/developers/SDK/api_reference/models/file_archive_status.md ===== # FileArchiveStatus **Description:** FileArchiveStatus #### Attributes | Name | Type | Description | | ------------- | ------------------------------------------- | ----------- | | id | StrictStr | | | created | datetime.datetime | | | name | [ArchiveStatusName](archive_status_name.md) | | | reason | Optional[StrictStr] | | | created_by_id | Optional[StrictStr] | | | file_id | StrictStr | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of FileArchiveStatus from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of FileArchiveStatus from a dict | ===== File: content/developers/SDK/api_reference/models/file_collection.md ===== # FileCollection **Description:** A class representing a group of files, their resolvers, and their snapshot history. #### Attributes | Name | Type | Description | | ---------------- | ----------------- | ----------- | | id | StrictStr | | | created | datetime.datetime | | | created_by_id | StrictStr | | | resolver_set_ids | List[StrictStr] | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of FileCollection from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of FileCollection from a dict | ===== File: content/developers/SDK/api_reference/models/file_control_tagging.md ===== # FileControlTagging **Description:** A control assignment to a file. #### Attributes | Name | Type | Description | | ---------------------------- | ------------------------------------------------- | ----------- | | id | StrictStr | | | created | datetime.datetime | | | created_by_id | StrictStr | | | control_tag | [ControlTag](control_tag.md) | | | status | [ControlTaggingStatus](control_tagging_status.md) | | | reason | Optional[StrictStr] | | | inherited_from_resource_id | Optional[StrictStr] | | | inherited_from_resource_type | Optional[StrictStr] | | | file_id | StrictStr | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of FileControlTagging from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of FileControlTagging from a dict | ===== File: content/developers/SDK/api_reference/models/file_having.md ===== # FileHaving **Description:** !!! abstract “Usage Documentation” #### Methods | Name | Description | | -------------------------- | ----------- | | update_properties | | | update_description | | | update_display_name | | | update_external_identifier | | | update_version_name | | | read_bytes | | | read_text | | | copy_to | | | read_json | | ===== File: content/developers/SDK/api_reference/models/file_revision.md ===== # FileRevision **Description:** Represents a file revision object. This class inherits from the Base classes. #### Attributes | Name | Type | Description | | ---------------------- | ------------------------------------------------------------------ | ----------- | | id | StrictStr | | | created | datetime.datetime | | | file_id | Optional[StrictStr] | | | content_token | [Token](token.md) | | | properties_token | [Token](token.md) | | | archive_status_history | List[[FileRevisionArchiveStatus](file_revision_archive_status.md)] | | | name | Optional[StrictStr] | | | stem | Optional[StrictStr] | | | suffix | Optional[StrictStr] | | | extension | Optional[StrictStr] | | | description | Optional[StrictStr] | | | size | Optional[StrictInt] | | | mime | Optional[StrictStr] | | | version_name | Optional[StrictStr] | | | external_identifier | Optional[StrictStr] | | | display_name | Optional[StrictStr] | | | sources | Optional[List[[Source](source.md)]] | | | products | Optional[List[[Product](product.md)]] | | | created_by_id | Optional[StrictStr] | | #### Methods | Name | Description | | --------------------- | ----------------------------------------------------------------------- | | source_revision_ids | | | source_product_ids | | | read_bytes | | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of FileRevision from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of FileRevision from a dict | | from_storage_revision | | | read_text | | | copy_to | | | read_json | | | archive | Archive the item using the appropriate client method based on its type. | | restore | Restore the item using the appropriate client method based on its type. | ===== File: content/developers/SDK/api_reference/models/file_revision_archive_status.md ===== # FileRevisionArchiveStatus **Description:** FileRevisionArchiveStatus #### Attributes | Name | Type | Description | | ---------------- | ------------------------------------------- | ----------- | | id | StrictStr | | | created | datetime.datetime | | | name | [ArchiveStatusName](archive_status_name.md) | | | reason | Optional[StrictStr] | | | created_by_id | Optional[StrictStr] | | | file_revision_id | StrictStr | | #### Methods | Name | Description | | --------- | ------------------------------------------------------------------ | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of FileRevisionArchiveStatus from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of FileRevisionArchiveStatus from a dict | ===== File: content/developers/SDK/api_reference/models/file_revision_having.md ===== # FileRevisionHaving **Description:** !!! abstract “Usage Documentation” #### Methods | Name | Description | | ---------- | ----------- | | read_bytes | | | read_text | | | copy_to | | | read_json | | ===== File: content/developers/SDK/api_reference/models/filter_by.md ===== # FilterBy **Description:** Enum for filtering entities based on different criteria. #### Attributes | Name | Type | Description | | ------------------- | ---- | ----------- | | MINUS_CREATED_BY_ID | — | | | CREATED_BY_ID | — | | #### Methods | Name | Description | | --------- | ------------------------------------------------- | | from_json | Create an instance of FilterBy from a JSON string | ===== File: content/developers/SDK/api_reference/models/function.md ===== # Function **Description:** Function #### Attributes | Name | Type | Description | | ----------------- | ------------------------------------------------------ | ----------- | | id | StrictStr | | | created | datetime.datetime | | | name | StrictStr | | | version | StrictStr | | | module_name | StrictStr | | | module_version | StrictStr | | | entrypoint | StrictStr | | | function_schema | Optional[StrictStr] | | | run_command | StrictStr | | | created_by_id | StrictStr | | | status | [FunctionStatus](function_status.md) | | | tool_name | Optional[StrictStr] | | | tool_display_name | Optional[StrictStr] | | | tool_versions | Optional[List[[ToolVersion](tool_version.md)]] | | | operating_systems | Optional[List[[OperatingSystem](operating_system.md)]] | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of Function from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of Function from a dict | ===== File: content/developers/SDK/api_reference/models/function_auth_secret.md ===== # FunctionAuthSecret **Description:** Represents a function authentication secret backed by a file. #### Attributes | Name | Type | Description | | ---------------------- | --------------------------------------------------------- | ----------- | | id | StrictStr | | | created | datetime.datetime | | | file | [File](file.md) | | | comments | List[[Comment](comment.md)] | | | archive_status_history | List[[ResourceArchiveStatus](resource_archive_status.md)] | | | created_by_id | StrictStr | | | function_auth_type | [FunctionAuthType](function_auth_type.md) | | | sha | Optional[StrictStr] | | | salt | Optional[StrictStr] | | | auth_integration_id | Optional[StrictStr] | | | expiration | Optional[datetime.datetime] | | #### Methods | Name | Description | | -------------------------- | ----------------------------------------------------------------------- | | to_str | Return the string representation of the model using field aliases. | | to_json | Return the JSON string representation of the model using field aliases. | | from_json | Create an instance of the model from a JSON string. | | to_dict | Return the dictionary representation of the model using field aliases. | | from_dict | Create an instance of the model from a dictionary. | | update_properties | Update one or more metadata fields on the underlying file. | | update_description | Update the file’s description. | | update_display_name | Update the file’s display name. | | update_external_identifier | Update the file’s external identifier. | | update_version_name | Update the file’s version name. | | read_bytes | Read and return the raw byte contents of the associated file revision. | | read_text | Read the contents as decoded text. | | copy_to | Copy the contents to a local file. | | read_json | Parse the contents as JSON. | ===== File: content/developers/SDK/api_reference/models/function_auth_type.md ===== # FunctionAuthType **Description:** FunctionAuthType #### Attributes | Name | Type | Description | | ----------------- | ---- | ----------- | | JWT | — | | | TOKEN | — | | | BASIC | — | | | OAUTH1 | — | | | OAUTH2 | — | | | CAS_DELEGATED_3DX | — | | #### Methods | Name | Description | | --------- | --------------------------------------------------------- | | from_json | Create an instance of FunctionAuthType from a JSON string | ===== File: content/developers/SDK/api_reference/models/function_schema.md ===== # FunctionSchema **Description:** FunctionSchema #### Attributes | Name | Type | Description | | ------- | ------------------------------------------------ | ----------- | | id | StrictStr | | | created | datetime.datetime | | | inputs | Optional[List[[InputSchema](input_schema.md)]] | | | outputs | Optional[List[[OutputSchema](output_schema.md)]] | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of FunctionSchema from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of FunctionSchema from a dict | ===== File: content/developers/SDK/api_reference/models/function_status.md ===== # FunctionStatus **Description:** FunctionStatus #### Attributes | Name | Type | Description | | ------------- | ----------------------------------------------- | ----------- | | id | StrictStr | | | created | datetime.datetime | | | created_by_id | StrictStr | | | name | [UsabilityStatusName](usability_status_name.md) | | | reason | Optional[StrictStr] | | | function_id | StrictStr | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of FunctionStatus from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of FunctionStatus from a dict | ===== File: content/developers/SDK/api_reference/models/healthcheck_report.md ===== # HealthcheckReport **Description:** HealthcheckReport #### Attributes | Name | Type | Description | | ------- | ------------------------------------ | ----------- | | healthy | StrictBool | | | checks | List[[CheckResult](check_result.md)] | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of HealthcheckReport from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of HealthcheckReport from a dict | ===== File: content/developers/SDK/api_reference/models/http_validation_error.md ===== # HTTPValidationError **Description:** HTTPValidationError #### Attributes | Name | Type | Description | | ------ | ------------------------------------------------------ | ----------- | | detail | Optional[List[[ValidationError](validation_error.md)]] | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of HTTPValidationError from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of HTTPValidationError from a dict | ===== File: content/developers/SDK/api_reference/models/input_schema.md ===== # InputSchema **Description:** InputSchema #### Attributes | Name | Type | Description | | ---------------- | -------------------------- | ----------- | | id | StrictStr | | | created | datetime.datetime | | | key | StrictStr | | | type | [InputType](input_type.md) | | | validation_types | Optional[List[StrictStr]] | | | optional | Optional[StrictBool] | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of InputSchema from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of InputSchema from a dict | ===== File: content/developers/SDK/api_reference/models/input_type.md ===== # InputType **Description:** InputType #### Attributes | Name | Type | Description | | ---------- | ---- | ----------- | | PARAMETER | — | | | USER_MODEL | — | | | USER_LINK | — | | | AUTH_INFO | — | | #### Methods | Name | Description | | --------- | -------------------------------------------------- | | from_json | Create an instance of InputType from a JSON string | ===== File: content/developers/SDK/api_reference/models/integration_type.md ===== # IntegrationType **Description:** IntegrationType #### Attributes | Name | Type | Description | | ---------------------- | ---- | ----------- | | GOOGLE_DRIVE | — | | | TEAMWORK_CLOUD | — | | | WINDCHILL | — | | | DASSAULT_3D_EXPERIENCE | — | | #### Methods | Name | Description | | --------- | -------------------------------------------------------- | | from_json | Create an instance of IntegrationType from a JSON string | ===== File: content/developers/SDK/api_reference/models/job.md ===== # Job **Description:** Job #### Attributes | Name | Type | Description | | ---------------------- | --------------------------------------------------------- | ----------- | | id | StrictStr | | | created | datetime.datetime | | | file | [File](file.md) | | | comments | List[[Comment](comment.md)] | | | archive_status_history | List[[ResourceArchiveStatus](resource_archive_status.md)] | | | created_by_id | StrictStr | | | function | [Function](function.md) | | | assigned_agent_id | Optional[StrictStr] | | | agent_identifier | Optional[StrictStr] | | | model_id | Optional[StrictStr] | | | status_history | Optional[List[[JobStatus](job_status.md)]] | | #### Methods | Name | Description | | -------------------------- | ----------------------------------------------------------------------- | | poll_job | Poll the job status and update the status history | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of Job from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of Job from a dict | | update_properties | | | update_description | | | update_display_name | | | update_external_identifier | | | update_version_name | | | read_bytes | | | read_text | | | copy_to | | | read_json | | | create_access | | | create_access_by_email | | | update_access | | | remove_access | | | list_access | | | archive | Archive the item using the appropriate client method based on its type. | | restore | Restore the item using the appropriate client method based on its type. | ===== File: content/developers/SDK/api_reference/models/job_status.md ===== # JobStatus **Description:** JobStatus #### Attributes | Name | Type | Description | | ---------------- | ----------------------------------- | ----------- | | id | StrictStr | | | created | datetime.datetime | | | job_id | StrictStr | | | name | [JobStatusName](job_status_name.md) | | | created_by_id | Optional[StrictStr] | | | message | Optional[StrictStr] | | | agent_identifier | Optional[StrictStr] | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of JobStatus from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of JobStatus from a dict | ===== File: content/developers/SDK/api_reference/models/job_status_message.md ===== # JobStatusMessage **Description:** JobStatusMessage #### Attributes | Name | Type | Description | | ------- | --------- | ----------- | | message | StrictStr | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of JobStatusMessage from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of JobStatusMessage from a dict | ===== File: content/developers/SDK/api_reference/models/job_status_name.md ===== # JobStatusName **Description:** JobStatusName #### Attributes | Name | Type | Description | | ---------- | ---- | ----------- | | CREATED | — | | | PENDING | — | | | CLAIMED | — | | | VALIDATING | — | | | RUNNING | — | | | UPLOADING | — | | | COMPLETED | — | | | FAILED | — | | | CANCELED | — | | | UNKNOWN | — | | #### Methods | Name | Description | | --------- | ------------------------------------------------------ | | from_json | Create an instance of JobStatusName from a JSON string | ===== File: content/developers/SDK/api_reference/models/model.md ===== # Model **Description:** A class representing a model. Models have artifacts. #### Attributes | Name | Type | Description | | ---------------------- | --------------------------------------------------------- | ----------- | | id | StrictStr | | | created | datetime.datetime | | | file | [File](file.md) | | | comments | List[[Comment](comment.md)] | | | archive_status_history | List[[ResourceArchiveStatus](resource_archive_status.md)] | | | created_by_id | StrictStr | | | artifacts | List[[Artifact](artifact.md)] | | | jobs | Optional[List[[Job](job.md)]] | | | control_tags | Optional[List[[ControlTag](control_tag.md)]] | | #### Methods | Name | Description | | -------------------------- | ----------------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of Model from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of Model from a dict | | update_properties | | | update_description | | | update_display_name | | | update_external_identifier | | | update_version_name | | | read_bytes | | | read_text | | | copy_to | | | read_json | | | create_access | | | create_access_by_email | | | update_access | | | remove_access | | | list_access | | | archive | Archive the item using the appropriate client method based on its type. | | restore | Restore the item using the appropriate client method based on its type. | ===== File: content/developers/SDK/api_reference/models/model_list_item.md ===== # ModelListItem **Description:** Model class with unresolved sub-class replaced with lists of uuids. #### Attributes | Name | Type | Description | | -------------- | ------------------------- | ----------- | | id | StrictStr | | | created | datetime.datetime | | | file | [File](file.md) | | | archive_status | StrictStr | | | created_by_id | StrictStr | | | comment_ids | Optional[List[StrictStr]] | | | artifact_ids | Optional[List[StrictStr]] | | | job_ids | Optional[List[StrictStr]] | | #### Methods | Name | Description | | -------------------------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of ModelListItem from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of ModelListItem from a dict | | update_properties | | | update_description | | | update_display_name | | | update_external_identifier | | | update_version_name | | | read_bytes | | | read_text | | | copy_to | | | read_json | | ===== File: content/developers/SDK/api_reference/models/module.md ===== # Module **Description:** Module #### Attributes | Name | Type | Description | | --------------- | -------------------------------------------------- | ----------- | | id | StrictStr | | | created | datetime.datetime | | | name | StrictStr | | | module_type | [ModuleType](module_type.md) | | | internal | StrictBool | | | tool | Optional[StrictStr] | | | module_versions | Optional[List[[ModuleVersion](module_version.md)]] | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of Module from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of Module from a dict | ===== File: content/developers/SDK/api_reference/models/module_author.md ===== # ModuleAuthor **Description:** ModuleAuthor #### Attributes | Name | Type | Description | | ------- | ----------------- | ----------- | | id | StrictStr | | | created | datetime.datetime | | | name | StrictStr | | | email | StrictStr | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of ModuleAuthor from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of ModuleAuthor from a dict | ===== File: content/developers/SDK/api_reference/models/module_author_manifest.md ===== # ModuleAuthorManifest **Description:** ModuleAuthorManifest #### Attributes | Name | Type | Description | | ----- | --------- | ----------- | | name | StrictStr | | | email | StrictStr | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of ModuleAuthorManifest from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of ModuleAuthorManifest from a dict | ===== File: content/developers/SDK/api_reference/models/module_type.md ===== # ModuleType **Description:** ModuleType #### Attributes | Name | Type | Description | | -------------- | ---- | ----------- | | FUNCTION | — | | | AUTHENTICATION | — | | #### Methods | Name | Description | | --------- | --------------------------------------------------- | | from_json | Create an instance of ModuleType from a JSON string | ===== File: content/developers/SDK/api_reference/models/module_version.md ===== # ModuleVersion **Description:** ModuleVersion #### Attributes | Name | Type | Description | | ------------------- | -------------------------------------------------- | ----------- | | id | StrictStr | | | created | datetime.datetime | | | module_version | StrictStr | | | check_sum | StrictStr | | | agent_version | StrictStr | | | module_id | StrictStr | | | status | [ModuleVersionStatus](module_version_status.md) | | | module_display_name | Optional[StrictStr] | | | tool_display_name | Optional[StrictStr] | | | tool_versions | Optional[List[StrictStr]] | | | operating_systems | Optional[List[StrictStr]] | | | authors | Optional[List[[ModuleAuthor](module_author.md)]] | | | functions | Optional[Dict[str, List[[Function](function.md)]]] | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of ModuleVersion from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of ModuleVersion from a dict | ===== File: content/developers/SDK/api_reference/models/module_version_status.md ===== # ModuleVersionStatus **Description:** ModuleVersionStatus #### Attributes | Name | Type | Description | | ----------------- | ----------------------------------------------- | ----------- | | id | StrictStr | | | created | datetime.datetime | | | created_by_id | StrictStr | | | name | [UsabilityStatusName](usability_status_name.md) | | | reason | Optional[StrictStr] | | | module_version_id | StrictStr | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of ModuleVersionStatus from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of ModuleVersionStatus from a dict | ===== File: content/developers/SDK/api_reference/models/new_agent.md ===== # NewAgent **Description:** NewAgent #### Attributes | Name | Type | Description | | ---------------- | --------- | ----------- | | agent_identifier | StrictStr | | | agent_version | StrictStr | | | host_os | StrictStr | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of NewAgent from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of NewAgent from a dict | ===== File: content/developers/SDK/api_reference/models/new_agent_display_name.md ===== # NewAgentDisplayName **Description:** NewAgentDisplayName #### Attributes | Name | Type | Description | | ------------ | --------- | ----------- | | display_name | StrictStr | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of NewAgentDisplayName from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of NewAgentDisplayName from a dict | ===== File: content/developers/SDK/api_reference/models/new_agent_information.md ===== # NewAgentInformation **Description:** NewAgentInformation #### Attributes | Name | Type | Description | | ------------- | --------- | ----------- | | agent_version | StrictStr | | | host_os | StrictStr | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of NewAgentInformation from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of NewAgentInformation from a dict | ===== File: content/developers/SDK/api_reference/models/new_agent_module_version.md ===== # NewAgentModuleVersion **Description:** NewAgentModuleVersion #### Attributes | Name | Type | Description | | -------------- | --------- | ----------- | | module_name | StrictStr | | | module_version | StrictStr | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of NewAgentModuleVersion from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of NewAgentModuleVersion from a dict | ===== File: content/developers/SDK/api_reference/models/new_agent_status.md ===== # NewAgentStatus **Description:** NewAgentStatus #### Attributes | Name | Type | Description | | ---- | --------------------------------------- | ----------- | | name | [AgentStatusName](agent_status_name.md) | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of NewAgentStatus from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of NewAgentStatus from a dict | ===== File: content/developers/SDK/api_reference/models/new_app_integration.md ===== # NewAppIntegration **Description:** NewAppIntegration #### Attributes | Name | Type | Description | | ---------------- | -------------------------------------- | ----------- | | description | StrictStr | | | integration_type | [IntegrationType](integration_type.md) | | #### Methods | Name | Description | | --------- | ----------------------------------------------------------------------- | | to_str | Return the string representation of the model using field aliases. | | to_json | Return the JSON string representation of the model using field aliases. | | from_json | Create an instance of the model from a JSON string. | | to_dict | Return the dictionary representation of the model using field aliases. | | from_dict | Create an instance of NewAppIntegration from a dict | ===== File: content/developers/SDK/api_reference/models/new_auth_integration.md ===== # NewAuthIntegration **Description:** A class representing a New Auth Integration. #### Attributes | Name | Type | Description | | --------------------- | ----------------------------------------------- | ----------- | | auth_integration_type | [AuthIntegrationType](auth_integration_type.md) | | | auth_type | [FunctionAuthType](function_auth_type.md) | | | revision | [FileRevision](file_revision.md) | | | app_integration_id | Optional[StrictStr] | | #### Methods | Name | Description | | --------- | ----------------------------------------------------------------------- | | to_str | Return the string representation of the model using field aliases. | | to_json | Return the JSON string representation of the model using field aliases. | | from_json | Create an instance of the model from a JSON string. | | to_dict | Return the dictionary representation of the model using field aliases. | | from_dict | Create an instance of NewAuthIntegration from a dict | ===== File: content/developers/SDK/api_reference/models/new_control_tag.md ===== # NewControlTag **Description:** Add a new control with optional description and display color. #### Attributes | Name | Type | Description | | ------------- | -------------------------------------------------------------------------- | ----------- | | name | StrictStr | | | description | Optional[Annotated[str, Field(min_length=0, strict=True, max_length=255)]] | | | display_color | Optional[StrictStr] | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of NewControlTag from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of NewControlTag from a dict | ===== File: content/developers/SDK/api_reference/models/new_data_integration.md ===== # NewDataIntegration **Description:** NewDataIntegration #### Attributes | Name | Type | Description | | ---------------- | -------------------------------------- | ----------- | | name | StrictStr | | | integration_type | [IntegrationType](integration_type.md) | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of NewDataIntegration from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of NewDataIntegration from a dict | ===== File: content/developers/SDK/api_reference/models/new_function_auth_secret.md ===== # NewFunctionAuthSecret **Description:** NewFunctionAuthSecret #### Attributes | Name | Type | Description | | ------------------- | ----------------------------------------- | ----------- | | revision | [FileRevision](file_revision.md) | | | function_auth_type | [FunctionAuthType](function_auth_type.md) | | | auth_integration_id | Optional[StrictStr] | | | sha | Optional[StrictStr] | | | salt | Optional[StrictStr] | | | expiration | Optional[datetime.datetime] | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of NewFunctionAuthSecret from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of NewFunctionAuthSecret from a dict | ===== File: content/developers/SDK/api_reference/models/new_function_manifest.md ===== # NewFunctionManifest **Description:** NewFunctionManifest #### Attributes | Name | Type | Description | | ----------------- | ------------------------------------------------------------ | ----------- | | entrypoint | StrictStr | | | run_command | StrictStr | | | function_schema | [NewFunctionSchemaManifest](new_function_schema_manifest.md) | | | operating_systems | Optional[List[StrictStr]] | | | tool_versions | Optional[List[StrictStr]] | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of NewFunctionManifest from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of NewFunctionManifest from a dict | ===== File: content/developers/SDK/api_reference/models/new_function_schema_manifest.md ===== # NewFunctionSchemaManifest **Description:** NewFunctionSchemaManifest #### Attributes | Name | Type | Description | | ------- | --------------------------------------------------------------------------- | ----------- | | inputs | Optional[Dict[str, [NewInputSchemaManifest](new_input_schema_manifest.md)]] | | | outputs | Optional[List[[NewOutputSchemaManifest](new_output_schema_manifest.md)]] | | #### Methods | Name | Description | | --------- | ------------------------------------------------------------------ | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of NewFunctionSchemaManifest from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of NewFunctionSchemaManifest from a dict | ===== File: content/developers/SDK/api_reference/models/new_input_schema_manifest.md ===== # NewInputSchemaManifest **Description:** NewInputSchemaManifest #### Attributes | Name | Type | Description | | ---------------- | ------------------------- | ----------- | | type | StrictStr | | | validation_types | Optional[List[StrictStr]] | | | optional | Optional[StrictBool] | | #### Methods | Name | Description | | --------- | --------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of NewInputSchemaManifest from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of NewInputSchemaManifest from a dict | ===== File: content/developers/SDK/api_reference/models/new_job_assigned_agent.md ===== # NewJobAssignedAgent **Description:** NewJobAssignedAgent #### Attributes | Name | Type | Description | | -------- | --------- | ----------- | | agent_id | StrictStr | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of NewJobAssignedAgent from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of NewJobAssignedAgent from a dict | ===== File: content/developers/SDK/api_reference/models/new_module_author.md ===== # NewModuleAuthor **Description:** NewModuleAuthor #### Attributes | Name | Type | Description | | ----- | --------- | ----------- | | name | StrictStr | | | email | StrictStr | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of NewModuleAuthor from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of NewModuleAuthor from a dict | ===== File: content/developers/SDK/api_reference/models/new_module_manifest.md ===== # NewModuleManifest **Description:** NewModuleManifest #### Attributes | Name | Type | Description | | ------------------- | ---------------------------------------------------------------- | ----------- | | module_name | StrictStr | | | module_version | StrictStr | | | module_type | [ModuleType](module_type.md) | | | module_checksum | StrictStr | | | internal | StrictBool | | | operating_systems | List[StrictStr] | | | agent_version | StrictStr | | | authors | List[[ModuleAuthorManifest](module_author_manifest.md)] | | | functions | Dict[str, List[[NewFunctionManifest](new_function_manifest.md)]] | | | module_display_name | Optional[StrictStr] | | | tool_display_name | Optional[StrictStr] | | | tool | Optional[StrictStr] | | | tool_versions | Optional[List[StrictStr]] | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of NewModuleManifest from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of NewModuleManifest from a dict | ===== File: content/developers/SDK/api_reference/models/new_operating_system.md ===== # NewOperatingSystem **Description:** NewOperatingSystem #### Attributes | Name | Type | Description | | ---- | --------- | ----------- | | name | StrictStr | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of NewOperatingSystem from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of NewOperatingSystem from a dict | ===== File: content/developers/SDK/api_reference/models/new_output_schema_manifest.md ===== # NewOutputSchemaManifest **Description:** NewOutputSchemaManifest #### Attributes | Name | Type | Description | | ---------- | ------------------- | ----------- | | name | StrictStr | | | type | StrictStr | | | required | StrictBool | | | upload_as | Optional[StrictStr] | | | version_of | Optional[StrictStr] | | #### Methods | Name | Description | | --------- | ---------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of NewOutputSchemaManifest from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of NewOutputSchemaManifest from a dict | ===== File: content/developers/SDK/api_reference/models/new_snapshot.md ===== # NewSnapshot **Description:** NewSnapshot #### Attributes | Name | Type | Description | | ------- | -------------------- | ----------- | | dry_run | Optional[StrictBool] | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of NewSnapshot from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of NewSnapshot from a dict | ===== File: content/developers/SDK/api_reference/models/new_snapshot_tag.md ===== # NewSnapshotTag **Description:** NewSnapshotTag #### Attributes | Name | Type | Description | | ---- | --------- | ----------- | | tag | StrictStr | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of NewSnapshotTag from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of NewSnapshotTag from a dict | ===== File: content/developers/SDK/api_reference/models/new_source.md ===== # NewSource #### Attributes | Name | Type | Description | | ----------------------- | ---- | ----------- | --- | | revision_id | str | | | relationship_identifier | str | None | | ===== File: content/developers/SDK/api_reference/models/new_system.md ===== # NewSystem **Description:** NewSystem #### Attributes | Name | Type | Description | | ----------- | --------- | ----------- | | name | StrictStr | | | description | StrictStr | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of NewSystem from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of NewSystem from a dict | ===== File: content/developers/SDK/api_reference/models/new_system_configuration.md ===== # NewSystemConfiguration **Description:** NewSystemConfiguration #### Attributes | Name | Type | Description | | ------------- | ----------------------------------------------------- | ----------- | | name | StrictStr | | | tracked_files | Optional[List[[NewTrackedFile](new_tracked_file.md)]] | | #### Methods | Name | Description | | --------- | --------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of NewSystemConfiguration from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of NewSystemConfiguration from a dict | ===== File: content/developers/SDK/api_reference/models/new_tool.md ===== # NewTool **Description:** NewTool #### Attributes | Name | Type | Description | | ------------- | ----------------------------------------------------- | ----------- | | name | StrictStr | | | tool_versions | Optional[List[[NewToolVersion](new_tool_version.md)]] | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of NewTool from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of NewTool from a dict | ===== File: content/developers/SDK/api_reference/models/new_tool_version.md ===== # NewToolVersion **Description:** NewToolVersion #### Attributes | Name | Type | Description | | ------------ | --------- | ----------- | | tool_version | StrictStr | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of NewToolVersion from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of NewToolVersion from a dict | ===== File: content/developers/SDK/api_reference/models/new_tracked_file.md ===== # NewTrackedFile **Description:** NewTrackedFile #### Attributes | Name | Type | Description | | ----------------------- | ---------------------------------------------------------- | ----------- | | specifier_type | [TrackedFileSpecifierType](tracked_file_specifier_type.md) | | | file_id | Optional[StrictStr] | | | pinned_file_revision_id | Optional[StrictStr] | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of NewTrackedFile from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of NewTrackedFile from a dict | ===== File: content/developers/SDK/api_reference/models/no_job_response.md ===== # NoJobResponse **Description:** NoJobResponse #### Attributes | Name | Type | Description | | ------- | --------- | ----------- | | message | StrictStr | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of NoJobResponse from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of NoJobResponse from a dict | ===== File: content/developers/SDK/api_reference/models/no_op_response.md ===== # NoOpResponse **Description:** NoOpResponse #### Attributes | Name | Type | Description | | ------- | --------- | ----------- | | status | StrictStr | | | message | StrictStr | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of NoOpResponse from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of NoOpResponse from a dict | ===== File: content/developers/SDK/api_reference/models/object_store_sha.md ===== # ObjectStoreSha **Description:** `ObjectStoreSha` is a subclass of `Base` and represents where a file is stored. #### Attributes | Name | Type | Description | | --------------- | ----------------- | ----------- | | id | StrictStr | | | created | datetime.datetime | | | sha | StrictStr | | | object_store_id | StrictStr | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of ObjectStoreSha from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of ObjectStoreSha from a dict | ===== File: content/developers/SDK/api_reference/models/operating_system.md ===== # OperatingSystem **Description:** OperatingSystem #### Attributes | Name | Type | Description | | ------- | ----------------- | ----------- | | id | StrictStr | | | created | datetime.datetime | | | name | StrictStr | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of OperatingSystem from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of OperatingSystem from a dict | ===== File: content/developers/SDK/api_reference/models/output_schema.md ===== # OutputSchema **Description:** OutputSchema #### Attributes | Name | Type | Description | | ---------- | ---------------------------------- | ----------- | | id | StrictStr | | | created | datetime.datetime | | | name | StrictStr | | | type | [OutputType](output_type.md) | | | required | StrictBool | | | upload_as | Optional[[UploadAs](upload_as.md)] | | | version_of | Optional[StrictStr] | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of OutputSchema from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of OutputSchema from a dict | ===== File: content/developers/SDK/api_reference/models/output_type.md ===== # OutputType **Description:** OutputType #### Attributes | Name | Type | Description | | --------- | ---- | ----------- | | DIRECTORY | — | | | FILE | — | | #### Methods | Name | Description | | --------- | --------------------------------------------------- | | from_json | Create an instance of OutputType from a JSON string | ===== File: content/developers/SDK/api_reference/models/page_agent.md ===== # PageAgent **Description:** PageAgent #### Attributes | Name | Type | Description | | ----- | -------------------------------------------------- | ----------- | | items | List[[Agent](agent.md)] | | | total | Optional[Annotated[int, Field(strict=True, ge=0)]] | | | page | Optional[Annotated[int, Field(strict=True, ge=1)]] | | | size | Optional[Annotated[int, Field(strict=True, ge=1)]] | | | pages | Optional[Annotated[int, Field(strict=True, ge=0)]] | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of PageAgent from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of PageAgent from a dict | ===== File: content/developers/SDK/api_reference/models/page_agent_status.md ===== # PageAgentStatus **Description:** PageAgentStatus #### Attributes | Name | Type | Description | | ----- | -------------------------------------------------- | ----------- | | items | List[[AgentStatus](agent_status.md)] | | | total | Optional[Annotated[int, Field(strict=True, ge=0)]] | | | page | Optional[Annotated[int, Field(strict=True, ge=1)]] | | | size | Optional[Annotated[int, Field(strict=True, ge=1)]] | | | pages | Optional[Annotated[int, Field(strict=True, ge=0)]] | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of PageAgentStatus from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of PageAgentStatus from a dict | ===== File: content/developers/SDK/api_reference/models/page_app_integration.md ===== # PageAppIntegration **Description:** PageAppIntegration #### Attributes | Name | Type | Description | | ----- | -------------------------------------------------- | ----------- | | items | List[[AppIntegration](app_integration.md)] | | | total | Optional[Annotated[int, Field(strict=True, ge=0)]] | | | page | Optional[Annotated[int, Field(strict=True, ge=1)]] | | | size | Optional[Annotated[int, Field(strict=True, ge=1)]] | | | pages | Optional[Annotated[int, Field(strict=True, ge=0)]] | | #### Methods | Name | Description | | --------- | ----------------------------------------------------------------------- | | to_str | Return the string representation of the model using field aliases. | | to_json | Return the JSON string representation of the model using field aliases. | | from_json | Create an instance of the model from a JSON string. | | to_dict | Return the dictionary representation of the model using field aliases. | | from_dict | Create an instance of PageAppIntegration from a dict | ===== File: content/developers/SDK/api_reference/models/page_artifact.md ===== # PageArtifact **Description:** PageArtifact #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of PageArtifact from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of PageArtifact from a dict | ===== File: content/developers/SDK/api_reference/models/page_auth_integration.md ===== # PageAuthIntegration **Description:** PageAuthIntegration #### Attributes | Name | Type | Description | | ----- | -------------------------------------------------- | ----------- | | items | List[[AuthIntegration](auth_integration.md)] | | | total | Optional[Annotated[int, Field(strict=True, ge=0)]] | | | page | Optional[Annotated[int, Field(strict=True, ge=1)]] | | | size | Optional[Annotated[int, Field(strict=True, ge=1)]] | | | pages | Optional[Annotated[int, Field(strict=True, ge=0)]] | | #### Methods | Name | Description | | --------- | ----------------------------------------------------------------------- | | to_str | Return the string representation of the model using field aliases. | | to_json | Return the JSON string representation of the model using field aliases. | | from_json | Create an instance of the model from a JSON string. | | to_dict | Return the dictionary representation of the model using field aliases. | | from_dict | Create an instance of PageAuthIntegration from a dict | ===== File: content/developers/SDK/api_reference/models/page_comment.md ===== # PageComment **Description:** PageComment #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of PageComment from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of PageComment from a dict | ===== File: content/developers/SDK/api_reference/models/page_file.md ===== # PageFile **Description:** PageFile #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of PageFile from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of PageFile from a dict | ===== File: content/developers/SDK/api_reference/models/page_function.md ===== # PageFunction **Description:** PageFunction #### Attributes | Name | Type | Description | | ----- | -------------------------------------------------- | ----------- | | items | List[[Function](function.md)] | | | total | Optional[Annotated[int, Field(strict=True, ge=0)]] | | | page | Optional[Annotated[int, Field(strict=True, ge=1)]] | | | size | Optional[Annotated[int, Field(strict=True, ge=1)]] | | | pages | Optional[Annotated[int, Field(strict=True, ge=0)]] | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of PageFunction from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of PageFunction from a dict | ===== File: content/developers/SDK/api_reference/models/page_job.md ===== # PageJob **Description:** PageJob #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of PageJob from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of PageJob from a dict | ===== File: content/developers/SDK/api_reference/models/page_model_list_item.md ===== # PageModelListItem **Description:** PageModelListItem #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of PageModelListItem from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of PageModelListItem from a dict | ===== File: content/developers/SDK/api_reference/models/page_module.md ===== # PageModule **Description:** PageModule #### Attributes | Name | Type | Description | | ----- | -------------------------------------------------- | ----------- | | items | List[[Module](module.md)] | | | total | Optional[Annotated[int, Field(strict=True, ge=0)]] | | | page | Optional[Annotated[int, Field(strict=True, ge=1)]] | | | size | Optional[Annotated[int, Field(strict=True, ge=1)]] | | | pages | Optional[Annotated[int, Field(strict=True, ge=0)]] | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of PageModule from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of PageModule from a dict | ===== File: content/developers/SDK/api_reference/models/page_module_author.md ===== # PageModuleAuthor **Description:** PageModuleAuthor #### Attributes | Name | Type | Description | | ----- | -------------------------------------------------- | ----------- | | items | List[[ModuleAuthor](module_author.md)] | | | total | Optional[Annotated[int, Field(strict=True, ge=0)]] | | | page | Optional[Annotated[int, Field(strict=True, ge=1)]] | | | size | Optional[Annotated[int, Field(strict=True, ge=1)]] | | | pages | Optional[Annotated[int, Field(strict=True, ge=0)]] | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of PageModuleAuthor from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of PageModuleAuthor from a dict | ===== File: content/developers/SDK/api_reference/models/page_module_version.md ===== # PageModuleVersion **Description:** PageModuleVersion #### Attributes | Name | Type | Description | | ----- | -------------------------------------------------- | ----------- | | items | List[[ModuleVersion](module_version.md)] | | | total | Optional[Annotated[int, Field(strict=True, ge=0)]] | | | page | Optional[Annotated[int, Field(strict=True, ge=1)]] | | | size | Optional[Annotated[int, Field(strict=True, ge=1)]] | | | pages | Optional[Annotated[int, Field(strict=True, ge=0)]] | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of PageModuleVersion from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of PageModuleVersion from a dict | ===== File: content/developers/SDK/api_reference/models/page_operating_system.md ===== # PageOperatingSystem **Description:** PageOperatingSystem #### Attributes | Name | Type | Description | | ----- | -------------------------------------------------- | ----------- | | items | List[[OperatingSystem](operating_system.md)] | | | total | Optional[Annotated[int, Field(strict=True, ge=0)]] | | | page | Optional[Annotated[int, Field(strict=True, ge=1)]] | | | size | Optional[Annotated[int, Field(strict=True, ge=1)]] | | | pages | Optional[Annotated[int, Field(strict=True, ge=0)]] | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of PageOperatingSystem from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of PageOperatingSystem from a dict | ===== File: content/developers/SDK/api_reference/models/page_personal_access_token.md ===== # PagePersonalAccessToken **Description:** PagePersonalAccessToken #### Attributes | Name | Type | Description | | ----- | ----------------------------------------------------- | ----------- | | items | List[[PersonalAccessToken](personal_access_token.md)] | | | total | Optional[Annotated[int, Field(strict=True, ge=0)]] | | | page | Optional[Annotated[int, Field(strict=True, ge=1)]] | | | size | Optional[Annotated[int, Field(strict=True, ge=1)]] | | | pages | Optional[Annotated[int, Field(strict=True, ge=0)]] | | #### Methods | Name | Description | | --------- | ---------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of PagePersonalAccessToken from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of PagePersonalAccessToken from a dict | ===== File: content/developers/SDK/api_reference/models/page_resource_search_item.md ===== # PageResourceSearchItem **Description:** PageResourceSearchItem #### Attributes | Name | Type | Description | | ----- | --------------------------------------------------- | ----------- | | items | List[[ResourceSearchItem](resource_search_item.md)] | | | total | Optional[Annotated[int, Field(strict=True, ge=0)]] | | | page | Optional[Annotated[int, Field(strict=True, ge=1)]] | | | size | Optional[Annotated[int, Field(strict=True, ge=1)]] | | | pages | Optional[Annotated[int, Field(strict=True, ge=0)]] | | #### Methods | Name | Description | | --------- | --------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of PageResourceSearchItem from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of PageResourceSearchItem from a dict | ===== File: content/developers/SDK/api_reference/models/page_snapshot.md ===== # PageSnapshot **Description:** PageSnapshot #### Attributes | Name | Type | Description | | ----- | -------------------------------------------------- | ----------- | | items | List[[Snapshot](snapshot.md)] | | | total | Optional[Annotated[int, Field(strict=True, ge=0)]] | | | page | Optional[Annotated[int, Field(strict=True, ge=1)]] | | | size | Optional[Annotated[int, Field(strict=True, ge=1)]] | | | pages | Optional[Annotated[int, Field(strict=True, ge=0)]] | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of PageSnapshot from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of PageSnapshot from a dict | ===== File: content/developers/SDK/api_reference/models/page_snapshot_item.md ===== # PageSnapshotItem **Description:** PageSnapshotItem #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of PageSnapshotItem from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of PageSnapshotItem from a dict | ===== File: content/developers/SDK/api_reference/models/page_snapshot_revision_search_item.md ===== # PageSnapshotRevisionSearchItem **Description:** Helper class that provides a standard way to create an ABC using #### Methods | Name | Description | | --------- | ----------------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of PageSnapshotRevisionSearchItem from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of PageSnapshotRevisionSearchItem from a dict | ===== File: content/developers/SDK/api_reference/models/page_snapshot_tag.md ===== # PageSnapshotTag **Description:** PageSnapshotTag #### Attributes | Name | Type | Description | | ----- | -------------------------------------------------- | ----------- | | items | List[[SnapshotTag](snapshot_tag.md)] | | | total | Optional[Annotated[int, Field(strict=True, ge=0)]] | | | page | Optional[Annotated[int, Field(strict=True, ge=1)]] | | | size | Optional[Annotated[int, Field(strict=True, ge=1)]] | | | pages | Optional[Annotated[int, Field(strict=True, ge=0)]] | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of PageSnapshotTag from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of PageSnapshotTag from a dict | ===== File: content/developers/SDK/api_reference/models/page_system.md ===== # PageSystem **Description:** PageSystem #### Attributes | Name | Type | Description | | ----- | -------------------------------------------------- | ----------- | | items | List[[System](system.md)] | | | total | Optional[Annotated[int, Field(strict=True, ge=0)]] | | | page | Optional[Annotated[int, Field(strict=True, ge=1)]] | | | size | Optional[Annotated[int, Field(strict=True, ge=1)]] | | | pages | Optional[Annotated[int, Field(strict=True, ge=0)]] | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of PageSystem from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of PageSystem from a dict | ===== File: content/developers/SDK/api_reference/models/page_system_configuration.md ===== # PageSystemConfiguration **Description:** PageSystemConfiguration #### Attributes | Name | Type | Description | | ----- | ---------------------------------------------------- | ----------- | | items | List[[SystemConfiguration](system_configuration.md)] | | | total | Optional[Annotated[int, Field(strict=True, ge=0)]] | | | page | Optional[Annotated[int, Field(strict=True, ge=1)]] | | | size | Optional[Annotated[int, Field(strict=True, ge=1)]] | | | pages | Optional[Annotated[int, Field(strict=True, ge=0)]] | | #### Methods | Name | Description | | --------- | ---------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of PageSystemConfiguration from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of PageSystemConfiguration from a dict | ===== File: content/developers/SDK/api_reference/models/page_tool.md ===== # PageTool **Description:** PageTool #### Attributes | Name | Type | Description | | ----- | -------------------------------------------------- | ----------- | | items | List[[Tool](tool.md)] | | | total | Optional[Annotated[int, Field(strict=True, ge=0)]] | | | page | Optional[Annotated[int, Field(strict=True, ge=1)]] | | | size | Optional[Annotated[int, Field(strict=True, ge=1)]] | | | pages | Optional[Annotated[int, Field(strict=True, ge=0)]] | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of PageTool from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of PageTool from a dict | ===== File: content/developers/SDK/api_reference/models/page_tool_version.md ===== # PageToolVersion **Description:** PageToolVersion #### Attributes | Name | Type | Description | | ----- | -------------------------------------------------- | ----------- | | items | List[[ToolVersion](tool_version.md)] | | | total | Optional[Annotated[int, Field(strict=True, ge=0)]] | | | page | Optional[Annotated[int, Field(strict=True, ge=1)]] | | | size | Optional[Annotated[int, Field(strict=True, ge=1)]] | | | pages | Optional[Annotated[int, Field(strict=True, ge=0)]] | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of PageToolVersion from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of PageToolVersion from a dict | ===== File: content/developers/SDK/api_reference/models/page_tracked_file.md ===== # PageTrackedFile **Description:** PageTrackedFile #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of PageTrackedFile from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of PageTrackedFile from a dict | ===== File: content/developers/SDK/api_reference/models/pageable.md ===== # Pageable **Description:** !!! abstract “Usage Documentation” #### Attributes | Name | Type | Description | | ----- | -------------------------------------------------- | ----------- | | items | List[T] | | | total | Optional[Annotated[int, Field(strict=True, ge=0)]] | | | page | Optional[Annotated[int, Field(strict=True, ge=1)]] | | | size | Optional[Annotated[int, Field(strict=True, ge=1)]] | | | pages | Optional[Annotated[int, Field(strict=True, ge=0)]] | | #### Methods | Name | Description | | ---------- | ---------------------------------------- | | iter_pages | Iterate over all pages. | | iter_items | Iterate over all items across all pages. | ===== File: content/developers/SDK/api_reference/models/patch_op.md ===== # PatchOp **Description:** PatchOp #### Attributes | Name | Type | Description | | ------ | ---- | ----------- | | SET | — | | | DELETE | — | | #### Methods | Name | Description | | --------- | ------------------------------------------------ | | from_json | Create an instance of PatchOp from a JSON string | ===== File: content/developers/SDK/api_reference/models/personal_access_token.md ===== # PersonalAccessToken **Description:** Class representing a personal access token object. This class is used to store information about personal access tokens, such as the token ID and the token name. Attributes ———- machine_user_id (str): The machine user ID. token (str): The token. token_id (str): The token ID. name (str): The token name. created_by_id (UUID): The user mapping ID. #### Attributes | Name | Type | Description | | --------------- | ----------------- | ----------- | | id | StrictStr | | | created | datetime.datetime | | | machine_user_id | StrictStr | | | token | StrictStr | | | token_id | StrictStr | | | name | StrictStr | | | created_by_id | StrictStr | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of PersonalAccessToken from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of PersonalAccessToken from a dict | ===== File: content/developers/SDK/api_reference/models/product.md ===== # Product **Description:** Product #### Attributes | Name | Type | Description | | ----------------------- | ------------------- | ----------- | | revision_id | StrictStr | | | file_id | Optional[StrictStr] | | | resource_type | Optional[StrictStr] | | | resource_id | Optional[StrictStr] | | | relationship_identifier | Optional[StrictStr] | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of Product from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of Product from a dict | ===== File: content/developers/SDK/api_reference/models/properties.md ===== # Properties **Description:** Class for holding file properties. #### Attributes | Name | Type | Description | | ------ | ----------------------------------------------- | ----------- | | native | istari_digital_core.[Properties](properties.md) | | # PropertiesHaving **Description:** Helper class that provides a standard way to create an ABC using ===== File: content/developers/SDK/api_reference/models/readable.md ===== # Readable **Description:** Helper class that provides a standard way to create an ABC using #### Methods | Name | Description | | ---------- | ----------- | | read_bytes | | | read_text | | | copy_to | | | read_json | | ===== File: content/developers/SDK/api_reference/models/resource_archive_status.md ===== # ResourceArchiveStatus **Description:** ResourceArchiveStatus #### Attributes | Name | Type | Description | | ------------- | ------------------------------------------- | ----------- | | id | StrictStr | | | created | datetime.datetime | | | name | [ArchiveStatusName](archive_status_name.md) | | | reason | Optional[StrictStr] | | | created_by_id | Optional[StrictStr] | | | resource_id | StrictStr | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of ResourceArchiveStatus from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of ResourceArchiveStatus from a dict | ===== File: content/developers/SDK/api_reference/models/resource_control_tagging.md ===== # ResourceControlTagging **Description:** A control assignment on a resource. #### Attributes | Name | Type | Description | | -------------------------- | -------------------------------------------------------------------- | ----------- | | id | StrictStr | | | created | datetime.datetime | | | created_by_id | StrictStr | | | control_tag | [ControlTag](control_tag.md) | | | status | [ControlTaggingStatus](control_tagging_status.md) | | | reason | Optional[StrictStr] | | | object_type | [ControlTaggingObjectType](control_tagging_object_type.md) | | | object_id | StrictStr | | | inherited_from_object_id | Optional[StrictStr] | | | inherited_from_object_type | Optional[[ControlTaggingObjectType](control_tagging_object_type.md)] | | #### Methods | Name | Description | | --------- | --------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of ResourceControlTagging from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of ResourceControlTagging from a dict | ===== File: content/developers/SDK/api_reference/models/resource_search_item.md ===== # ResourceSearchItem **Description:** Resource class for search results. #### Attributes | Name | Type | Description | | ------------------- | ------------------------------------------- | ----------- | | id | StrictStr | | | file_id | StrictStr | | | file_revision_id | StrictStr | | | type_name | [ResourceType](resource_type.md) | | | created_by_id | StrictStr | | | archive_status | [ArchiveStatusName](archive_status_name.md) | | | created | datetime.datetime | | | updated | datetime.datetime | | | name | Optional[StrictStr] | | | extension | Optional[StrictStr] | | | size | Optional[StrictInt] | | | mime | Optional[StrictStr] | | | description | Optional[StrictStr] | | | version_name | Optional[StrictStr] | | | external_identifier | Optional[StrictStr] | | | display_name | Optional[StrictStr] | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of ResourceSearchItem from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of ResourceSearchItem from a dict | ===== File: content/developers/SDK/api_reference/models/resource_type.md ===== # ResourceType **Description:** Enum for resource types. #### Attributes | Name | Type | Description | | -------- | ---- | ----------- | | MODEL | — | | | ARTIFACT | — | | | COMMENT | — | | | JOB | — | | #### Methods | Name | Description | | --------- | ----------------------------------------------------- | | from_json | Create an instance of ResourceType from a JSON string | ===== File: content/developers/SDK/api_reference/models/response_create_snapshot.md ===== # ResponseCreateSnapshot **Description:** ResponseCreateSnapshot #### Attributes | Name | Type | Description | | ------------------------ | ------------------------------------------------------------------------------------------------------------------ | ----------- | | anyof_schema_1_validator | Optional[[Snapshot](snapshot.md)] | | | anyof_schema_2_validator | Optional[[DryRunSnapshot](dry_run_snapshot.md)] | | | anyof_schema_3_validator | Optional[[NoOpResponse](no_op_response.md)] | | | actual_instance | Optional[Union[[DryRunSnapshot](dry_run_snapshot.md), [NoOpResponse](no_op_response.md), [Snapshot](snapshot.md)]] | | | any_of_schemas | Set[str] | | #### Methods | Name | Description | | ----------------------------------- | -------------------------------------------------------- | | actual_instance_must_validate_anyof | | | from_dict | | | from_json | Returns the object represented by the json string | | to_json | Returns the JSON representation of the actual instance | | to_dict | Returns the dict representation of the actual instance | | to_str | Returns the string representation of the actual instance | ===== File: content/developers/SDK/api_reference/models/response_get_job_for_agent.md ===== # ResponseGetJobForAgent **Description:** ResponseGetJobForAgent #### Attributes | Name | Type | Description | | ------------------------ | ------------------------------------------------------------------- | ----------- | | anyof_schema_1_validator | Optional[[Job](job.md)] | | | anyof_schema_2_validator | Optional[[NoJobResponse](no_job_response.md)] | | | actual_instance | Optional[Union[[Job](job.md), [NoJobResponse](no_job_response.md)]] | | | any_of_schemas | Set[str] | | #### Methods | Name | Description | | ----------------------------------- | -------------------------------------------------------- | | actual_instance_must_validate_anyof | | | from_dict | | | from_json | Returns the object represented by the json string | | to_json | Returns the JSON representation of the actual instance | | to_dict | Returns the dict representation of the actual instance | | to_str | Returns the string representation of the actual instance | ===== File: content/developers/SDK/api_reference/models/restore.md ===== # Restore **Description:** Restore #### Attributes | Name | Type | Description | | ------ | --------- | ----------- | | reason | StrictStr | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of Restore from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of Restore from a dict | ===== File: content/developers/SDK/api_reference/models/sha_storage.md ===== # ShaStorage **Description:** `ShaStorage` is a subclass of `Base` and represents where a file is stored. #### Attributes | Name | Type | Description | | ------------- | ----------------- | ----------- | | id | StrictStr | | | created | datetime.datetime | | | sha | StrictStr | | | file_store_id | StrictStr | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of ShaStorage from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of ShaStorage from a dict | ===== File: content/developers/SDK/api_reference/models/shareable.md ===== # Shareable **Description:** Helper class that provides a standard way to create an ABC using #### Methods | Name | Description | | ---------------------- | ----------- | | create_access | | | create_access_by_email | | | update_access | | | remove_access | | | list_access | | ===== File: content/developers/SDK/api_reference/models/snapshot.md ===== # Snapshot **Description:** Snapshot #### Attributes | Name | Type | Description | | ---------------- | ----------------- | ----------- | | id | StrictStr | | | created | datetime.datetime | | | configuration_id | StrictStr | | | sha | StrictStr | | | created_by_id | StrictStr | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of Snapshot from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of Snapshot from a dict | ===== File: content/developers/SDK/api_reference/models/snapshot_item.md ===== # SnapshotItem **Description:** SnapshotItem #### Attributes | Name | Type | Description | | ---------------- | ----------------- | ----------- | | id | StrictStr | | | created | datetime.datetime | | | snapshot_id | StrictStr | | | file_revision_id | StrictStr | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of SnapshotItem from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of SnapshotItem from a dict | ===== File: content/developers/SDK/api_reference/models/snapshot_revision_search_item.md ===== # SnapshotRevisionSearchItem **Description:** SnapshotRevisionSearchItem #### Attributes | Name | Type | Description | | ------------------- | ------------------- | ----------- | | file_id | Optional[StrictStr] | | | content_token | [Token](token.md) | | | properties_token | [Token](token.md) | | | name | Optional[StrictStr] | | | extension | Optional[StrictStr] | | | size | Optional[StrictInt] | | | description | Optional[StrictStr] | | | mime | Optional[StrictStr] | | | version_name | Optional[StrictStr] | | | external_identifier | Optional[StrictStr] | | | display_name | Optional[StrictStr] | | | schema_version | Optional[StrictStr] | | | created_by_id | Optional[StrictStr] | | #### Methods | Name | Description | | ---------- | ------------------------------------------------------------------- | | read_bytes | | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of SnapshotRevisionSearchItem from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of SnapshotRevisionSearchItem from a dict | | read_text | | | copy_to | | | read_json | | ===== File: content/developers/SDK/api_reference/models/snapshot_tag.md ===== # SnapshotTag **Description:** SnapshotTag #### Attributes | Name | Type | Description | | -------------- | ----------------- | ----------- | | id | StrictStr | | | created | datetime.datetime | | | tag | StrictStr | | | is_baseline | StrictBool | | | archive_status | StrictStr | | | snapshot_id | StrictStr | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of SnapshotTag from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of SnapshotTag from a dict | ===== File: content/developers/SDK/api_reference/models/source.md ===== # Source **Description:** Source #### Attributes | Name | Type | Description | | ----------------------- | ------------------- | ----------- | | revision_id | StrictStr | | | file_id | Optional[StrictStr] | | | resource_type | Optional[StrictStr] | | | resource_id | Optional[StrictStr] | | | relationship_identifier | Optional[StrictStr] | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of Source from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of Source from a dict | ===== File: content/developers/SDK/api_reference/models/subject_info.md ===== # SubjectInfo **Description:** SubjectInfo #### Attributes | Name | Type | Description | | ----------------- | -------------------- | ----------- | | username | Optional[StrictStr] | | | email | Optional[StrictStr] | | | cross_tenant_user | Optional[StrictBool] | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of SubjectInfo from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of SubjectInfo from a dict | ===== File: content/developers/SDK/api_reference/models/system.md ===== # System **Description:** System #### Attributes | Name | Type | Description | | --------------------------- | -------------------------------------------------------------- | ----------- | | id | StrictStr | | | created | datetime.datetime | | | created_by_id | StrictStr | | | name | StrictStr | | | description | StrictStr | | | archive_status | StrictStr | | | configurations | Optional[List[[SystemConfiguration](system_configuration.md)]] | | | baseline_tagged_snapshot_id | Optional[StrictStr] | | #### Methods | Name | Description | | -------------------------------------- | ----------------------------------------------------------------------- | | get_json_file_contents_by_snapshot | Retrieves the contents of all JSON files for a given snapshot. | | get_json_file_contents_by_snapshot_tag | Retrieves the contents of all JSON files for a given snapshot tag. | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of System from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of System from a dict | | create_access | | | create_access_by_email | | | update_access | | | remove_access | | | list_access | | | archive | Archive the item using the appropriate client method based on its type. | | restore | Restore the item using the appropriate client method based on its type. | ===== File: content/developers/SDK/api_reference/models/system_baseline.md ===== # SystemBaseline **Description:** SystemBaseline #### Attributes | Name | Type | Description | | ----------- | ----------------- | ----------- | | id | StrictStr | | | created | datetime.datetime | | | system_id | StrictStr | | | tag_id | StrictStr | | | snapshot_id | StrictStr | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of SystemBaseline from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of SystemBaseline from a dict | ===== File: content/developers/SDK/api_reference/models/system_configuration.md ===== # SystemConfiguration **Description:** SystemConfiguration #### Attributes | Name | Type | Description | | -------------- | ----------------- | ----------- | | id | StrictStr | | | created | datetime.datetime | | | created_by_id | StrictStr | | | system_id | StrictStr | | | name | StrictStr | | | sha | StrictStr | | | archive_status | StrictStr | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of SystemConfiguration from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of SystemConfiguration from a dict | ===== File: content/developers/SDK/api_reference/models/tenant_public_key.md ===== # TenantPublicKey **Description:** Class representing a tenant public key object. This class is used to store information about tenant public keys. Attributes ———- tenant_id (UUID): The tenant id. public_key (str): The public key. #### Attributes | Name | Type | Description | | ------------- | ----------------- | ----------- | | id | StrictStr | | | created | datetime.datetime | | | created_by_id | StrictStr | | | tenant_id | StrictStr | | | public_key | StrictStr | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of TenantPublicKey from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of TenantPublicKey from a dict | ===== File: content/developers/SDK/api_reference/models/token.md ===== # Token **Description:** `Token` is a subclass of `Base` and represents a token used to store file information. #### Attributes | Name | Type | Description | | ------------- | ------------------- | ----------- | | id | StrictStr | | | created | datetime.datetime | | | sha | StrictStr | | | salt | StrictStr | | | created_by_id | Optional[StrictStr] | | #### Methods | Name | Description | | ------------------ | ---------------------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of Token from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of Token from a dict | | from_storage_token | | | compare_token | Compare the token with the data and raise an exception if they do not match. | | from_bytes | Create a Token from bytes and salt. | ===== File: content/developers/SDK/api_reference/models/token_with_properties.md ===== # TokenWithProperties **Description:** `Token` is a subclass of `Base` and represents a token used to store file information. #### Attributes | Name | Type | Description | | ------------------- | ------------------- | ----------- | | id | StrictStr | | | created | datetime.datetime | | | sha | StrictStr | | | salt | StrictStr | | | name | StrictStr | | | extension | StrictStr | | | size | StrictInt | | | description | Optional[StrictStr] | | | mime | Optional[StrictStr] | | | version_name | Optional[StrictStr] | | | external_identifier | Optional[StrictStr] | | | display_name | Optional[StrictStr] | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of TokenWithProperties from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of TokenWithProperties from a dict | ===== File: content/developers/SDK/api_reference/models/tool.md ===== # Tool **Description:** Tool #### Attributes | Name | Type | Description | | ------------- | ---------------------------------------------- | ----------- | | id | StrictStr | | | created | datetime.datetime | | | name | StrictStr | | | tool_versions | Optional[List[[ToolVersion](tool_version.md)]] | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of Tool from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of Tool from a dict | ===== File: content/developers/SDK/api_reference/models/tool_version.md ===== # ToolVersion **Description:** ToolVersion #### Attributes | Name | Type | Description | | ------------ | ----------------- | ----------- | | id | StrictStr | | | created | datetime.datetime | | | tool_version | StrictStr | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of ToolVersion from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of ToolVersion from a dict | ===== File: content/developers/SDK/api_reference/models/tracked_file.md ===== # TrackedFile **Description:** TrackedFile #### Attributes | Name | Type | Description | | ------------------------ | ---------------------------------------------------------- | ----------- | | id | StrictStr | | | created | datetime.datetime | | | created_by_id | StrictStr | | | configuration_id | StrictStr | | | specifier_type | [TrackedFileSpecifierType](tracked_file_specifier_type.md) | | | file_id | StrictStr | | | current_file_revision_id | StrictStr | | | archive_status | StrictStr | | | pinned_file_revision_id | Optional[StrictStr] | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of TrackedFile from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of TrackedFile from a dict | ===== File: content/developers/SDK/api_reference/models/tracked_file_specifier_type.md ===== # TrackedFileSpecifierType **Description:** TrackedFileSpecifierType #### Attributes | Name | Type | Description | | ------ | ---- | ----------- | | LOCKED | — | | | LATEST | — | | #### Methods | Name | Description | | --------- | ----------------------------------------------------------------- | | from_json | Create an instance of TrackedFileSpecifierType from a JSON string | ===== File: content/developers/SDK/api_reference/models/update_access_relationship.md ===== # UpdateAccessRelationship **Description:** UpdateAccessRelationship #### Attributes | Name | Type | Description | | -------- | ------------------------------------ | ----------- | | relation | [AccessRelation](access_relation.md) | | #### Methods | Name | Description | | --------- | ----------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of UpdateAccessRelationship from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of UpdateAccessRelationship from a dict | ===== File: content/developers/SDK/api_reference/models/update_control_tag.md ===== # UpdateControlTag **Description:** Update an existing control. #### Attributes | Name | Type | Description | | ------------- | -------------------------------------------------------------------------- | ----------- | | id | StrictStr | | | name | Optional[StrictStr] | | | description | Optional[Annotated[str, Field(min_length=0, strict=True, max_length=255)]] | | | status | Optional[[ControlTagStatus](control_tag_status.md)] | | | display_color | Optional[StrictStr] | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of UpdateControlTag from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of UpdateControlTag from a dict | ===== File: content/developers/SDK/api_reference/models/update_system.md ===== # UpdateSystem **Description:** UpdateSystem #### Attributes | Name | Type | Description | | ----------- | --------- | ----------- | | name | StrictStr | | | description | StrictStr | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of UpdateSystem from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of UpdateSystem from a dict | ===== File: content/developers/SDK/api_reference/models/update_tag.md ===== # UpdateTag **Description:** UpdateTag #### Attributes | Name | Type | Description | | ----------- | --------- | ----------- | | snapshot_id | StrictStr | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of UpdateTag from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of UpdateTag from a dict | ===== File: content/developers/SDK/api_reference/models/update_tool.md ===== # UpdateTool **Description:** UpdateTool #### Attributes | Name | Type | Description | | ---- | --------- | ----------- | | name | StrictStr | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of UpdateTool from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of UpdateTool from a dict | ===== File: content/developers/SDK/api_reference/models/upload_as.md ===== # UploadAs **Description:** UploadAs #### Attributes | Name | Type | Description | | -------- | ---- | ----------- | | ARTIFACT | — | | | MODEL | — | | #### Methods | Name | Description | | --------- | ------------------------------------------------- | | from_json | Create an instance of UploadAs from a JSON string | ===== File: content/developers/SDK/api_reference/models/usability_status_name.md ===== # UsabilityStatusName **Description:** UsabilityStatusName #### Attributes | Name | Type | Description | | ---------- | ---- | ----------- | | SUPPORTED | — | | | DEPRECATED | — | | #### Methods | Name | Description | | --------- | ------------------------------------------------------------ | | from_json | Create an instance of UsabilityStatusName from a JSON string | ===== File: content/developers/SDK/api_reference/models/usability_status_params.md ===== # UsabilityStatusParams **Description:** UsabilityStatusParams #### Attributes | Name | Type | Description | | ---------- | ---- | ----------- | | SUPPORTED | — | | | DEPRECATED | — | | | ALL | — | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | from_json | Create an instance of UsabilityStatusParams from a JSON string | ===== File: content/developers/SDK/api_reference/models/user.md ===== # User **Description:** User Dataclass that combines info from UserEntity and UserInfo. #### Attributes | Name | Type | Description | | ---------------------- | ----------------------------------------------------- | ----------- | | id | StrictStr | | | created | datetime.datetime | | | provider_name | StrictStr | | | provider_user_id | StrictStr | | | user_type | [UserType](user_type.md) | | | personal_access_tokens | List[[PersonalAccessToken](personal_access_token.md)] | | | provider_user_state | Optional[[UserState](user_state.md)] | | | user_name | Optional[StrictStr] | | | display_name | Optional[StrictStr] | | | first_name | Optional[StrictStr] | | | last_name | Optional[StrictStr] | | | email | Optional[StrictStr] | | | machine_name | Optional[StrictStr] | | | machine_description | Optional[StrictStr] | | | control_tags | Optional[List[[ControlTag](control_tag.md)]] | | | provider_tenant_id | Optional[StrictStr] | | | tenant_id | Optional[StrictStr] | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of User from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of User from a dict | ===== File: content/developers/SDK/api_reference/models/user_control_tagging.md ===== # UserControlTagging **Description:** A control assignment to a user. #### Attributes | Name | Type | Description | | ------------- | ------------------------------------------------- | ----------- | | id | StrictStr | | | created | datetime.datetime | | | created_by_id | StrictStr | | | control_tag | [ControlTag](control_tag.md) | | | status | [ControlTaggingStatus](control_tagging_status.md) | | | reason | Optional[StrictStr] | | | user_id | StrictStr | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of UserControlTagging from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of UserControlTagging from a dict | ===== File: content/developers/SDK/api_reference/models/user_model_inputs.md ===== # UserModelInputs **Description:** UserModelInputs #### Attributes | Name | Type | Description | | -------- | ---- | ----------- | | SINGLE | — | | | MULTIPLE | — | | #### Methods | Name | Description | | --------- | -------------------------------------------------------- | | from_json | Create an instance of UserModelInputs from a JSON string | ===== File: content/developers/SDK/api_reference/models/user_state.md ===== # UserState **Description:** Enum of all the possible states of a user account (from Zitadel). #### Attributes | Name | Type | Description | | ---------------------- | ---- | ----------- | | USER_STATE_ACTIVE | — | | | USER_STATE_INACTIVE | — | | | USER_STATE_DELETED | — | | | USER_STATE_LOCKED | — | | | USER_STATE_SUSPEND | — | | | USER_STATE_INITIAL | — | | | USER_STATE_UNSPECIFIED | — | | #### Methods | Name | Description | | --------- | -------------------------------------------------- | | from_json | Create an instance of UserState from a JSON string | ===== File: content/developers/SDK/api_reference/models/user_state_option.md ===== # UserStateOption **Description:** Enum for user state options. #### Attributes | Name | Type | Description | | ------ | ---- | ----------- | | ACTIVE | — | | | ALL | — | | #### Methods | Name | Description | | --------- | -------------------------------------------------------- | | from_json | Create an instance of UserStateOption from a JSON string | ===== File: content/developers/SDK/api_reference/models/user_type.md ===== # UserType **Description:** UserType #### Attributes | Name | Type | Description | | ----- | ---- | ----------- | | HUMAN | — | | | AGENT | — | | | ALL | — | | #### Methods | Name | Description | | --------- | ------------------------------------------------- | | from_json | Create an instance of UserType from a JSON string | ===== File: content/developers/SDK/api_reference/models/validation_error.md ===== # ValidationError **Description:** ValidationError #### Attributes | Name | Type | Description | | ---- | -------------------------------------------------------------- | ----------- | | loc | List[[ValidationErrorLocInner](validation_error_loc_inner.md)] | | | msg | StrictStr | | | type | StrictStr | | #### Methods | Name | Description | | --------- | -------------------------------------------------------------- | | to_str | Returns the string representation of the model using alias | | to_json | Returns the JSON representation of the model using alias | | from_json | Create an instance of ValidationError from a JSON string | | to_dict | Return the dictionary representation of the model using alias. | | from_dict | Create an instance of ValidationError from a dict | ===== File: content/developers/SDK/api_reference/models/validation_error_loc_inner.md ===== # ValidationErrorLocInner **Description:** ValidationErrorLocInner #### Attributes | Name | Type | Description | | ------------------------ | ------------------------- | ----------- | | anyof_schema_1_validator | Optional[StrictStr] | | | anyof_schema_2_validator | Optional[StrictInt] | | | actual_instance | Optional[Union[int, str]] | | | any_of_schemas | Set[str] | | #### Methods | Name | Description | | ----------------------------------- | -------------------------------------------------------- | | actual_instance_must_validate_anyof | | | from_dict | | | from_json | Returns the object represented by the json string | | to_json | Returns the JSON representation of the actual instance | | to_dict | Returns the dict representation of the actual instance | | to_str | Returns the string representation of the actual instance | ===== File: content/developers/SDK/api_reference/models/zitadel_user_state.md ===== # ZitadelUserState **Description:** Enum of all the possible states of a user account (from Zitadel). #### Attributes | Name | Type | Description | | ---------------------- | ---- | ----------- | | USER_STATE_ACTIVE | — | | | USER_STATE_INACTIVE | — | | | USER_STATE_DELETED | — | | | USER_STATE_LOCKED | — | | | USER_STATE_SUSPEND | — | | | USER_STATE_INITIAL | — | | | USER_STATE_UNSPECIFIED | — | | #### Methods | Name | Description | | --------- | --------------------------------------------------------- | | from_json | Create an instance of ZitadelUserState from a JSON string | ===== File: content/integrations/00-integration_basics.md ===== # How Istari Digital Integrations Work ## Uploading a File When you upload an extractable file using the Istari Digital UI, it is placed into an S3 bucket local to your network - our servers never see your data! After upload, navigate to the model. ## Connecting a File When you connect a file from a third party service Istari Digital stores the link data in the storage bucket on your local network. Users can authorize agents to retrieve the file from the third party service so that it can perform tasks such as data extraction. We help encrypt your authorizing secrets on their way to the agent, but we never see your secrets or your link data. ## File Extraction Process When you hit extract on the model page, this creates a job for an Istari Digital agent in your network. The agent triggers the underlying tool to run a data extraction. Then it uploads the extracted file to an S3 instance in your network, and lets the Istari Digital central index know the file is available. At no point does the data reach Istari Digital servers. ## Request New Integration Features Istari Digital uses Canny to monitor requests for new integration features. [Raise an issue on the Istari Digital canny board](https://istari.canny.io/tools-and-integrations), and search and upvote the feature requests of others. You can even subscribe to updates on a feature! ===== File: content/integrations/01-supported-integrations.md ===== --- sidebar_label: Supported Integrations --- # Istari Digital1 Supported Integrations Below is a detailed overview of the current software product integrations supported by the Istari Digital Platform. The intent is to clearly present the software, versions, general functions, and file types supported by the platform for each integration. | **Vendor** | **Product2** | **Current Version(s) Supported** | **Supported Functions** | **File Types** | **Software Type** | | ----------------- | ---------------------------- | -------------------------------- | --------------------------------------------------- | ------------------------------- | ------------------- | | Dassault Systèmes | Cameo® Enterprise Architect | 2021xR2, 2022xR2, 2024xR2 | Data Extraction, Update Tags | .mdzip | RFLP / SysML | | Dassault Systèmes | Teamwork Cloud | 2022x, 2024x | Data Extraction, Update Tags | N/A - Connect to TWC Server | RFLP / SysML | | Dassault Systèmes | 3DExperience CATIA (v6) | 2021xR2, 2022xR2 | Data Extraction, Parameter Updates, Multi-Functions | N/A - Connects to Enovia | CAD / PLM | | Dassault Systèmes | CATIA V5 | V5-6R2023 | Data Extraction, Parameter Updates | .CATPart, .CATAssembly(.zip) | CAD | | PTC | Creo Parametric | 10.0 | Data Extraction, Parameter Updates, Multi-Functions | .prt, .asm | CAD | | PTC | Windchill | 12.1 | Data Extraction, Parameter Updates | .prt, .asm - Connects to Server | PLM | | Microsoft | Office Excel | 2019, 2021 | Data Extraction, Data Updates | .xlsx | General / Data | | Microsoft | Office Word | 2019, 2021 | Data Extraction | .docx | General / Data | | Google | Slides | google.apis.slides.v1 | Data Extraction | N/A | General / Data | | Hexagon | MSC NASTRAN | 2023.4 | Data Extraction, Simulation Run | .bdf | FEM Simulation | | MathWorks | MATLAB (Base) | 2023b | Data Extraction | .m | Simulation and Data | | MathWorks | MATLAB SIMULINK | 2023b | Data Extraction, Simulation Run | .mdl, .slx | Simulation | | ANSYS | HFSS | 2024 | Data Extraction, Simulation Run | N/A | EM Simulation | | Opensource | PDF | N/A | Data Extraction | .pdf | General / Data | | Opensource | Spreadsheets | N/A | Data Extraction | .xls, .xlsx, .csv | General / Data | | Opensource | Paraview | N/A | Data Extraction for FEM | .bdf, .op2 | FEM Simulation | ## Missing Something? Additional softwares or functions needed for your workflows? Let us know the tool name, version, new function needed, and any other relevant details Contact [sales@istaridigital.com](mailto:sales@istaridigital.com) --- 1The Istari Digital name and logo are trademarks of Istari Digital, Inc. 2All product names in the Product column (except for open source products) are trademarks of their respective owners in the Vendor column. ===== File: content/integrations/02-CAD/01-dassault_3dexperience.mdx ===== import ArtifactViewer from "@site/src/components/ArtifactViewer"; import Ds from "@site/src/components/Styling"; import SupportedFunctions, { SupportedFunctionsWide } from "@site/src/components/SupportedFunctions"; # Dassault 3DExperience (CATIA & Enovia) ## **Supported Functions**: extract update multi ## Getting Started The 3DExperience integration provides support for Dassault 3DExperience CATIA(V6) and Enovia, allowing users to extract data from and modify 3DExperience-CATIA CAD models. ## Methods to Link to Istari Platform #### Upload: No #### Link: No #### Product Identifier: Yes (name and revision) Example: ```json { "name": "prd00000080", "major_revision": "1", "minor_revision": "1" } ``` ## Files Supported The istari Platform can extract from the following file types: - `3DExperience Products/Assemblies` - `3DExperience Parts` Note: 3DExperience does not permit local saving of models. The module interfaces directly with the Enovia platform to open/save 3DExperience models. All other 3DExperience file/model types not supported at this time. Please submit a feature request if an important file type is not supported. ## Version Compatibility This software was tested with Dassault 3DExperience 2023x and 2022x, but is developed to be generally version agnostic. It is intended to run in a Windows environment and was tested on Windows 11. ## Function Coverage and Outputs This software can produce a number of artifacts extracted from the 3DExperience CATIA CAD model. The table below describes each output artifact and its type. | Route | Coverage | Artifact Content Example | | :---------------------------------------------------------- | :------------------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Function: @istari:extract: | Yes | | | -Extract 6 orthographic model views - PNG | | | | -Extract the model isometric view - PNG | | | | -Extract an object file for dynamic model viewing - OBJ | | | | -Extract user defined parameters - JSON | | | | -Extract mass properties, bounding box, and material - JSON | | | | Function: @istari:extract_geometry: | Yes | | | -Extract model geometry to a neutral file format | | | | -Inputs: `STEP`, `IGES3D`, `STL` | | | | Function: @istari:extract_parameters: | Yes | | | -Extract a full list of model parameters - JSON | | | | Function: @istari:extractPublications: | Yes | | | -Extract list of published elements - JSON | | | | Function: @istari:update_parameters: | Yes | | | - Updates a set of parameters with user-specified values | | | | Function: @istari:execute_macro: | Yes | | | -Execute a custom VBA macro within 3DExperience | | | | Function: @istari:command_execute: | Coming soon | | | -Execute a custom macro from a preloaded library | | | ## Tips and tricks for model extraction and Reuse This section will guide users through creating a 3DExperience CATIA model for optimal interaction with the provided software (SDK/platform). Some artifacts supported for extraction from the model require specific steps. **1. User Defined Parameters:** These are essential for extracting key values out of the 3DExperience CATIA file. This will allow upstream and downstream digital threading of the 3DExperience CATIA file. Refer to 3DExperience instructions or your company's best practices for best methods to create these. **2. Material Properties:** Ensure the correct material is defined in the 3DExperience CATIA models. **3. Macros:** Macros executed through the 3DExperience module should not display any UI elements (windows, dialog boxes, message boxes, etc.) since this may block execution. Also, macros should be prepared for remote execution, including modifying paths appropriately and eliminating references to local resources. ## Setup for Administrators Ensure that Dassault 3DExperience CATIA is installed on a Bare metal Machine with Istari Agent and appropriate Istari Software. Verify that the installation is up to date with the latest patches and updates from Dassault. Also, if a session of 3DExperience is not running when jobs are submitted to the module (see below for a more detailed explanation), the registry entry: `HKEY_CLASSES_ROOT\CLSID\\LocalServer32` where `` is the registered class ID for the CATIA application and can be found in the following registry entry: `HKEY_CLASSES_ROOT\CATIA.Application\CLSID` The command line in the value of this registry key should be updated to include the following flags: TODO: Add flags The module requires a server license in order to perform various operations that interface with Enovia. The license is read from an xml file that can be generated using the `CATUTIL.exe` batch utility provided by Dassault, which may be found in the following location: `<3DExperience_Install_Path>\win_b64\code\CATUTIL.exe` where `<3DExperience_Install_Path>` should be replaced with the actual path to the 3DExperience installation. Within the utility, start the `CAT3DExpBatch` tool: Double click the tool, click the `Save` button and save the config to `ServerLicense.xml` within the module installation directory: The module can be run with or without the 3DExperience application actively running on the host machine. If the 3DExperience application is not currently running, the module will start a session and close it when all functions have been executed. If the 3DExperience application is open when the module starts, it will use the existing session and leave it open after completing all function execution. Note that in the latter case, the module closes all models opened during function execution. ### Configuration (Version 1.3.0+) :::warning Deprecated Configuration Starting with **3dexperience-module 1.3.0** and **istari-agent 9.8.0+**, the old configuration variables (`dassault_install_dir`, `product_attr_name`) are deprecated. While they remain supported for backward compatibility, we strongly encourage using the new standardized configuration variables and the centralized `istari_digital_agent_module_configurations` approach. ::: #### Centralized Configuration (Recommended) The Istari Agent is configured via the file `istari_digital_config.yaml`. The Agent expects the file to be located at: - `%LOCALAPPDATA%\istari_digital\` on Windows - `~/.config/istari_digital/` on RHEL/Ubuntu Configure the 3DExperience module using the `istari_digital_agent_module_configurations` section. The agent will pass this centralized configuration to the module: ```yaml agent: istari_digital_agent_module_configurations: "@istari:dassault_3dexperience": "dassault_3dexperience_install_dir": "/path/to/3dexperience/installation" "dassault_3dexperience_product_attr_name": "PLM_ExternalID" ``` #### Legacy Configuration (module_config.json) For backward compatibility, you can still use the legacy `module_config.json` file located at `{istari_agent_dir}\istari_modules\dassault_3dexperience\resources\module_config.json`: ```json { "dassault_3dexperience_install_dir": "/path/to/3dexperience/installation", "dassault_3dexperience_product_attr_name": "PLM_ExternalID" } ``` #### Configuration Parameters - **`dassault_3dexperience_install_dir`**: Sets the installation path of the 3DExperience thick client to use. This is useful when executing on systems in which multiple versions of 3DExperience are installed. - **`dassault_3dexperience_product_attr_name`**: This is the attribute name associated with product identifiers used to locate products. In out-of-the-box installations, this will be `PLM_ExternalID`, but can be configured with other options. ## Troubleshooting 1. For general Agent and Software Troubleshooting [Click Here](/integrations/troubleshooting) 2. **Missing Artifacts Or Data:** - 2.1 parameters.json: Check source file, are there user defined parameters defined in the file? If not, refer to the software's manual for defining appropriate parameters. - 2.2 parts.json: Check source model for properly defined materials? Refer to the software manual for defining appropriate material assignment. ## FAQ ===== File: content/integrations/02-CAD/02-dassault_catia_v5.mdx ===== import ArtifactViewer from "@site/src/components/ArtifactViewer"; import Ds from "@site/src/components/Styling"; import SupportedFunctions from "@site/src/components/SupportedFunctions"; # Dassault Catia V5 **Note**: Users must procure and maintain valid licenses to integrate this commercial DE tool with the Istari Digital platform. Please contact your local IT administrator for assistance. ## **Supported Functions**: extract update ## Getting Started The Catia integration provides support for Dassault CATIA V5-R62023, allowing users to extract data from and modify Catia V5-R62023 CAD models. ## Methods to Link to Istari Digital Platform #### Upload: Yes #### Link: No ## Files Supported The istari Digital Platform can extract from the following file types: `.CATPart` `.CATProduct` (**Note:** Products need to be in a `.zip` folder with all dependent files included to be properly extracted) All other CATIAv5 file types not supported at this time. Please submit a feature request if an important file type is not supported. ### Example Files - Download Example Part: WING.CATPart - Download Example Product: IstariDigitalProduct.zip ## Setup for Administrators Ensure that Dassault CATIA v5 is installed on a Virtual Machine (VM) with Istari Digital Agent and appropriate Istari Digital Software. Verify that the installation is up to date with the latest patches and updates from Dassault. ## Version Compatibility This software was tested with Dassault CATIA V5-R62023, and is intended to run in a Windows environment. It was tested on Windows Server 2019. ## Module Configuration (Version 2.4.0+) :::warning Deprecated Configuration Starting with **catia-module 2.4.0** and **istari-agent 9.8.0+**, the old configuration variables (`log_level`, `log_file_path`, `render_tool_path`, `convert_tool_path`) are deprecated. While they remain supported for backward compatibility, we strongly encourage using the new standardized configuration variables and the centralized `istari_digital_agent_module_configurations` approach. ::: ### Centralized Configuration (Recommended) The Istari Agent is configured via the file `istari_digital_config.yaml`. The Agent expects the file to be located at: - `%LOCALAPPDATA%\istari_digital\` on Windows - `~/.config/istari_digital/` on RHEL/Ubuntu Configure the CATIA V5 module using the `istari_digital_agent_module_configurations` section. The agent will pass this centralized configuration to the module: ```yaml agent: istari_digital_agent_module_configurations: "@istari:dassault_catia_v5": "dassault_catia_v5_renderer_executable_path": "/path/to/render/tool" "dassault_catia_v5_converter_executable_path": "/path/to/convert/tool" ``` ### Legacy Configuration (module_config.json) For backward compatibility, you can still use the legacy `module_config.json` file located at `{istari_agent_dir}\istari_modules\dassault_catia_v5\2.4.0\app\resources\module_config.json`: ```json { "dassault_catia_v5_renderer_executable_path": "/path/to/render/tool", "dassault_catia_v5_converter_executable_path": "/path/to/convert/tool" } ``` ### Configuration Parameters - **`dassault_catia_v5_renderer_executable_path`**: Path to the rendering tool for generating model views - **`dassault_catia_v5_converter_executable_path`**: Path to the conversion tool for file format conversion ## Function Coverage and Outputs The Catia software can produce a number of artifacts extracted from the Catia V5 CAD model. The table below describes each output artifact and its type. | Route | Coverage | Artifact Content Example | | :--------------------------------------------------- | :------------------: | :---------------------------------------------------------------------------------------------------- | | Extract model 6 side model views - PNG | Yes | | | Extract model isometric view - PNG | Yes | | | Extract OBJ for viewing | Yes | | | Extract user defined parameters - JSON | Yes | | | Extract mass properties and bounding box - JSON | Yes | | | Extract bill of materials (Products) - JSON | Yes | | | Extract material properties assigned - JSON | Coming soon | JSON | | Update material properties | No | | | Update user defined parameters - JSON | Yes | Updates parameters in CATIA V5 models using the `@istari:update_parameters` function | ## Tips and tricks for model extraction and Reuse This section will guide users through creating a CATIAv5 model for optimal interaction with the provided software (SDK/platform). Some artifacts supported for extraction from the CATIAv5 model requires specific steps. **1. User Defined Parameters:** These are essential for extracting key values out of the CATIAv5 file. This will allow upstream and downstream digital threading of the CATIAv5 file. Refer to CATIAv5 instructions or your company's best practices for best methods to create these. **2. Material Properties:** Ensure the correct material is defined in the CATIAv5 models ## Detailed SDK Reference #### Prerequisite: Install Istari Digital SDK and initialize Istari Digital Client per instructions [here](/developers/SDK/setup) ### Step 1: Upload and Extract the File(s) #### Upload the file as a model ```python model = client.add_model( path="example.CATPart", description="Catia example model", display_name="Catia Model Name", ) print(f"Uploaded base model with ID {model.id}") ``` #### Extract once you have the model ID ```python extraction_job = client.add_job( model_id = model.id, function = "@istari:extract", tool_name = "dassault_catia_v5", tool_version = "2.4.0", operating_system = "Windows 10", ) print(f"Extraction started for model ID {model.id}, job ID: {extraction_job.id}") ``` Please choose appropriate tool_name, tool_version, and operating_system for your installation of this software.
Above is an example of how to call the function ### Step 2: Check the Job Status ```python extraction_job.poll_job() ``` ### Step 3: Retrieve Results #### Example ```python for artifact in model.artifacts: output_file_path = f"c:\\extracts\\{artifact.name}" if artifact.extension in ["txt", "csv", "md", "json", "html"]: with open(output_file_path, "w") as f: f.write(artifact.read_text()) else: with open(output_file_path, "wb") as f: f.write(artifact.read_bytes()) ``` ### Step 4: Update Parameters The following example demonstrates how to update parameters in a CATIA V5 model: ```python # Create update job update_job = client.add_job( model_id=catia_model.id, function="@istari:update_parameters", tool_name="dassault_catia_v5", operating_system="Windows 10", parameters={ "parameters": { "WING\\DIHEDRAL_ANGLE":"2deg", "WING\\WING_LENGTH":"200in", } } ) ``` ### Parameter Update Workflow The `@istari:update_parameters` function for CATIA V5: 1. **Parameter Format**: Parameters are specified using the format `"CATEGORY\\PARAMETER_NAME": "value with unit"` 2. **Supported Types**: Supports updating user-defined parameters in CATIA V5 models 3. **File Support**: Works with both `.CATPart` and `.CATProduct` files 4. **Output**: Returns the updated model with modified parameters **Note**: Ensure that the parameters you want to update exist in the CATIA model before attempting to modify them. ### Parameter Schema The `@istari:update_parameters` function expects a specific format for parameter values. Each parameter value should include both the numerical value and the unit of measurement without any spaces between them. #### Schema Format ```json { "parameters": { "CATEGORY\\PARAMETER_NAME": "XXXyyy" } } ``` **Where:** - `XXX` = Numerical value (e.g., "2", "200", "0.125") - `yyy` = Unit of measurement (e.g., "deg", "in", "mm") #### Example Parameters ```json { "parameters": { "WING\\DIHEDRAL_ANGLE": "2deg", "WING\\WING_SPAN": "1500mm", "WING\\THICKNESS": "0.125in" } } ``` #### Important Notes - **No spaces** between the value and unit - **Case sensitive** - use lowercase for units - **Decimal values** are supported (e.g., `0.125in`) - **Parameter names** must exactly match those defined in your CATIA model ## Troubleshooting 1. For general Agent and Software Troubleshooting [Click Here](/integrations/troubleshooting) 2. **Missing Artifacts:** - 2.1 parameters.json: Check source file, are there user defined parameters defined in the file? If not, refer to the software's manual for defining appropriate parameters. - 2.2 mass_properties.json: Check source file, is material properly defined? If not, refer to the software's manual for defining appropriate material assignment. ## FAQ ===== File: content/integrations/02-CAD/03-ptc_creo.mdx ===== import ArtifactViewer from "@site/src/components/ArtifactViewer"; import Ds from "@site/src/components/Styling"; import SupportedFunctions from "@site/src/components/SupportedFunctions"; # PTC Creo & Windchill **Note**: Users must procure and maintain valid licenses to integrate this commercial DE tool with the Istari Digital platform. Please contact your local IT administrator for assistance. ## **Supported Functions**: extract update multi ## Getting Started The Creo and Windchill integration provides support for PTC Creo parametric 10.0.X.X and PTC Windchill 12.1, allowing users to extract data from PTC Creo CAD and modify models. It also allows users to connect to a PTC Windchill instance to retrieve CAD files for Creo Automation. ## Methods to Link to Istari Digital Platform #### Upload: Yes - Creo Models #### Link: Yes - Windchill based Models ## Files Supported The istari Digital Platform can extract from the following file types: `.prt` `.asm` (**Note:** Assemblies need to be in a `.zip` folder with all dependent files included to be properly extracted) **Note:** These files can also be pulled from Windchill server with the `windchill_extract` function. ### Example Files - Download Example Part: creo_model.prt ## Version Compatibility This software was tested with PTC Creo Parametric 10.0 and PTC Windchill 12.1 on a Windows Server 2019 machine. It is intended to run in a Windows environment. ## Function Coverage and Outputs The PTC Creo software can produce a number of artifacts extracted from the Creo CAD models. The table below describes each output artifact and its type. ### Foundation Functions [Link to Foundation Function Documentation](/integrations/SDK/foundation_functions) | Route | Coverage | Artifact Content Example | | :---------------------------------------------- | :------------------: | :-------------------------------------------------------------------------------------------------------------------------------------- | | **Function: @istari:extract:** | Yes | | | - Extract model 6 side model views - PNG | | | | - Extract model isometric view - PNG | | | | - Extract user defined parameters - JSON | | | | - Extract mass properties and bounding box - JSON | | | | - Extract bill of materials (Products) - JSON | | | | - Extract material properties assigned - JSON | | | | **Function: @istari:windchill_extract:** | Yes | | | - Extractions same information as above. | | | | **Function: @istari:update_parameters:** | Yes | | | - Updates a set of parameters with user-specified values | | | **Function: @istari:windchill_update_parameters:** | Yes | | | - Updates parameters in Windchill-managed CAD files through checkout/checkin workflow | | ### Multi Functions [Link to Multi Function Documentation](/integrations/SDK/multi_functions) | Route | Coverage | |-------------------------------------------------|:--------------------:| | **Function: @istari:batch_execute** | Yes | | {Function: @istari:variable_sweep} | {Coming Soon} | ## Tips and tricks for model extraction and Reuse This section will guide users through creating a Creo model for optimal interaction with the provided software (SDK/platform). **1. User Defined Parameters:** These are essential for extracting key values out of the Creo file. This will allow upstream and downstream digital threading of the Creo file. Refer to Creo instructions or your company's best practices for best methods to create these. **2. Material Properties:** Ensure the correct material is defined in the Creo models ## Detailed SDK Reference #### Prerequisite: Install Istari Digital SDK and initialize Istari Digital Client per instructions [here](/developers/SDK/api_reference/client) ### Step 1: Upload and Extract the File(s) #### Upload the file as a model ```python model = client.add_model( path="example.prt", description="Creo example Model", display_name="Creo Model Name", ) print(f"Uploaded base model with ID {model.id}") ``` #### Extract once you have the model ID ```python extraction_job = client.add_job( model_id = model.id, function = "@istari:extract", tool_name = "ptc_creo_parametric", tool_version = "10.0.0.0", operating_system = "Windows 10", ) print(f"Extraction started for model ID {model.id}, job ID: {extraction_job.id}") ``` Please choose appropriate tool_name, tool_version, and operating_system for your installation of this software.
Above is an example of how to call the function ### Step 2: Check the Job Status ```python extraction_job.poll_job() ``` ### Step 3: Retrieve Results #### Example ```python for artifact in model.artifacts: output_file_path = f"c:\\extracts\\{artifact.name}" if artifact.extension in ["txt", "csv", "md", "json", "html"]: with open(output_file_path, "w") as f: f.write(artifact.read_text()) else: with open(output_file_path, "wb") as f: f.write(artifact.read_bytes()) ``` ### Step 4: Update Parameters The following example demonstrates how to update parameters in a Creo model: ```python from time import sleep import istari from istari.openapi_client import JobStatusName # Upload the Creo model creo_model = client.add_model("path/to/your/model.zip") print(f"Creo file uploaded as model {creo_model.id}") # Create update job update_job = client.add_job( model_id=creo_model.id, function="@istari:update_parameters", tool_name="ptc_creo_parametric", tool_version="10.0.0.0", operating_system="Windows 10", parameters={ "parameters": { "9PRT0103\\DESCRIPTION": "Updated Description", } } ) print(f"Created update job {update_job.id}") print(f" > Model ID: {update_job.model.id}") print(f" > Function: {update_job.function.name}") print(f" > Tool Name: {update_job.function.tool_name}") # Monitor job status update_job.poll_job() # List updated artifacts for artifact in creo_model.artifacts: print(f" * {artifact.id} {artifact.name}") ``` ## Extract a File from Windchill using (`windchill_extract`) function The `@istari:windchill_extract` function allows you to extract a CAD file directly from a PTC Windchill instance by providing basic authentication credentials and specifying the windchill model link. ### Function Overview - **Function Name:** `@istari:windchill_extract` - **Tool Name:** `ptc_creo_parametric` - **Supported Versions:** `10.0.0.0` - **Supported OS:** `Windows 10 / 11`, `Windows Server 2019 / 2022` ### 1: Create the Input Files You will need two files to run this function: 1. **A credentials file**: A JSON file containing your Windchill username and password. 2. **A metadata file**: A file with the extension `.istari_windchill_metadata` that specifies the part number to download. **Example Credentials File (`windchill_secret.json`)** ```json { "username": "your-windchill-username", "password": "your-windchill-password" } ``` **Example Metadata File (`input.istari_windchill_metadata`)** ```json { "oid": "VR:wt.epm.EPMDocument:132353" // This is just example only } ``` #### How to Extract the oid from a Windchill Link When working with Windchill, you may deal with URLs that look like this from the model details page. **Example Windchill URL:** `https://company_domain/Windchill/app/...&oid=VR%3Awt.epm.EPMDocument%3A120615` Copy the value of the `oid` parameter and **URL-decode it**. In the example above: - Encoded: `VR%3Awt.epm.EPMDocument%3A120615` - Decoded: `VR:wt.epm.EPMDocument:120615` Use the **decoded** string as the `part_number` in your metadata. :::info You can skip this extraction step entirely by using the Istari Digital web UI. Simply add the file from the UI platform, copy the `model_id` shown there, and pass it directly to the job as an identifier. This avoids manual URL decoding and speeds up your workflow. ::: ### 2: Example of how to use the `windchill_extract` function with the Istari Digital SDK: The following script demonstrates the complete workflow: #### step 1: Securely add your Windchill credentials. ```python function_auth_secret = client.add_function_auth_secret( path="path/to/your/windchill_secret.json", function_auth_type=FunctionAuthType.BASIC, ) windchill_auth_source = NewSource( revision_id=function_auth_secret.revision.id, relationship_identifier="windchill_auth", ) ``` #### step 2: Upload the `.istari_windchill_metadata` file as a model. ```python model = client.add_model( path="path/to/your/input.istari_windchill_metadata", display_name="Windchill Download Request", ) ``` #### step :3 Submit the `windchill_extract` job, linking the auth secret as a source. ```python windchill_job = client.add_job( model_id=model.id, function="@istari:windchill_extract", tool_name="ptc_creo_parametric", tool_version="10.0.0.0", operating_system="Windows 10", sources=[windchill_auth_source], ) ``` ## Update Parameters in Windchill Files using (`windchill_update_parameters`) function The `@istari:windchill_update_parameters` function allows you to update parameters in CAD files directly from a PTC Windchill instance by providing basic authentication credentials, specifying the windchill model link, and defining the parameters to update. ### Function Overview - **Function Name:** `@istari:windchill_update_parameters` - **Tool Name:** `ptc_creo_parametric` - **Supported Versions:** `10.0.0.0` - **Supported OS:** `Windows 10 / 11`, `Windows Server 2019 / 2022` ### 5.1: Example Usage ```python windchill_update_job = client.add_job( model_id=model.id, function="@istari:windchill_update_parameters", tool_name="ptc_creo_parametric", tool_version="10.0.0.0", operating_system="Windows 10", sources=[windchill_auth_source], parameters={ "parameters": { "DESCRIPTION": "Updated Description", "MATERIAL": "Aluminum 6061", "THICKNESS": "2.5" } } ) ``` ### Workflow Description The `windchill_update_parameters` function implements a complete checkout/checkin workflow: 1. **Authentication**: Connects to Windchill using provided credentials 2. **File Retrieval**: Downloads the specified model from Windchill 3. **Checkout**: Checks out the file (and all component parts for assemblies) 4. **Parameter Updates**: Applies the specified parameter changes 5. **Checkin**: Checks the modified file back into Windchill 6. **Export**: Provides the updated model as output **Note**: This function only checks in files that have been modified, automatically skipping unchanged files to maintain workspace efficiency. ## Setup for Administrators Ensure that PTC Creo parametric 10.0.0.0 is installed on a Virtual Machine (VM) with Istari Digital Agent and appropriate Istari Digital Software. Verify that the installation is up to date with the latest patches and updates from PTC. ### Required Environment Variables The following environment variables must be set to ensure that the Creo module can interact with the PTC Creo Parametric environment correctly: 1. **PRO_DIRECTORY**: Set this variable to the path of the common files in your PTC Creo installation. This is necessary for the module to locate essential Creo resources. - Example: `C:\Program Files\PTC\Creo 10.0.0.0\Common Files\` 2. **PRO_COMM_MSG_EXE**: Set this variable to the path of the `pro_comm_msg.exe` executable. This executable is required for communication between the Creo application and the module. - Example: `C:\Program Files\PTC\Creo 10.0.0.0\Common Files\x86e_win64\obj\pro_comm_msg.exe` 3. **PATH**: Add the path to the platform library folder to the Windows PATH environment variable. This ensures that the necessary libraries are accessible to the module. - Example: Add `C:\Program Files\PTC\Creo 10.0.0.0\Common Files\x86e_win64\lib\` to your PATH variable. ### Setting Environment Variables To set these environment variables on Windows: 1. Open the **Control Panel**. 2. Navigate to **System and Security** > **System**. 3. Click on **Advanced system settings**. 4. In the **System Properties** window, click on **Environment Variables**. 5. Under **System variables**, click **New** to add `PRO_DIRECTORY` and `PRO_COMM_MSG_EXE`. 6. Select the **Path** variable and click **Edit** to add the library path. By correctly setting these environment variables, you ensure that the Creo module can fully leverage the capabilities of the PTC Creo Parametric environment. ### Module Configuration (Version 3.0.0+) :::warning Deprecated Configuration Starting with **creo-module 3.0.0** and **istari-agent 9.8.0+**, the old configuration variables (`creo_path`, `render_tool_path`, `convert_tool_path`, `windchill_pdm_link`, `windchill_workspace`) are deprecated. While they remain supported for backward compatibility, we strongly encourage using the new standardized configuration variables and the centralized `istari_digital_agent_module_configurations` approach for module configuration. ::: #### Centralized Configuration (Recommended) The Istari Agent is configured via the file `istari_digital_config.yaml`. The Agent expects the file to be located at: - `%LOCALAPPDATA%\istari_digital\` on Windows - `~/.config/istari_digital/` on RHEL/Ubuntu Configure the Creo module using the `istari_digital_agent_module_configurations` section. The agent will pass this centralized configuration to the module: ```yaml agent: istari_digital_agent_module_configurations: "@istari:ptc_creo_parametric": "ptc_creo_parametric_executable_path": "/path/to/creo/parametric.exe" "ptc_creo_parametric_renderer_executable_path": "/path/to/render/tool" "ptc_creo_parametric_converter_executable_path": "/path/to/convert/tool" "ptc_creo_parametric_windchill_pdm_link": "https://your-windchill-server" # optional "ptc_creo_parametric_windchill_workspace": "/path/to/workspace" # optional ``` #### Legacy Configuration (module_config.json) For backward compatibility, you can still use the legacy `module_config.json` file located at `{istari_agent_dir}\istari_modules\ptc_creo_parametric\app\resources\module_config.json`: ```json { "ptc_creo_parametric_executable_path": "C:/Program Files/PTC/Creo 10.0.0.0/Common Files/x86e_win64/bin/parametric.exe", "ptc_creo_parametric_renderer_executable_path": "/path/to/render/tool", "ptc_creo_parametric_converter_executable_path": "/path/to/convert/tool", "ptc_creo_parametric_windchill_pdm_link": "https://your-windchill-server", "ptc_creo_parametric_windchill_workspace": "/path/to/workspace" } ``` #### Configuration Parameters - **`ptc_creo_parametric_executable_path`**: Path to the Creo Parametric executable - **`ptc_creo_parametric_renderer_executable_path`**: Path to the rendering tool for generating model views - **`ptc_creo_parametric_converter_executable_path`**: Path to the conversion tool for file format conversion - **`ptc_creo_parametric_windchill_pdm_link`**: (Optional) URL to your Windchill PDM server - **`ptc_creo_parametric_windchill_workspace`**: (Optional) Path to the Windchill workspace directory ### External Dependencies In addition to the core functionality provided by the Creo module, the module relies on two external utility tools to enhance its capabilities: 1. **Universal CAD Converter**: This tool is used to convert STL files generated by Creo into the OBJ format, which is essential for 3D mesh representation. 2. **Blender Render Tool**: This tool is utilized to render various views of the model, such as top, left, right, and iso views, providing comprehensive visual representations. (**Note**: This tool requires a properly installed GPU driver with OpenGL support) Both of these tools should be packaged alongside the Creo module to ensure seamless integration and functionality. ## Troubleshooting 1. For general Agent and Software Troubleshooting [Click Here](/integrations/troubleshooting) 2. **Missing Artifacts:** - 2.1 parameters.json: Check source file, are there user defined parameters defined in the file? If not, refer to the software's manual for defining appropriate parameters. - 2.2 material.json: Check source file, is material properly defined? If not, refer to the software's manual for defining appropriate material assignment. - 2.3 missing png views: Check the GOU Driver installed on the module machine, it requires an OpenGL supported driver. ## FAQ ===== File: content/integrations/03-Systems Engineering/03-dassault_cameo.mdx ===== import ArtifactViewer from "@site/src/components/ArtifactViewer"; import SupportedFunctions from "@site/src/components/SupportedFunctions"; # Dassault Cameo **Note**: Users must procure and maintain valid licenses to integrate this commercial DE tool with the Istari Digital platform. Please contact your local IT administrator for assistance. ## **Supported Functions**: extract update ## Getting Started The Cameo integration provides support for Cameo Enterprise Architecture and Cameo Systems Modeler, allowing users to extract data from and modify `.mdzip` files **or connect directly to Teamwork Cloud (TWC) projects via a metadata link or file**. ### Versions Supported :::info Supported versions (`2024x-refresh2`, `2022x-refresh2` or `2021x-refresh2`) ::: Exact functionality may vary by version, so please ensure you are using a compatible version of Cameo Enterprise Architecture or Cameo Systems Modeler. Istari Digital strives to maintain the same functionality across all supported versions, but some features may be version-specific. ## Methods to Link to Istari Digital Platform #### Upload: Yes (local \*.mdzip) #### Link: Yes (Teamwork Cloud) ## Teamwork Cloud (TWC) Projects Istari Digital can now connect directly to projects stored in Dassault Teamwork Cloud. Two operations are available and behave exactly like their local-file counterparts: | Function | Description | | ------------------------- | ---------------------------------------------------------------------------------- | | `@istari:twc_extract` | Extracts diagrams, blocks, requirements, stereotypes, **etc.** from a TWC project. | | `@istari:twc_update_tags` | Updates/clears/appends stereotype tagged-values inside a TWC project. | ### 1.1 Choosing a Connection Method 1. **Paste a TWC link in the Istari Web UI** – the platform will create the required metadata file automatically, or 2. **Upload a metadata file** (`*.istari_teamwork_cloud_metadata_mdzip`) that you create yourself (see next subsection). ### 1.2 Creating the metadata file manually Save the following JSON as `my_project.istari_teamwork_cloud_metadata_mdzip` and upload it: ```json { "project_id": "twcloud:/ac084d05-6bc2-4447-aa9f-51c9aa8f4679/6fc8e2dd-755d-40de-943f-d9d1ff716a2b", "branch_name": "trunk", "version": "12", "server_name": "10.30.102.103" } ``` Field requirements - `project_id` or `project_name` – at least one is required (use only one if possible). - `server_name` – required (IP or DNS of the TWC server). - `branch_name` – optional (defaults to the project’s main branch). - `version` – optional (omit to grab the latest). :::info Tip: If you copy a URL from the TWC Web app (mdel://...?projectID=twcloud:/...&projectName=...) change every + in the projectName= segment to a space before using it as project_name in the metadata file. ::: ### 1.3 Authentication – auth_secret.json TWC uses BASIC authentication. Create a file named auth_secret.json on the same machine as the Istari Digital Client to create a Job. ```json { "username": "your_username", "password": "your_password" } ``` Add it as an AuthSecret with the relationship identifier twc_auth_login. ```python from pathlib import Path from istari_digital_client import FunctionAuthType, NewSource def add_auth_source() -> NewSource: if not Path("auth_secret.json").exists(): raise FileNotFoundError("auth_secret.json is missing") secret = client.add_function_auth_secret( path="auth_secret.json", function_auth_type=FunctionAuthType.BASIC, ) return NewSource( revision_id=secret.revision.id, relationship_identifier="twc_auth_login", ) ``` ### 1.4 Using the TWC Functions To use the TWC functions, you need to run a Job with the appropriate function name and parameters. ```python # 1. Add (or link) the TWC model model = client.add_model( "my_project.istari_teamwork_cloud_metadata_mdzip" ) # 2. Launch an extract job twc_extract_job = client.add_job( model_id=model.id, function="@istari:twc_extract", tool_name="dassault_cameo", tool_version="2022x Refresh2", operating_system="Windows 11", sources=[add_auth_source()], # << authentication ) print("Started TWC extract:", twc_extract_job.id) ``` ### 1.5 Running `@istari:twc_update_tags` `@istari:twc_update_tags` works exactly like the local-file `@istari:update_tags` function: ```python job = client.add_job( model_id=model.id, function="@istari:twc_update_tags", tool_name="dassault_cameo", tool_version="2022x Refresh2", operating_system="Windows 11", sources=[add_auth_source()], # << required for TWC login parameters={"updates": updates} # << same schema as in the Cameo example below ) ``` `@istari:twc_update_tags` is invoked identically to the existing `update_tags` example—just change the function name and ensure `sources=[add_auth_source()]` is supplied. :::info Result of an update on Teamwork Cloud --- When you run **`@istari:twc_update_tags`** the updated project is **committed back to Teamwork Cloud as a new version**. Istari then imports that commit as **a new version of the same model ID**— no separate “updated_model.mdzip” artifact is produced. What this means for you • If you run another `@istari:twc_extract` job on the model, the extraction will operate on the freshly-committed version. • There is nothing to download; simply re-fetch the model with `updated_model = client.get_model(model.id)` to work with the latest revision inside Istari. ::: :::info Need a full example of the updates array? Scroll down to the section titled “Using the update_tags Function”—the JSON and Python samples there apply unchanged to Teamwork Cloud projects. ::: ## Files Supported The istari Digital Platform can extract from the following file types: `.mdzip` All other Cameo file types not supported at this time. Please submit a feature request if an important file type is not supported. ### Example Files - Download Example TraceabilityModule: AdvancedTraceabilityModule.mdzip - Download Example Requirements: CategorizationRequirements.mdzip ## Setup for Administrators :::info Prerequisites & Setup steps for administrators to configure the Cameo integration with the Istari Digital Platform. ::: Ensure that Cameo Enterprise Architecture or Cameo Systems Modeler (support versions) is installed on a Virtual Machine (VM) or standalone server alongside the Istari Digital Agent and the appropriate Istari Digital software. Verify that the installation is up to date with the latest patches and updates from Dassault. #### License Notes for Admins This integration supports both floating and node-locked licenses. For floating licenses, ensure that the license server is properly configured and accessible from the machine running the Istari Digital Agent. The integration will attempt to check out a license from the first available server in the `server_hosts` list specified in the module configuration file. For node-locked licenses do not include the server_hosts key in module_config.json; the module will use the local license file instead of contacting a server. ### Setup - Module (Version 3.0.0+) :::warning Deprecated Configuration Starting with **cameo-module 3.0.0** and **istari-agent 9.8.0+**, the old configuration variables (`cameo_installation_path`, `server_hosts`, `lmutil_executable_path`, `license_name`) are deprecated. While they remain supported for backward compatibility, we strongly encourage using the new standardized configuration variables and the centralized `istari_digital_agent_module_configurations` approach for module configuration. ::: #### Centralized Configuration (Recommended) The Istari Agent is configured via the file `istari_digital_config.yaml`. The Agent expects the file to be located at: - `%LOCALAPPDATA%\istari_digital\` on Windows - `~/.config/istari_digital/` on RHEL/Ubuntu Configure the Cameo module using the `istari_digital_agent_module_configurations` section. The agent will pass this centralized configuration to the module. Note that Cameo supports version-specific configuration: ```yaml agent: istari_digital_agent_module_configurations: "@istari:dassault_cameo": "2021x-refresh2": "dassault_cameo_install_dir": "/path/to/cameo/2021x/installation/dir" "dassault_cameo_license_server_hosts": ["27000@localhost", "28000@secondary.server.com"] # optional "dassault_cameo_license_manager_executable_path": "/path/to/lmutil/executable" # optional "dassault_cameo_license_name": "CameoEnterpriseArchitectureEnt" # optional "2022x-refresh2": "dassault_cameo_install_dir": "/path/to/cameo/2022x/installation/dir" "dassault_cameo_license_server_hosts": ["27000@localhost", "28000@secondary.server.com"] # optional "dassault_cameo_license_manager_executable_path": "/path/to/lmutil/executable" # optional "dassault_cameo_license_name": "CameoEnterpriseArchitectureEnt" # optional "2024x-refresh2": "dassault_cameo_install_dir": "/path/to/cameo/2024x/installation/dir" "dassault_cameo_license_server_hosts": ["27000@localhost", "28000@secondary.server.com"] # optional "dassault_cameo_license_manager_executable_path": "/path/to/lmutil/executable" # optional "dassault_cameo_license_name": "CameoEnterpriseArchitectureEnt" # optional ``` #### Legacy Configuration (module_config.json) For backward compatibility, you can still use the legacy `module_config.json` file located at `{istari_agent_dir}\istari_modules\dassault_cameo\cameo_module_{version}\app\resources\module_config.json`: ```json { "dassault_cameo_install_dir": "/path/to/cameo/installation/dir", "dassault_cameo_license_server_hosts": ["27000@localhost", "28000@secondary.server.com"], "dassault_cameo_license_manager_executable_path": "/path/to/lmutil/executable", // optional "dassault_cameo_license_name": "CameoEnterpriseArchitectureEnt" // optional } ``` :::caution This file contains essential configuration parameters for the module to function correctly. ::: ### Configuration Parameters Each configuration parameter serves a specific purpose: - **`dassault_cameo_install_dir`**: Specifies the absolute path where Cameo is installed on the machine. This is required for the module to locate and interact with the Cameo software. - **`dassault_cameo_license_server_hosts`**: (Optional) An array of license server connection strings, each in the format `"PORT@SERVER"` (e.g., `["27000@localhost", "28000@secondary.server.com"]`). If not provided, the module will use the default configured license server or node-locked license. The module will attempt to check out a license from the first available server in the list. - **`dassault_cameo_license_manager_executable_path`**: (Optional) Path to the `lmutil` executable for floating license management. If not provided, defaults to `/lib/lmutil.exe`. - **`dassault_cameo_license_name`**: (Optional) The license name to check out. If not provided, defaults to `"CameoEnterpriseArchitectureEnt"`. ## Function Coverage and Outputs The Cameo software can produce a number of artifacts extracted from the Cameo model. The table below describes each output artifact and its type. :::info **New Enhancement:** The @istari:extract function now includes Tags, Stereotypes, and Profiles for Blocks and Requirements. This helps users easily identify available tags and stereotypes for use with the `update_tags` function. ::: | Route | Coverage | Artifact Content Example | | :-------------------------------- | :------: | :------------------------------------------------------------------------------- | | **Function: @istari:extract:** | Yes | | | Extract all diagrams - PNG | | | | Extract cameo blocks - JSON | | | | Extract cameo requirements - JSON | | | | **Function: @istari:update_tags:**| Yes | | | Input - `update_tags_input` - JSON| | | ## Detailed SDK Reference #### Prerequisite: Install Istari Digital SDK and initialize Istari Digital Client per instructions [here](/developers/SDK/setup) ### Step 1: Upload and Extract the File(s) #### Upload the file as a model ```python model = client.add_model( path="example.mdzip", description="Cameo example model", display_name="Cameo Model Name", ) print(f"Uploaded base model with ID {model.id}") ``` #### Extract once you have the model ID ```python extraction_job = client.add_job( model_id = model.id, function = "@istari:extract", tool_name = "dassault_cameo", tool_version = "2022x Refresh2", operating_system = "Windows 10", ) print(f"Extraction started for model ID {model.id}, job ID: {extraction_job.id}") ``` Please choose appropriate tool_name, tool_version, and operating_system for your installation of this software.
Above is an example of how to call the function ### Step 2: Check the Job Status ```python extraction_job.poll_job() ``` ### Step 3: Retrieve Results #### Example ```python for artifact in model.artifacts: output_file_path = f"c:\\extracts\\{artifact.name}" if artifact.extension in ["txt", "csv", "md", "json", "html"]: with open(output_file_path, "w") as f: f.write(artifact.read_text()) else: with open(output_file_path, "wb") as f: f.write(artifact.read_bytes()) ``` ## Using the update_tags Function The `update_tags` function allows users to programmatically update, append, or clear stereotype tagged-values (attributes/metadata) on elements within Cameo models. This is particularly useful for digital thread workflows where results from Istari Digital Platform workflows need to be saved back into Cameo Enterprise Architecture. ### Function Overview - **Function Name:** `@istari:update_tags` - **Tool Name:** `dassault_cameo` - **Supported Versions:** `2021x Refresh2`, `2022x Refresh2`, `2024x Refresh2` - **Supported OS:** `Windows 10 / 11`, `Windows Server 2019 / 2022` :::info Note: The `update_tags` function supports updating tags on all types of Cameo elements, including Requirements, Blocks, Diagrams, and more. When tags on these elements are updated, any diagrams referencing these elements will automatically reflect the updated tag values upon opening the updated model in Cameo. ::: ### Input JSON Schema The input JSON file specifies the elements and tags you want to update. Each JSON object in the array represents one element to update: ```json [ { "element_id": "_2021x_2_38b206bc_1744829804820_164896_3864", "replace_existing": true, "tags": { "VerificationStatus": "Fail", "Logs": null } } ] ``` Schema Explanation: - `element_id` (string, optional): Internal Cameo element ID. Recommended when element names are not unique. - `element_name` (string, optional): Human-readable name of the element. Either element_id or element_name is required. - `replace_existing` (boolean, optional, default=true): - `true`: Overwrites existing tag values. - `false`: Appends to multi-valued tags without overwriting existing values. - `tags` (object, required): Key-value pairs representing the tags to update. - Set a tag value to null to clear it. ### Example #### Here's a complete example of how to use the update_tags function with the Istari Digital SDK: #### Step 1: Upload the Cameo Model ```python model = client.add_model( path="Table Example.mdzip", ) print(f"Uploaded model with ID {model.id}") ``` #### Step 2: Define the Update Parameters ```python updates = [ # Example 1: Replace existing tags (default behavior) { # Using element_id for precise targeting "element_id": "_2024x_2_abc12345_1750033427003_556537_1234", "tags": { "VerificationStatus": "Verified", "Priority": "High", "Owner": "John Doe" } }, # Example 2: Append to a multi-valued tag without overwriting existing values { # Using element_name for readability (ensure uniqueness) "element_name": "System Requirement - Battery Life", "replace_existing": False, # explicitly set to False to append "tags": { "RelatedDocuments": "Battery_Specifications_v2.pdf" } }, # Example 3: Clear existing tags by setting their values to null { "element_id": "_2024x_2_def67890_1750033427003_556537_5678", "tags": { "DeprecatedTag": None, # clears the existing value "ObsoleteReference": None } }, # Example 4: Mixed operation (replace some tags, clear others) { "element_name": "Subsystem Block - Navigation", "tags": { "Status": "In Progress", # replaces existing value "LastReviewed": None # clears existing value } }, # Example 5: Append multiple values to multi-valued tags { "element_id": "_2024x_2_xyz98765_1750033427003_556537_4321", "replace_existing": False, "tags": { "Stakeholders": ["Alice Smith", "Bob Johnson"], # appends multiple stakeholders "ReviewDates": ["2024-01-15", "2024-02-20"] # appends multiple dates } } ] ``` Explanation of Examples: - **Example 1 (Replace by Default):** - Updates the tags VerificationStatus, Priority, and Owner. Existing values are overwritten. - **Example 2 (Append):** - Adds a new document reference to the multi-valued tag RelatedDocuments without removing existing references. - **Example 3 (Clear Tags):** - Clears the values of tags DeprecatedTag and ObsoleteReference by setting them explicitly to None. - **Example 4 (Mixed Operation):** - Updates the tag Status with a new value and clears the tag LastReviewed. - **Example 5 (Append Multiple Values):** - Appends multiple new entries to multi-valued tags Stakeholders and ReviewDates. #### Step 3: Run the Update Job ```python job = client.add_job( model_id=model.id, function="@istari:update_tags", tool_name="dassault_cameo", tool_version="2022x Refresh2", operating_system="Windows 11", parameters={"updates": updates} ) print(f"Update job started, job ID: {job.id}") ``` #### Step 4: Check Job Status & Retrieve Results ```python from time import sleep from istari_digital_client import JobStatusName # Wait for the job to complete while True: job_status = client.get_job(job.id).status.name print(f"Current job status: {job_status}") if job_status in (JobStatusName.COMPLETED, JobStatusName.FAILED): break sleep(5) # Retrieve final job status job = client.get_job(job.id) if job.status.name == JobStatusName.COMPLETED: print(f"Update job {job.id} completed successfully!") # Retrieve the updated model version created by the update_tags function updated_model = client.get_model(job.model.id) else: print(f"Update job {job.id} failed with status: {job.status.name.value}") ``` ## Troubleshooting 1. For general Agent and Software Troubleshooting [Click Here](/integrations/troubleshooting) 2. **Missing Artifacts:** - 2.1 requirements.json: Check source file, are there requirements in the file? If not, refer to the software's manual for defining appropriate requirements. - 2.2 diagram.png: Check source file, does it contain any diagram? 3. **Issues with update_tags function:** - Ensure the `element_id` or `element_name` matches exactly what's in the Cameo model. - Verify that the tags, stereotypes, and profiles exist in the model. - Check the JSON schema carefully for syntax errors. 4. **TWC authentication errors** • Verify `auth_secret.json` path and that it is attached with `relationship_identifier="twc_auth_login"`. • Confirm the username/password by logging into TWC Web with the same credentials. 5. **Cannot find project** • Double-check `project_id` or `project_name` and `server_name` in the metadata file. • If copied the `project_name` from URL, remember to convert `+` to spaces. ## FAQ - Is this usable for other versions of Cameo Enterprise Architecture? - Backwards compatibility with older versions of Cameo is not guaranteed and is [not recommended by Dassault](https://docs.nomagic.com/display/MD2022x/Forward+compatibility). - Can I use `update_tags` to clear existing tags? - Yes. Set the tag value to `null` in your input JSON to clear the tag. ===== File: content/integrations/04-Solvers/01-matlab.mdx ===== import ArtifactViewer from "@site/src/components/ArtifactViewer"; import Ds from "@site/src/components/Styling"; import SupportedFunctions from "@site/src/components/SupportedFunctions"; # MATLAB **Note**: Users must procure and maintain valid licenses to integrate this commercial DE tool with the Istari Digital platform. Please contact your local IT administrator for assistance. ## **Supported Functions**: extract ## Getting Started The Matlab integration provides support for MATLAB R2023b, allowing users to extract data and run MATLAB scripts. ## Methods to Link to Istari Digital Platform #### Upload: Yes #### Link: No ## Files Supported The istari Digital Platform can extract from the following file types: `.m` All other MATLAB file types not supported at this time. Please submit a feature request if an important file type is not supported. ### Example Files Download Example Script: example_script.m ## Setup for Administrators Ensure that MATLAB is installed on a machine with Istari Digital Agent and appropriate Istari Digital Software. Verify that the installation is up to date with the latest patches and updates from MATLAB. ## Version Compatibility This software was tested with MATLAB R2023b, and is intended to run in a Linux or Windows environment. It may work on similar Matlab versions near R2023. It was tested on a Linux Ubuntu 22.04 and a Windows 11 Virtual Machine (VM). ## Function Coverage and Outputs The MATLAB software can produce a number of artifacts extracted from the MATLAB script. The table below describes each output artifact and its type. | Route | Coverage | Artifact Content Example | | :-------------------------------------- | :------------------: | :-------------------------------------------------------------------------------- | | Extract figures - PNG | Yes | | | Extract input variables - JSON | Yes | | | Extract output variables - JSON | Yes | | | Extract functions - JSON | Yes | | | Extract metadata - JSON | Yes | | | Extract errors and warnings - JSON | Yes | | | Extract workspace file - MAT | Yes | | | Update extracted inputs - JSON | Coming Soon | Coming Soon | ## Tips and tricks for model extraction and Reuse To ensure the `extract` function from our module operates effectively with your MATLAB script, follow these guidelines when setting up your script. ### 1. Define Input Variables in a Dictionary At the beginning of your MATLAB script, define all the input variables you intend to use in the script. These variables should be stored in a dictionary named `istari_input`. Assign each variable to the dictionary using `@()` function handles. Here's how you can structure your input variables and the `istari_input` dictionary: ```matlab % Inputs A = [1.0, 2.5, 3.7]; B = [4.1, 5.2, 6.3]; % Example additional variable singleArray = [7.4, 8.5, 9.6]; complexNum = 2 + 3i; structVar = struct('field1', 1, 'field2', 'text', 'field3', [1, 2, 3]); cellArray = {'text', 123, true}; % Creating istari_input dictionary istari_input = dictionary(); istari_input('A') = @() A; istari_input('B') = @() B; istari_input('singleArray') = @() singleArray; istari_input('complexNum') = @() complexNum; istari_input('structVar') = @() structVar; istari_input('cellArray') = @() cellArray; ``` ### 2. Define Output Variables in a Dictionary After the script has run, capture all the output variables and store them in a dictionary named istari_output. This ensures that all relevant outputs are available for extraction. Here's an example of how to structure your output variables and the `istari_output` dictionary: ```matlab % Outputs resultArray = [10, 20, 30]; % Example output variable calculatedSum = sum(resultArray); % Another example output % Creating istari_output dictionary istari_output = dictionary(); istari_output('resultArray') = @() resultArray; istari_output('calculatedSum') = @() calculatedSum; ``` Make sure to assign the output variables to the `istari_output` dictionary using `@()` function handles at the point in your script where the variable results are desired and available. All defined functions shall be defined at the end of the script as per MATLAB syntax. ### 3. Specify the matlab script Start Line Identify the line number in your script where the script starts. This line number is crucial as it should be passed as an argument to the `extract` function to ensure accurate extraction of script data. For example, if your script starts at line **20**, you will pass this line number when calling the `extract` function: ```matlab % The number of this line (e.g., 20) should be passed as an argument to the `extract` function ``` ### 4. Example MATLAB Script Below is an example of how your MATLAB script might look: ```matlab % Inputs A = [1.0, 2.5, 3.7]; B = [4.1, 5.2, 6.3]; singleArray = [7.4, 8.5, 9.6]; complexNum = 2 + 3i; structVar = struct('field1', 1, 'field2', 'text', 'field3', [1, 2, 3]); cellArray = {'text', 123, true}; % Creating istari_input dictionary istari_input = dictionary(); istari_input('A') = @() A; istari_input('B') = @() B; istari_input('singleArray') = @() singleArray; istari_input('complexNum') = @() complexNum; istari_input('structVar') = @() structVar; istari_input('cellArray') = @() cellArray; % Script starts here % (Replace the following line with your actual script code) simulate_system(); % Example script function % Outputs resultArray = [10, 20, 30]; calculatedSum = sum(resultArray); % Creating istari_output dictionary istari_output = dictionary(); istari_output('resultArray') = @() resultArray; istari_output('calculatedSum') = @() calculatedSum; % The number of the line where 'simulate_system()' is called should be passed as an argument to the `extract` function ``` ### Notes - **Function Handles**: Using `@()` function handles in the `istari_input` dictionary ensures that the variables are evaluated at the time of extraction, capturing their latest values after any prior modifications in the script. - **Line Number Accuracy**: It's important to keep the line number accurate. If you add or remove lines in your script, update the line number accordingly when calling the `extract` function. By following these steps, you can optimize your MATLAB script for seamless integration with our module's extraction functionality. ## Detailed SDK Reference #### Prerequisite: Install Istari Digital SDK and initialize Istari Digital Client per instructions [here](/developers/SDK/setup) ### Step 1: Upload and Extract the File(s) #### Upload the file as a model ```python model = client.add_model( path="example_script.m", description="Matlab example script", display_name="Matlab Model Name", ) print(f"Uploaded base model with ID {model.id}") ``` #### Extract once you have the model ID ```python extraction_job = client.add_job( model_id = model.id, function = "@istari:extract", tool_name = "matlab", tool_version = "R2023b", operating_system = "Ubuntu 22.04", parameters = {"checkpoint_line": 43}, ) print(f"Extraction started for model ID {model.id}, job ID: {extraction_job.id}") ``` Please choose appropriate tool_name, tool_version, and operating_system for your installation of this software.
Above is an example of how to call the function ### Step 2: Check the Job Status ```python extraction_job.poll_job() ``` ### Step 3: Retrieve Results #### Example ```python for artifact in model.artifacts: output_file_path = f"c:\\extracts\\{artifact.name}" if artifact.extension in ["txt", "csv", "md", "json", "html"]: with open(output_file_path, "w") as f: f.write(artifact.read_text()) else: with open(output_file_path, "wb") as f: f.write(artifact.read_bytes()) ``` ## Troubleshooting 1. For general Agent and Software Troubleshooting [Click Here](/integrations/troubleshooting) 2. **Missing Artifacts**: If certain artifacts or parts of an artifact are missing after extraction (e.g., `inputs.json` or `outputs.json`), this typically indicates that the MATLAB script is not fully configured according to the optimal standards. **Suggested Action**: - Review the **[ Tips and tricks for model extraction and Reuse](#tips-and-tricks-for-model-extraction-and-reuse)** section for guidance on setting up the script correctly. - Verify that all input variables are defined in the `istari_input` dictionary and are assigned using `@()` function handles. - Ensure that the line number specified for the start of the script in the `extract` function is accurate. 3. **Errors in the MATLAB Script**: If there are syntax errors or runtime errors in the MATLAB script, the extraction process will fail. **Suggested Action**: - Review the error logs provided in the `errors_and_warnings.json` file to identify the source of the issue. - Run the MATLAB script independently to ensure there are no errors or undefined variables. - Correct any errors in the script before attempting extraction again. 4. **Inconsistent Extraction Results**: If the extracted results vary between runs, it might be due to changes in the script or model that are not reflected in the `istari_input` dictionary. **Suggested Action**: - Ensure that the `istari_input` dictionary is defined at the start of the script and contains all necessary input variables. - Verify that the values of the input variables are updated consistently before extraction. By following these troubleshooting steps, you can resolve common issues that may arise during the MATLAB script extraction process. ## FAQ ===== File: content/integrations/04-Solvers/02-simulink.mdx ===== import ArtifactViewer from "@site/src/components/ArtifactViewer"; import SupportedFunctions from "@site/src/components/SupportedFunctions"; # Matlab Simulink **Note**: Users must procure and maintain valid licenses to integrate this commercial DE tool with the Istari Digital platform. Please contact your local IT administrator for assistance. ## **Supported Functions**: extract run ## Getting Started The Simulink integration provides support for MATLAB SIMULINK, allowing users to extract data from and run MATLAB SIMULINK simulations. ## Methods to Link to Istari Digital Platform #### Upload: Yes #### Link: No ## Files Supported The Istari DigitalPlatform can extract from the following file types: `.slx` Other SIMULINK simulation file types not supported at this time. Please submit a feature request if an important file type is not supported. ### Example Files Download Example Simulation: example_simulation.slx ## Setup for Administrators Ensure that MATLAB and SIMULINK are installed on a machine with Istari Digital Agent and appropriate Istari Digital Software. Verify that the installation is up to date with the latest patches and updates from MATLAB. ## Version Compatibility The Simulink software can produce a number of artifacts extracted from the SIMULINK model. The table below describes each output artifact and its type. ## Function Coverage and Outputs The SIMULINK software can produce a number of artifacts extracted from the SIMULINK model. The table below describes each output artifact and its type. | Route | Coverage | Artifact Content Example | | :-------------------------------------- | :------: | :------------------------------------------------------------------------------------------- | | Extract global model image - PNG | Yes | | | Extract input block parameters - JSON | Yes | | | Extract global model parameters - JSON | Yes | | | Extract workspace variables - JSON | Yes | | | Extract subsystems - JSON | Yes | | | Extract non-time varying results - JSON | Yes | | | Extract time varying results - CSV | Yes | | | Extract scope figures - PNG | Yes | | | Extract errors and warnings - JSON | Yes | | ### Multiple Input File Support The module supports executing a MATLAB `.m` initialization script before running the simulation through the SDK. This script allows for workspace population, setting up necessary variables, and ensuring a controlled simulation environment. ### Specifying Stop-Time When running a simulation, users can specify a stop-time to control the simulation duration. This ensures more granular control over simulation execution. If no value is passed, the value set in the model is used. If that value is infinity, then a default value of 10 seconds is used. ## Tips and tricks for model extraction and Reuse This section will guide users through creating a Simulink model for optimal interaction with the provided software (SDK/platform). Some artifacts supported for extraction from the Simulink model requires specific steps. ### **Defining Model Workspace Variables** Model Workspace Variables are essential for setting simulation parameters that are independent of MATLAB's Base Workspace. These variables must be created prior to running the simulation. ### _Steps_: 1. **Open the Simulink Model:** - Open your `.slx` file in Simulink. 2. **Open the Model Explorer:** - Navigate to the **Modeling** tab and click on **Model Explorer**. - Alternatively, use the keyboard shortcut `Ctrl + H` or go to **View > Model Explorer**. 3. **Select the Model Workspace:** - In the Model Explorer, locate your model in the hierarchical list on the left, and select **Model Workspace** under the model name. 4. **Create a Variable:** - In the top pane, right-click and select **Add > Variable**. - Specify the **Name**, **Value**, and **Data Type** for the variable. - You can define arrays, structures, or more complex data types if needed. 5. **Save the Model:** - Click **Apply** and **OK** to save the changes. The variables are now defined in the Model Workspace and are ready for use by the blocks in your model and for extraction.
Figure 1: Defining Model Workspace Variables

### **Modifying the Model to Log Selected Signals** To log signals in a Simulink model, follow these steps to configure the signals appropriately: ### _Steps_: 1. **Open the Simulink Model:** - Open your `.slx` file in Simulink. 2. **Navigate to Signal Logging Settings:** - Go to the **Modeling** tab and select **Model Settings**. - In the **Configuration Parameters** window, navigate to the **Data Import/Export** section. 3. **Ensure Default Settings for Data Import/Export:** - In the **Data Import/Export** section, make sure these items are ticked: - Time - States - Output - Signal Logging - Data Stores - This configuration ensures that the simulation outputs are correctly saved to the workspace and can be utilized by the `run` function. - 5. **Save and Apply Changes:** - Click **Apply** and then **OK** to save the changes and close the **Configuration Parameters** window.
Figure 2: Maintain the Default Values for Data Import/Export Settings
4. **Select Signals for Logging:** - In the **Signal Logging Selector** window, you can choose specific signals by clicking on the checkboxes next to each signal name. - If you need to log a time-varying signal, ensure it is connected to a source that changes over time, such as a **Sine Wave** or **Signal Builder** block. - For non-time-varying signals, connect it to a constant source, such as a **Constant** or **Gain** block. 5. **Verify Signal Logging Configuration:** - Ensure that the selected signals are marked with a logging indicator (a blue symbol or highlighted in blue) in the model to confirm successful configuration.
Figure 3: Selecting Signals for Logging in Simulink
## Detailed SDK Reference #### Prerequisite: Install Istari Digital SDK and initialize Istari Digital Client per instructions [here](/developers/SDK/setup) ### Step 1: Upload, Extract, and Run the File(s) #### Upload the file as a model ```python slx_model = client.add_model( path="simulation.slx", description="Simulink example model", display_name="Simulink model name", ) matlab_script = client.add_model( path="script.m", description="Matab example script", display_name="Script name", ) print(f"SLX file uploaded as model {slx_model.id}") print(f"M file uploaded as model {matlab_script.id}") ``` #### Extract using the Simulink model ID ```python extraction_job = client.add_job( model_id = slx_model.id, function = "@istari:extract", tool_name = "matlab", tool_version = "R2023b", operating_system = "Ubuntu 20.04", ) print(f"Extraction started for model ID {model.id}, job ID: {extraction_job.id}") ``` #### Run simulation using the Simulink model ID and Matlab script ID ```python m_source = NewSource(revision_id=matlab_script.revision.id, relationship_identifier="script") run_simulation_job: Job = client.add_job( model_id= slx_model.id, function="@istari:run_simulink", tool_name="matlab", operating_system="Windows 10", parameters= {"stop_time": 60}, sources=[m_source] ) print(f"Created job {run_simulation_job.id}") print(f" > Model ID: {run_simulation_job.model.id}") print(f" > Function: {run_simulation_job.function.name}") print(f" > Tool Name: {run_simulation_job.function.tool_name}") print(f" > Tool Version: {run_simulation_job.function.tool_versions[0].tool_version}") print(f" > Operating System: {run_simulation_job.function.operating_systems[0].name}") ``` Please choose appropriate tool_name, tool_version, and operating_system for your installation of this software.
Above is an example of how to call the function ### Step 2: Check the Job Status ```python extraction_job.poll_job() ``` ### Step 3: Retrieve Results #### Example ```python for artifact in slx_model.artifacts: output_file_path = f"c:\\extracts\\{artifact.name}" if artifact.extension in ["txt", "csv", "md", "json", "html"]: with open(output_file_path, "w") as f: f.write(artifact.read_text()) else: with open(output_file_path, "wb") as f: f.write(artifact.read_bytes()) ``` ## Troubleshooting 1. For general Agent and Software Troubleshooting [Click Here](/integrations/troubleshooting) 2. **Missing Artifacts:** If certain artifacts or part(s) of an artifact are missing after extraction (e.g., `workspace_variables.json`, `non_time_varying_signals.json`, or `scope_figures`), this typically indicates that the Simulink model is not fully configured according to the optimal standards. **Suggested Action:** - Review the [ Tips and tricks for model extraction and Reuse](#tips-and-tricks-for-model-extraction-and-reuse) section for guidance on setting up the model correctly. - Ensure that all relevant workspace variables and signals are defined and logged in the model as specified. 3. **Incorrect or Missing Workspace Variables:** - If the parameter values in the extracted files do not match the expected results, check if the model’s **Model Workspace** and **Base Workspace** have conflicting variable names. Rename the conflicting variables and try running the extraction again. 4. **Simulation Failures During `run`:** - Ensure that the simulation’s start and stop times are appropriate for the model being used. - If the simulation fails, recheck the model’s configuration to ensure there are no missing signals or incorrectly configured scopes. Any error messages causing the run to fail are likely outlined in the `error_warnings.txt` file produced by the `extract` function. For more information, please refer to the [Tips and tricks for model extraction and Reuse](#tips-and-tricks-for-model-extraction-and-reuse) or contact the Istari Digital support team. ## FAQ ===== File: content/integrations/04-Solvers/03-msc-nastran.mdx ===== import ArtifactViewer from "@site/src/components/ArtifactViewer"; import SupportedFunctions from "@site/src/components/SupportedFunctions"; # MSC Nastran Simulation **Note**: Users must procure and maintain valid licenses to integrate this commercial DE tool with the Istari Digital platform. Please contact your local IT administrator for assistance. ## **Supported Functions**: run

The Nastran Module provides functions for running nastran data files and writing paths of the simulation outputs to a json file. The following tables lists the functions currently supported by the Nastran Module:
Function Name Description Required Parameters Optional Model Inputs Optional Parameters Example Input
run Perform a simulation using MSC Nastran on the data file. The `bdf` and `dat` file extensions are supported. model_id None None "input_arguments": \{\}
## Getting Started The MSC Nastran integration allows users to run Finite Element simulations with MSC Nastran ## Methods to Link to Istari Digital Platform #### Upload: Yes #### Link: No ## Files Supported The istari Digital Platform can extract from the following file types: - `.bdf` - `.dat` All other NASTRAN file types not supported at this time. Please submit a feature request if an important file type is not supported. ### Example Files - Download Example: annular_plate.bdf - Download Example: invalid_beam.bdf ## Setup for Administrators Ensure that MSC Nastran 2023.4 is installed on a Virtual Machine (VM) with Istari Ditigal Agent and appropriate Istari Digital Software.
Verify that the installation is up to date with the latest patches and updates. ## Version Compatibility The MSC Nastran integration has been tested with MSC Nastran 2023.4 ## Function Coverage and Outputs The MSC Nastran module can collect a number of results and logs produced by the Nastran simulation. The table below describes each output artifact and its type.
Note: This is just a sampling of the types of files that Nastran can produce.
Route Coverage Description Artifact Content Example
Results - `.op2` Yes This is the main MSC Nastran output file MACHINE readable. Used by post processing programs like Patran.
Results - `.f06` Yes This is the main MSC Nastran output file HUMAN readable. It contains the results of your analysis (such as displacements and stresses). It is in ASCII format so it can be viewed in any text editor. It also contains warning messages, error messages, and diagnostic messages to help you evaluate the quality of the analysis results.
Execution Summary - `.f04` Yes Contains a time history of job execution.
Input/Output - `.h5` Yes It is a data model, library, and file format for storing and managing data. It supports an unlimited variety of data types, and is designed for flexible and efficient I/O and for high volume and complex data.
Output - `.log` Yes Job log file.
Output - `.pch` Yes Punch file. Not Available
Output - `.plt/.ps` Yes Binary plot file(.plt). FMS statement ASSIGN PLOT=* FORM=FORMATTED in the submittal job, Nastran will produce a `.ps` (post script file) which may be converted to a `.pdf` by appropriate apps... Not Available
## Detailed SDK Reference #### Prerequisite: Install Istari Digital SDK and initialize Istari Digital Client per instructions [here](/developers/SDK/setup) ### Step 1: Upload and Extract the File(s) #### Upload the file as a model ```python model = client.add_model( path="example.bdf", description="Nastran Simulation example model", display_name="Nastran Simulation Model Name", ) print(f"Uploaded base model with ID {model.id}") ``` #### Perform a simulation using MSC Nastran input file once you have the model ID ```python simulation_job = client.add_job( model_id = model.id, function = "@istari:run", tool_name = "msc_nastran", tool_version = "2023.4", operating_system = "Windows 10", ) print(f"Extraction started for model ID {model.id}, job ID: {simulation_job.id}") ``` Please choose appropriate function, tool_name, tool_version, and operating_system for your installation of this software.
Above is an example of how to call the function ### Step 2: Check the Job Status ```python extraction_job.poll_job() ``` ### Step 3: Retrieve Results #### Example ```python for artifact in model.artifacts: output_file_path = f"c:\\extracts\\{artifact.name}" with open(output_file_path, "wb") as f: f.write(artifact.read_bytes()) ``` ## Troubleshooting 1. For general Agent and Software Troubleshooting [Click Here](/integrations/troubleshooting) ## FAQ ===== File: content/integrations/04-Solvers/04-nastran-extraction.mdx ===== import ArtifactViewer from "@site/src/components/ArtifactViewer"; import SupportedFunctions from "@site/src/components/SupportedFunctions"; # Nastran Extraction **Note**: Users must procure and maintain valid licenses to integrate this commercial DE tool with the Istari Digital platform. Please contact your local IT administrator for assistance. ## **Supported Functions**: extract

The following table lists the extract functions currently supported by the Nastran:
Function Name Description Required Parameters Optional Model Inputs Optional Parameters Example Input
extract_input Extract model summary information from a Nastran input file. Supported file extensions include `bdf` and `dat`. model_id None None "input_arguments": \{\}
extract_results Extract results summary information from Nastran output. `op2` format files are supported model_id `bdf` input model for generating model views with color contours representing analysis results. 1) node-set
2) element-set
"input_arguments": \{model_id\}
## Getting Started The Nastran extraction integration provides functions for extracting data from Nastran input models and results. ## Methods to Link to Istari Digital Platform #### Upload: Yes #### Link: No ## Files Supported The istari Digital Platform can extract from the following file types: - `.bdf` - `.op2` - `.dat` All other Nastran file types not supported at this time. Please submit a feature request if an important file type is not supported. ### Example Files - Download for extract_input Example: annular_plate.bdf - Download for extract_results Example: annular_plate.op2 - Download to verify generation of a tecplot data file: tecplot_examples.dat ## Setup for Administrators All required Python modules are packaged with the Istari Digital module binary. This project has been tested using python 3.12 and 3.10. #### Environment Supported OS: Linux The module requires OpenGL support for generating model images. The Windows OS generally provides this support. However, AWS Windows workspaces and EC2s do not. An environment variable named `PARAVIEW_HOME` must be set to direct the module to the folder containing the ParaView binaries, presumed to be located at `$PARAVIEW_HOME/bin`. #### Paraview Python Setup The module uses ParaView's local Python interpreter (`$PARAVIEW_HOME/bin/pvpython`) to generate model images. ## Version Compatibility These functions extracts information from Nastran input bulk data format (bdfs) and results (op2) files generated by a variety of pre/post processors and solvers, respectively. Additionally, the module produces rendered images of the model and color contours of op2 results. ## Function Coverage and Outputs The Nastran module software can produce a number of artifacts extracted from the Nastran model. The table below describes each output artifact and its type. | Route | Coverage | Artifact Content Example | | :----------------------------------------------------------------------------- | :----------------------------------------------: | :------------------------------------------------------------------------------------------- | | Extract model summary info | Yes | | | Extract material properties | Yes | | | Extract max/min values for results data | Yes | | | Extract f04 detailed system information and computational and hardware metrics | Planned | | | Extract f06 messages | Planned | | | Extract log information | No | | | Render model mesh | Yes | | | Render color contours of results | Yes | | | Render deformed model with translations | Planned | | ## Detailed SDK Reference #### Prerequisite: Install Istari Digital SDK and initialize Istari Digital Client per instructions [here](/developers/SDK/setup) ### Step 1: Upload and Extract the File(s) #### Upload the file as a model ```python model = client.add_model( path="example.bdf", description="Nastran example model", display_name="Nastran Model Name", ) print(f"Uploaded base model with ID {model.id}") ``` #### Extract model summary information from a Nastran input file once you have the model ID ```python extraction_job = client.add_job( model_id = model.id, function = "@istari:extract_input", tool_name = "nastran_extract", tool_version = "1.0.0", operating_system = "Ubuntu 22.04", ) print(f"Extraction started for model ID {model.id}, job ID: {extraction_job.id}") ``` Please choose appropriate function, tool_name, tool_version, and operating_system for your installation of this software.
Above is an example of how to call the function #### Extract results summary information from Nastran output. Coming Soon! ### Step 2: Check the Job Status ```python extraction_job.poll_job() ``` ### Step 3: Retrieve Results #### Example ```python for artifact in model.artifacts: output_file_path = f"c:\\extracts\\{artifact.name}" with open(output_file_path, "wb") as f: f.write(artifact.read_bytes()) ``` ## Troubleshooting 1. For general Agent and Software Troubleshooting [Click Here](/integrations/troubleshooting) ## FAQ ===== File: content/integrations/04-Solvers/05-ansys_hfss.mdx ===== import ArtifactViewer from "@site/src/components/ArtifactViewer"; import SupportedFunctions from "@site/src/components/SupportedFunctions"; # ANSYS HFSS **Note**: Users must procure and maintain valid licenses to integrate this commercial DE tool with the Istari Digital platform. Please contact your local IT administrator for assistance. ## **Supported Functions**: extract run

The following table lists the extract and simulation functions currently supported by the HFSS:
Function Name Description Required Parameters Optional Model Inputs Optional Parameters Example Input
extract_input Input Extraction function. `aedt` format files are supported. model_id None None "input_arguments": \{\}
extract_results Results Extraction function. `aedtz` format files are supported. model_id None None "input_arguments": \{\}
run Simulation Execution function, `aedt` & `aedtz` format files are supported. model_id None None "input_arguments": \{\}
## Getting Started The HFSS module contains tools for executing HFSS simulations and extracting various input and output data from HFSS models. ## Methods to Link to Istari Digital Platform #### Upload: Yes #### Link: No ## Files Supported The istari Digital Platform can extract from the following file types: - `.aedt` - `.aedtz` All other HFSS file types not supported at this time. Please submit a feature request if an important file type is not supported. ### Example Files ## Setup for Administrators Ensure that ANSYS HFSS 2024 is installed on a Virtual Machine (VM) with Istari Digital Agent and appropriate Istari Digital Software.
Verify that the installation is up to date with the latest patches and updates. ## Version Compatibility This module extracts information from HFSS input data format (aedt) and results (aedtz) files. ## Function Coverage and Outputs The HFSS module software can produce a number of artifacts extracted from the HFSS model. The table below describes each output artifact and its type. | Route | Coverage | Artifact Content Example | | :------------------------------------- | :-----------------------------------------: | :------------------------------------------------------------------------------------------------------- | | Simulation Execution [Messages] - JSON | Yes | | | Simulation Execution [Metrics] - JSON | Yes | | | Extract Input [Messages] - JSON | Yes | | | Extract Input [Inputs] - JSON | Yes | | | Extract Input [Materials] - JSON | Yes | | | Extract Input [OBJ Model View] - OBJ | Yes | | | Extract Results [Messages] - JSON | Yes | | | Extract Results [Results Data] - CSV | Yes | | | Extract Results [Results Plot] - GIF | Yes | | ## Detailed SDK Reference #### Prerequisite: Install Istari Digital SDK and initialize Istari Digital Client per instructions [here](/developers/SDK/setup) ### Step 1: Upload and Extract the File(s) #### Upload the file as a model ```python model = client.add_model( path="example.aedt", description="HFSS example model", display_name="HFSS Model Name", ) print(f"Uploaded base model with ID {model.id}") ``` #### Extract model summary information from a HFSS input file once you have the model ID ```python extraction_job = client.add_job( model_id = model.id, function = "@istari:extract_input", tool_name = "ansys_hfss", tool_version = "2024", operating_system = "Windows 10", ) print(f"Extraction started for model ID {model.id}, job ID: {extraction_job.id}") ``` Please choose appropriate function, tool_name, tool_version, and operating_system for your installation of this software.
Above is an example of how to call the function #### Extract results summary information from HFSS output. ```python extraction_job = client.add_job( model_id = model.id, function = "@istari:extract_results", tool_name = "ansys_hfss", tool_version = "2024", operating_system = "Windows 10", ) print(f"Extraction started for model ID {model.id}, job ID: {extraction_job.id}") ``` Please choose appropriate function, tool_name, tool_version, and operating_system for your installation of this software.
Above is an example of how to call the function #### Run HFSS simulation. ```python extraction_job = client.add_job( model_id = model.id, function = "@istari:run", tool_name = "ansys_hfss", tool_version = "2024", operating_system = "Windows 10", ) print(f"Extraction started for model ID {model.id}, job ID: {extraction_job.id}") ``` Please choose appropriate function, tool_name, tool_version, and operating_system for your installation of this software.
Above is an example of how to call the function ### Step 2: Check the Job Status ```python extraction_job.poll_job() ``` ### Step 3: Retrieve Results #### Example ```python for artifact in model.artifacts: output_file_path = f"c:\\extracts\\{artifact.name}" with open(output_file_path, "wb") as f: f.write(artifact.read_bytes()) ``` ## Troubleshooting 1. For general Agent and Software Troubleshooting [Click Here](/integrations/troubleshooting) ## FAQ ===== File: content/integrations/05-Productivity/01-microsoft_office_excel.mdx ===== import ArtifactViewer from "@site/src/components/ArtifactViewer"; import Ds from "@site/src/components/Styling"; import SupportedFunctions from "@site/src/components/SupportedFunctions"; # Microsoft Office Excel **Note**: Users must procure and maintain valid licenses to integrate this commercial DE tool with the Istari Digital platform. Please contact your local IT administrator for assistance. ## **Supported Functions**: extract update ## Getting Started The Microsoft Office Excel integration provides support for Microsoft Office 2019 and Office 2021, allowing users to read and modify Excel files. ## Methods to Link to Istari Digital Platform #### Upload: Yes #### Link: No ## Files Supported The istari Digital Platform can extract from the following file types: `.xlsx` All other Microsoft Office Excel file types not supported at this time. Please submit a feature request if an important file type is not supported. ### Example Files - Download Example: Excel-test-Large.xlsx - Download Example: IstariOneUAVSpecificationsList.xlsx ## Setup for Administrators Ensure that Microsoft Office Excel 2019 is installed on a Virtual Machine (VM) with Istari Digital Agent and appropriate Istari Digital Software. Verify that the installation is up to date with the latest updates from Microsoft Office 2019. ## Version Compatibility This software was tested with Microsoft Office 2019 and Office 2021, and is intended to run in a Windows environment due to reliance on the Excel application. ## Function Coverage and Outputs The Microsoft Office Excel software can produce a number of artifacts extracted from the Excel model. The table below describes each output artifact and its type. | Route | Coverage | Artifact Content Example | | :-------------------------- | :------: | :------------------------------------------------------------------------------------------------ | | Extract Charts - PNG | Yes | | | Extract Sheets - CSV | Yes | | | Named Cells - JSON | Yes | | | Chart Data - JSON | Yes | | | Worksheet Data - JSON | Yes | | | Extract workbook - PDF | Yes | | | Extract workbook - xlsx | Yes | | | Extract html_workbook - ZIP | Yes | | ## Detailed SDK Reference #### Prerequisite: Install Istari Digital SDK and initialize Istari Digital Client per instructions [here](/developers/SDK/setup) ### Step 1: Upload and Extract the File(s) #### Upload the file as a model ```python model = client.add_model( path="example.xlsx", description="Excel example Model", display_name="Excel Model Name", ) print(f"Uploaded base model with ID {model.id}") ``` #### Extract once you have the model ID ```python extraction_job = client.add_job( model_id = model.id, function = "@istari:extract", tool_name = "microsoft_office_excel", tool_version = "2019", operating_system = "Windows 10", ) print(f"Extraction started for model ID {model.id}, job ID: {extraction_job.id}") ``` Please choose appropriate tool_name, tool_version, and operating_system for your installation of this software.
Above is an example of how to call the function ### Step 2: Check the Job Status ```python extraction_job.poll_job() ``` ### Step 3: Retrieve Results #### Example ```python for artifact in model.artifacts: output_file_path = f"c:\\extracts\\{artifact.name}" if artifact.extension in ["txt", "csv", "md", "json", "html"]: with open(output_file_path, "w") as f: f.write(artifact.read_text()) else: with open(output_file_path, "wb") as f: f.write(artifact.read_bytes()) ``` ## Troubleshooting 1. For general Agent and Software Troubleshooting [Click Here](/integrations/troubleshooting) 2. **Missing Artifacts:** - 2.1 named_cells.json: Check source file, are there named cells in the file? If not, refer to the software's manual for defining appropriate requirements. - 2.2 charts (JSON & PNG): Check source file, does it contain any charts? - 2.3 embedded images: The tool doesn't extract any embedded images. ## FAQ - Is this usable for other versions of Microsoft Office Excel? - Backwards compatibility with older versions of Microsoft Office Excel is not guaranteed. ===== File: content/integrations/05-Productivity/02-open_spreadsheet.mdx ===== import ArtifactViewer from "@site/src/components/ArtifactViewer"; import Ds from "@site/src/components/Styling"; import SupportedFunctions from "@site/src/components/SupportedFunctions"; # Open Spreadsheet **Note**: Users must procure and maintain the applicable open source tools to integrate this DE tool with the Istari Digital platform. Please contact your local IT administrator for assistance. ## **Supported Functions**: extract ## Getting Started The Open Spreadsheet integration allows users to extract data from `.xlsx` files. ## Methods to Link to Istari Digital Platform #### Upload: Yes #### Link: No ## Files Supported The istari Digital Platform can extract from the following file types: `.xlsx` ### Example Files - Download Example: Excel-test-Large.xlsx - Download Example: IstariOneUAVSpecificationsList.xlsx ## Setup for Administrators Ensure that LibreOffice is installed on a Virtual Machine (VM) with Istari Digital Agent and appropriate Istari Digital Software. Verify that the installation is up to date with the latest updates from LibreOffice. ## Version Compatibility This software was tested with LibreOffice, and is intended to run in a Windows or Linux environment. ## Function Coverage and Outputs The Microsoft Office Excel software can produce a number of artifacts extracted from the Excel model. The table below describes each output artifact and its type. | Route | Coverage | Artifact Content Example | | :--------------------------------- | :------: | :------------------------------------------------------------------------------------------------ | | Extract Sheets - CSV | Yes | | | Named Cells - JSON | Yes | | | Worksheet Data - JSON | Yes | | | Extract workbook - PDF | Yes | | | Extract workbook - xlsx | Yes | | | Extract zipped_html_workbook - ZIP | Yes | | | Extract html_workbook - HTML | Yes | | ## Detailed SDK Reference #### Prerequisite: Install Istari Digital SDK and initialize Istari Digital Client per instructions [here](/developers/SDK/setup) ### Step 1: Upload and Extract the File(s) #### Upload the file as a model ```python model = client.add_model( path="example.xlsx", description="Excel example Model", display_name="Excel Model Name", ) print(f"Uploaded base model with ID {model.id}") ``` #### Extract once you have the model ID ```python extraction_job = client.add_job( model_id = model.id, function = "@istari:extract", tool_name = "open_spreadsheet", tool_version = "1.0.0", operating_system = "Ubuntu 22.04", ) print(f"Extraction started for model ID {model.id}, job ID: {extraction_job.id}") ``` Please choose appropriate tool_name, tool_version, and operating_system for your installation of this software.
Above is an example of how to call the function ### Step 2: Check the Job Status ```python extraction_job.poll_job() ``` ### Step 3: Retrieve Results #### Example ```python for artifact in model.artifacts: output_file_path = f"c:\\extracts\\{artifact.name}" if artifact.extension in ["txt", "csv", "md", "json", "html"]: with open(output_file_path, "w") as f: f.write(artifact.read_text()) else: with open(output_file_path, "wb") as f: f.write(artifact.read_bytes()) ``` ## Troubleshooting 1. For general Agent and Software Troubleshooting [Click Here](/integrations/troubleshooting) 2. **Missing Artifacts:** - 2.1 named_cells.json: Check source file, are there named cells in the file? If not, refer to the software's manual for defining appropriate requirements. - 2.2 embedded images: The tool doesn't extract any embedded images. ## FAQ ===== File: content/integrations/05-Productivity/03-word.mdx ===== import ArtifactViewer from "@site/src/components/ArtifactViewer"; import SupportedFunctions from "@site/src/components/SupportedFunctions"; # Microsoft Word **Note**: Users must procure and maintain valid licenses to integrate this commercial DE tool with the Istari Digital platform. Please contact your local IT administrator for assistance. ## **Supported Functions**: extract ## Getting Started The Word integration provides support for Microsoft Office 2019 and 2021 Word, allowing users to extract data from `.docx` files. ## Methods to Link to Istari Digital Platform #### Upload: Yes #### Link: No ## Files Supported The istari Digital Platform can extract from the following file types: `.docx` All other Word file types not supported at this time. Please submit a feature request if an important file type is not supported. ### Example Files Download Example Documents: example_documents.docx ## Setup for Administrators Ensure that Istari Digital Agent and appropriate Istari Digital Software is installed on the machine. ## Version Compatibility This software was tested with Microsoft Office 2019 and Office 2021, and is intended to run in a Windows environment due to reliance on the Word interop assembly. ## Function Coverage and Outputs The Word software can produce a number of artifacts extracted from the Word document. The table below describes each output artifact and its type. | Route | Coverage | Artifact Content Example | | :---------------------------------------- | :------: | :------------------------------------------------------------------------------- | | Extract all text - TXT | Yes | | | Extract paragraphs - TXT | Yes | | | Extract figures and tables - JPEG/PNG/PDF | Yes | | | Extract tables - HTML | Yes | | ## Detailed SDK Reference #### Prerequisite: Install Istari Digital SDK and initialize Istari Digital Client per instructions [here](/developers/SDK/setup) ### Step 1: Upload and Extract the File(s) #### Upload the file as a model ```python model = client.add_model( path="example_document.docx", description="Word example Model", display_name="Word Model Name", ) print(f"Uploaded base model with ID {model.id}") ``` #### Extract once you have the model ID ```python extraction_job = client.add_job( model_id = model.id, function = "@istari:extract", tool_name = "microsoft_office_word", tool_version = "2019", operating_system = "Windows Server 2019", ) print(f"Extraction started for model ID {model.id}, job ID: {extraction_job.id}") ``` Please choose appropriate tool_name, tool_version, and operating_system for your installation of this software.
Above is an example of how to call the function ### Step 2: Check the Job Status ```python extraction_job.poll_job() ``` ### Step 3: Retrieve Results #### Example ```python for artifact in model.artifacts: output_file_path = f"c:\\extracts\\{artifact.name}" if artifact.extension in ["txt", "csv", "md", "json", "html"]: with open(output_file_path, "w") as f: f.write(artifact.read_text()) else: with open(output_file_path, "wb") as f: f.write(artifact.read_bytes()) ``` ## Troubleshooting 1. For general Agent and Software Troubleshooting [Click Here](/integrations/troubleshooting) 2. If experiencing errors while extracting data from the .docx file, test that your file successfully opens in Microsoft Office 2019 and 2021 Word. ## FAQ - **Are macro enabled documents supported?** No, macro enabled documents are not supported. ===== File: content/integrations/05-Productivity/04-powerpoint.mdx ===== import ArtifactViewer from "@site/src/components/ArtifactViewer"; import Ds from "@site/src/components/Styling"; import SupportedFunctions from "@site/src/components/SupportedFunctions"; # Microsoft PowerPoint **Note**: Users must procure and maintain valid licenses to integrate this commercial DE tool with the Istari Digital platform. Please contact your local IT administrator for assistance. ## **Supported Functions**: extract ## Getting Started The PowerPoint integration provides support for Microsoft Office 2019 and 2021 PowerPoint, allowing users to extract data from `.ppt` and `.pptx` files. ## Methods to Link to Istari Digital Platform #### Upload: Yes #### Link: No ## Files Supported The istari Digital Platform can extract from the following file types: `.ppt` `.pptx` All other PowerPoint file types not supported at this time. Please submit a feature request if an important file type is not supported. ### Example Files Download Example Presentation: example_presentation.pptx ## Setup for Administrators Ensure that Istari Digital Agent and appropriate Istari Digital Software is installed on the machine. ## Version Compatibility This software was tested with Microsoft Office 2019 and Office 2021, and is intended to run in a Windows environment due to reliance on the PowerPoint interop assembly. ## Function Coverage and Outputs The PowerPoint software can produce a number of artifacts extracted from the PowerPoint presentation. The table below describes each output artifact and its type. | Route | Coverage | Artifact Content Example | | :------------------------------------- | :------------------: | :-------------------------------------------------------------------------------- | | Extract slides - PNG | Yes | | | Extract slides text - JSON | Yes | | | Extract whole deck - PDF | Yes | | | Extract slides - PDF | Yes | | | Extract slides - PPTX | Yes | | | Extract whole deck - ODP | Yes | | | Extract Embedded Images - PNG | Coming Soon | Coming Soon | ## Detailed SDK Reference #### Prerequisite: Install Istari Digital SDK and initialize Istari Digital Client per instructions [here](/developers/SDK/setup) ### Step 1: Upload and Extract the File(s) #### Upload the file as a model ```python model = client.add_model( path="example_presentation.pptx", description="Powerpoint example Model", display_name="Powerpoint Model Name", ) print(f"Uploaded base model with ID {model.id}") ``` #### Extract once you have the model ID ```python extraction_job = client.add_job( model_id = model.id, function = "@istari:extract", tool_name = "microsoft_office_powerpoint", tool_version = "2019", operating_system = "Windows Server 2019", ) print(f"Extraction started for model ID {model.id}, job ID: {extraction_job.id}") ``` Please choose appropriate tool_name, tool_version, and operating_system for your installation of this software.
Above is an example of how to call the function ### Step 2: Check the Job Status ```python extraction_job.poll_job() ``` ### Step 3: Retrieve Results #### Example ```python for artifact in model.artifacts: output_file_path = f"c:\\extracts\\{artifact.name}" if artifact.extension in ["txt", "csv", "md", "json", "html"]: with open(output_file_path, "w") as f: f.write(artifact.read_text()) else: with open(output_file_path, "wb") as f: f.write(artifact.read_bytes()) ``` ## Troubleshooting 1. For general Agent and Software Troubleshooting [Click Here](/integrations/troubleshooting) 2. If experiencing errors while extracting data from the .ppt or .pptx file, test that your file successfully opens in Microsoft Office 2019 and 2021 PowerPoint. ## FAQ - **Are macro enabled documents supported?** No, macro enabled documents are not supported. ===== File: content/integrations/05-Productivity/05-pdf.mdx ===== import ArtifactViewer from "@site/src/components/ArtifactViewer"; import SupportedFunctions from "@site/src/components/SupportedFunctions"; # Open PDF **Note**: Users must procure and maintain the applicable open source tools to integrate this DE tool with the Istari Digital platform. Please contact your local IT administrator for assistance. ## **Supported Functions**: extract ## Getting Started The Open PDF integration allows users to extract data from `.pdf` files. ## Methods to Link to Istari Digital Platform #### Upload: Yes #### Link: No ## Files Supported The istari Digital Platform can extract from the following file types: `.pdf` ### Example Files Download Example Document: example_document.pdf ## Setup for Administrators Ensure that Istari Digital Agent and appropriate Istari Digital Software is installed on the machine. ## Version Compatibility This software is intended to run in a Windows environment. It was tested on a Windows 11 machine. ## Function Coverage and Outputs The Open PDF software can produce a number of artifacts extracted from the Open PDF document. The table below describes each output artifact and its type. | Route | Coverage | Artifact Content Example | | :--------------------------------- | :------: | :---------------------------------------------------------------------------- | | Extract all text - TXT | Yes | | | Extract text sections - JSON | Yes | | | Extract JSON sections - JSON | Yes | | | Extract document metadata - JSON | Yes | | | Extract seperate pages - PNG | Yes | | | Extract embedded images - PNG/JPEG | Yes | | | Extract seperate pages - PDF | Yes | | | Extract document - HTML | Yes | | ## Detailed SDK Reference #### Prerequisite: Install Istari Digital SDK and initialize Istari Digital Client per instructions [here](/developers/SDK/setup) ### Step 1: Upload and Extract the File(s) #### Upload the file as a model ```python model = client.add_model( path="example_document.pdf", description="Open PDF example Model", display_name="Open PDF Model Name", ) print(f"Uploaded base model with ID {model.id}") ``` #### Extract once you have the model ID ```python extraction_job = client.add_job( model_id = model.id, function = "@istari:extract", tool_name = "open_pdf", tool_version = "1.0.0", operating_system = "Windows Server 2019", ) print(f"Extraction started for model ID {model.id}, job ID: {extraction_job.id}") ``` Please choose appropriate tool_name, tool_version, and operating_system for your installation of this software.
Above is an example of how to call the function ### Step 2: Check the Job Status ```python extraction_job.poll_job() ``` ### Step 3: Retrieve Results #### Example ```python for artifact in model.artifacts: output_file_path = f"c:\\extracts\\{artifact.name}" if artifact.extension in ["txt", "csv", "md", "json", "html"]: with open(output_file_path, "w") as f: f.write(artifact.read_text()) else: with open(output_file_path, "wb") as f: f.write(artifact.read_bytes()) ``` ## Troubleshooting 1. For general Agent and Software Troubleshooting [Click Here](/integrations/troubleshooting) ## FAQ ===== File: content/integrations/05-Productivity/06-google-slides.mdx ===== import ArtifactViewer from "@site/src/components/ArtifactViewer"; import Ds from "@site/src/components/Styling"; import SupportedFunctions from "@site/src/components/SupportedFunctions"; # Google Slides ## **Supported Functions**: extract ## Getting Started The Google Slides integration provides support for Google slides presentations, allowing users to extract data from Google sides presentations. ## Methods to Link to Istari Platform #### Upload: No #### Link: Yes ## Files Supported The Istari platform can extract from URLs of Google slides presentations. ### Example Files - [Example Presentation: Baby album](https://docs.google.com/presentation/d/1EAYk18WDjIG-zp_0vLm3CsfQh_i8eXc67Jo2O9C6Vuc) ## Version Compatibility This software was tested with google.apis.slides.v1. For more information, check the [Google Slides API Documentation](https://developers.google.com/slides/api). ## Function Coverage and Outputs The Google slides module can produce a number of artifacts extracted from Google slides presentation. The table below describes each output artifact and its type. | Route | Coverage | Artifact Content Example | | :-------------------------------------- | :------: | :------------------------------------------------------------------------------ | | Extract slides rendered as images - PNG | Yes | | | Extract slides texts - JSON | Yes | | | Extract slides images - PNG | Yes | | | Extract slides rendered charts - PNG | Yes | | ## Detailed SDK Reference #### Prerequisite: Install Istari SDK and initialize Istari Client per instructions [here](/developers/SDK/setup) ### Step 1: Add and Extract the Presentation(s) #### Add the presentation as a model ```python model = client.add_model( path="presentation_id", description="Google slides example presentation", display_name="Baby album presentation", ) print(f"Added base model with ID {model.id}") ``` #### Extract once you have the model ID ```python extraction_job = client.add_job( model_id = model.id, function = "@istari:extract", tool_name = "google_slides", tool_version = "1.0.0", operating_system = "Windows 10", ) print(f"Extraction started for model ID {model.id}, job ID: {extraction_job.id}") ``` Please choose appropriate tool_name, tool_version, and operating_system for your installation of this software.
Above is an example of how to call the function ### Step 2: Check the Job Status ```python extraction_job.poll_job() ``` ### Step 3: Retrieve Results #### Example ```python for artifact in model.artifacts: output_file_path = f"c:\\extracts\\{artifact.name}" if artifact.extension in ["txt", "csv", "md", "json", "html"]: with open(output_file_path, "w") as f: f.write(artifact.read_text()) else: with open(output_file_path, "wb") as f: f.write(artifact.read_bytes()) ``` ## Setup for Administrators Make sure a Google service account is created, and its credentials file path is specified in module_config.json. The service account must have access to the Google Slides presentation. Place module_config.json in the same directory as the module executable. Below is an example of a module_config.json configuration file for the Google Slides module: ```json { "LogLevel": "INFO", "LogFilePath": "gslides_module.log", "CredentialsFilePath": "config/credentials.json", "ApplicationName": "Google Slides Module", "TokensDirectoryPath": "tokens" } ``` ## Troubleshooting 1. For general Agent and Software Troubleshooting [Click Here](/integrations/troubleshooting) 2. **Missing Artifacts:** - Check if service account credentials are properly referenced and the presentation is accessible by the service account. ## FAQ ===== File: content/integrations/06-SDK/01-general_usage.mdx ===== # General Usage ## Prerequisites: ### Install and Confure Istari Digital SDK: Follow this link for How to: [istari-digital-client Installation](/developers/SDK/setup) ### Example: Upload a model to the Istari platform #### Upload a file as a model ```python model = client.add_model( path="path/to/model/file", description="My model", version_name="v1.0" ) print(f"Uploaded base model with ID {model.id}") ``` ### Example: List and download model artifacts #### Download the latest artifacts for a specified model ```python model = client.get_model(model_id) for artifact in model.artifacts: print(f"- artifact id: {artifact.id}") print(f" revision id: {artifact.revision.id}") print(f" extension: {artifact.extension}") print(f" mime type: {artifact.mime}") print(f" name: {artifact.name}") output_file_path = f"c:\\extracts\\{artifact.name}" if artifact.extension in ["txt", "csv", "md", "json", "html", "obj"]: with open(output_file_path, "w") as f: f.write(artifact.read_text()) else: with open(output_file_path, "wb") as f: f.write(artifact.read_bytes()) ``` ### Example: Retrieve existing model ID ===== File: content/integrations/06-SDK/02-foundation_functions.mdx ===== # Foundation Functions Each module supports a variety of functions for querying, modifying and extracting model data. These functions are specific to each module and customized for the type of operations relevant to the associated models. ## Detailed SDK Usage #### Prerequisite: Install Istari SDK and initialize Istari Client per instructions [here](01-general_usage.mdx) ### Example: General model extraction function #### Demonstrates extraction of standard model data from a 3DExperience model ```python extraction_job = client.add_job( model_id = model.id, function = "@istari:extract", tool_name = "dassault_3dexperience", tool_version = "2023x", operating_system = "Windows 11", ) print(f"Extraction started for model ID {model.id}, job ID: {extraction_job.id}") ``` ### Example: List model parameters #### List all (model and user) parameters in a 3DExperience model This example demonstrates calling a module function that requires input parameters ```python job = client.add_job( model_id = model.id, function = "@istari:extract_parameters", tool_name = "dassault_3dexperience", tool_version = "2023x", operating_system = "Windows 11", parameters = '{"full_extract": true}' ) ``` ### Example: Check a job status #### Wait for a specified job to finish and print job status ```python extraction_job.poll_job() ``` ===== File: content/integrations/06-SDK/03-multi_functions.mdx ===== # Multi Functions Multi functions can be used to string multiple functions together and control execution in more complex workflows. | Multi Function | Description | Supported Integration | | ------------------ | -------------------------------------------------------------------- | --------------------------------------------- | | **Batch Execute** | Executes a specified list of functions serially | `dassault_3dxperience`, `ptc_creo_parametric` | | **Variable Sweep** | Executes a specified function for each set of variable values listed | `dassault_3dxperience` | This list will continue to be expanded with other types of numerical algorithms. Note that multi functions can be nested, providing maximum flexibility in accommodating a large variety of workflows. ## Detailed SDK Usage ### Example: Update a parameter and extract model data #### Demonstrates using the batch execution multi function to extract data from a modified 3DExperience model. Note that all functions are executed within the same session of the engineering tool. ```python job = client.add_job( model_id = model.id, function = "@istari:batch_execute", tool_name = "dassault_3dexperience", tool_version = "2023x", operating_system = "Windows 11", parameters = '{"func_list": [ {"name": "@istari:update_parameters", "input": {"parameters": {"wing_length": "20m"}}}, {"name": "@istari:extract", "input": { }}]}' ) ``` Note that the `parameters` json can be edited and stored in a separate file for convenience. In this scenario, use the `parameters_file` key to point to the external file rather than the `parameters` key. ### Example: Extract data for a variety of model configurations #### Demonstrates using a variable sweep multi function with a nested batch execution multi function to iterate over a set of variable values while updating model parameters and exporting geometry. ```python job = client.add_job( model_id = model.id, function = "@istari:variable_sweep", tool_name = "dassault_3dexperience", tool_version = "2023x", operating_system = "Windows 11", parameters = '{"variables": {"wing_len": ["10m", "15m", "20m", "25m"]}, "function": { "name": "@istari:batch_execute", "input": { "func_list": [ {"name": "@istari:update_parameters", "input": {"parameters": {"wing_length": "$wing_len"}}}, {"name": "@istari:extract_geometry", "input": {"format": "stp" }}]}}}' ``` Note the use of the variable name `wing_len` in the `update_parameters` foundation function within the `batch_execute` multi function. Variable values can be used anywhere within the variable sweep function list and are accessed by using the variable name with a dollar sign `$` prefix. ===== File: content/integrations/06-SDK/04-app_integrations.mdx ===== # Third Party App Integrations Some functions require integration with a third party app to operate. To use them you must register the app integration and its auth provider if any. Any credentials for auth providers are encrypted with an RSA public key. ## Detailed SDK Usage #### Prerequisites: - Install Istari SDK and initialize Istari Client per instructions [here](/integrations/SDK/general_usage) - You must have Admin permissions to create App Integrations and Auth Integrations. - To use Auth Integrations you must [set up RSA encryption keys.](/integrations/Third%20Party%20App%20Integrations/auth_integrations#setting-up-rsa-encryption-keys) - RSA Key Pair: You need a 2048-bit RSA key pair with a public exponent of 65537. - Private Key Placement: The private key must be securely installed on the agent. See [Setting up RSA Encryption Keys](/integrations/App Integrations/auth-integrations#setting-up-rsa-encryption-keys) for more details. ### Example: Creating an App Integration To create an App Integration provide a name for your integration and indicate the type of integration from the [list of supported integration types](/integrations/Third%20Party%20App%20Integrations/app_integrations#supported-data-integrations). ```python new_app_integration = NewAppIntegration( description="ACME Inc. Google Drive", integration_type=IntegrationType.GOOGLE_DRIVE, ) app_integration = client.create_app_integration(new_app_integration) ``` API Reference: - [create_app_integration](/developers/SDK/api_reference/client#create_app_integration) ### Example: Adding an Auth Integration Most Auth Integrations require registration information to enable access. For example, OAuth 2.0 requires client applications to present registered OAuth credentials prior to receiving authorization. 1. **Create an Auth Registration Info file:** Create a JSON file that contains the auth registration information. The structure of this file depends on your auth provider type. Please see the [section on Registration Information](/integrations/Third%20Party%20App%20Integrations/auth_integrations#registration-information) for more details. 2. **Create an Auth Integration:** Specify the auth integration type from the [list of supported types](/integrations/Third%20Party%20App%20Integrations/auth_integrations#supported-auth-integrations). You can also include a registration information when creating your Auth Integration. ```python path_to_json_file = "registration_file.json" auth_integration = client.create_auth_integration( auth_integration_type=AuthIntegrationType.GOOGLE_ACCOUNTS, auth_type=FunctionAuthType.OAuth2 app_integration_id=app_integration.id, auth_registration_path=path_to_json_file )) ``` API Reference: - [create_auth_integration](/developers/SDK/api_reference/client#create_auth_integration) ### Example: Update an Auth Integration with a Registration Information If you have created an Auth Integration without a registration information you can add one after the fact. ```python auth_integration = client.update_auth_integration( auth_integration_id="6cb78ba5-6f00-4bec-b359-5f483cb93234" auth_integration_type=AuthIntegrationType.GOOGLE_ACCOUNTS, auth_type=FunctionAuthType.OAUTH2 auth_registration_path=path_to_new_json_file ) ``` API Reference: - [update_auth_integration](/developers/SDK/api_reference/client#update_auth_integration) ### Example: Publishing an RSA Public Key To publish your public key, use the Istari SDK. The following example demonstrates how to create a public key using the Istari Client. ```python file_name = "public_key.pem" file_path = "absolute/path/to/public_key.pem" tenant_public_key = client.create_tenant_public_key(file_name, file_path) ``` API Reference: - [create_tenant_public_key](/developers/SDK/api_reference/client#create_tenant_public_key) ### Example: Using the Public Key Once your public key is added the SDK will automatically use it to encrypt secrets. ```python encrypted_secert_reference = client.add_function_auth_secret(FunctionAuthType.OAuth2, "path/to/secret") ``` API Reference: - [add_function_auth_secret](/developers/SDK/api_reference/client#add_function_auth_secret) ===== File: content/integrations/07-Third Party App Integrations/01-app_integrations.mdx ===== # Third Party App Integrations Istari Digital enables you to do more than securely upload, share, and interact with files. It also allows you to connect data and APIs in third party apps to systems and files in your Istari Digital account. By setting up an app integration you can share and process links to data across all of your cloud services. ## Supported App Integrations Istari Digital supports integrations with the following services: - Google Drive - Microsoft 365 - Dassault Teamwork Cloud - Dassault 3D Experience - PTC Windchill We continually add support for more apps. If your favorite service is not on the list please tell us, and we will get you connected! ## Integrating Third Party Apps Admins can easily integrate third party apps from the Istari Digital Admin page using the following steps. 1. From the admin page select App Integrations. 2. Click the Add App button in the upper right hand corner. A form will appear asking you about the third party app. 3. Select the name of the app from the list of supported apps in the app dropdown. You may also optionally add a description for your integration. 4. Your third party app is most likely protected by an auth provider. Next to the Auth Providers section press the plus button to add auth information. For OAuth 2.0/OIDC based integrations you will need to create an OAuth Client ID for Istari Digital within the app's auth provider system. If your OAuth provider supports PKCE for web apps please toggle the PKCE switch to _on_ when filling out the auth information. See the [page on auth integrations](/integrations/Third%20Party%20App%20Integrations/auth_integrations) to learn more. 5. Once you are finished filling out the app integration information you may press the Add button. Your app integration will appear in list of Third Party App Integrations. To register an app Integration with Istari Digital via SDK follow the steps for creating app integrations found in the [SDK - Third Party App Integrations section](/integrations/SDK/app_integrations#example-creating-an-app-integration). ===== File: content/integrations/07-Third Party App Integrations/02-connect_files.mdx ===== # Connecting Files To connect a file or other data stored on a third party app press the `Connect File` button. You will be presented with an option to name your connected file and to enter the reference to your file. References can be URIs or system specific identifiers. For system specific identifiers you may be prompted for more information. **Note:** When sharing files connected to a third party app you must share the file to the user account from within the host app. ===== File: content/integrations/07-Third Party App Integrations/03-auth_integrations.mdx ===== # Auth Integrations Your third party services are most likely protected by an auth provider. Auth providers can be external services such an OAuth or OpenID Connect service. Or they can be internal to your system such as basic auth services provided by Java EE. To enable app integrations protected by an auth provider you can register an auth integration with that provider on Istari Digital. Your auth integration data is always stored securely in your storage bucket on your local network. When agents require auth credentials to run a function we facilitate the encryption and transfer of your credentials, but our server never sees them. ## RSA Encryption Keys When executing jobs that require credentials, agents will retrieve those credentials from your secure storage bucket. All credentials are encrypted using FIPS 186-5 approved algorithms while waiting to be retrieved by the agent. Any agent that handles credentials must have access to a private RSA Key to decrypt the credentials. See the [section on encryption keys](/integrations/Third%20Party%20App%20Integrations/encryption_keys) for more information. ## Supported Auth Integrations Istari Digital supports the following types of auth providers. - Google Accounts - Microsoft Entra - Dassault Teamwork Cloud Basic Login - Dassault 3D Experience 3D Passport Delegated CAS - PTC Windchill Basic Login - Ping ID If your auth provider is not on the list, or you have question about identifying auth providers please contact us. ## Adding Auth Integrations To add an auth integration from the Istari Digital website see the [section on integrating third party apps](/integrations/Third%20Party%20App%20Integrations/app_integrations#integrating-3rd-party-apps). To add an auth integration with Istari Digital via SDK follow the steps for creating auth integrations found in the [SDK - App Integration section](/integrations/SDK/app_integrations#example-adding-an-auth-integration). ## Registration Information To delegate authorization to an agent most auth providers require credentials or other private information referred to as Registration Information. The format for registration information depends on the auth protocol used. The following protocols are supported: - OAuth 2.0 - Basic Login - Token Details on the schemas for registration information can be found below. ### OAuth 2.0 Registration **Title:** OAuth 2.0 Registration | | | | ------------------------- | ----------- | | **Type** | `object` | | **Required** | No | | **Additional properties** | Not allowed | **Description:** A registration secret for OAuth 2.0 authorization. The secret must be registered in order for functions to utilize OAuth2 authorization. | Property | Pattern | Type | Deprecated | Definition | Title/Description | | --------------------------------------------- | ------- | ------- | ---------- | ---------- | -------------------- | | + [authorizationIssuer](#authorizationIssuer) | No | string | No | - | Authorization Issuer | | + [clientId](#clientId) | No | string | No | - | Client ID | | + [scope](#scope) | No | string | No | - | Scope | | - [pkceEnabled](#pkceEnabled) | No | boolean | No | - | PKCE | #### Example: OAuth 2.0 ```json { "clientId": "client-id-1234567890", "authorizationIssuer": "https://accounts.google.com", "scope": "https://www.googleapis.com/auth/documents.readonly", "pkceEnabled": true } ``` #### 1. Property `Basic Registration > authorizationIssuer` **Title:** Authorization Issuer | | | | ------------ | -------- | | **Type** | `string` | | **Required** | Yes | | **Format** | `uri` | **Description:** The URL of the authorization server that generates and signs access tokens. | Restrictions | | | -------------- | --- | | **Min length** | 1 | #### 2. Property `Basic Registration > clientId` **Title:** Client ID | | | | ------------ | -------- | | **Type** | `string` | | **Required** | Yes | **Description:** Identifies the set of functions requesting access to resources protected by the auth server. #### 3. Property `Basic Registration > scope` **Title:** Scope | | | | ------------ | -------- | | **Type** | `string` | | **Required** | Yes | **Description:** A space separated list of permissions requested by the set of functions. **Example:** ```json "read write profile email offline_access" ``` #### 4. Property `Basic Registration > pkceEnabled` **Title:** PKCE | | | | ------------ | --------- | | **Type** | `boolean` | | **Required** | No | | **Default** | `false` | **Description:** Whether or not the authorization server supports PKCE. Only PKCE with S256 code challenges is supported. **Examples:** ```json true ``` ```json false ``` --- ### Basic Registration **Title:** Basic Registration | | | | ------------------------- | ----------- | | **Type** | `object` | | **Required** | No | | **Additional properties** | Not allowed | **Description:** A registration secret for Basic auth. This registration is only required if functions do not have the authenticating URL. | Property | Pattern | Type | Deprecated | Definition | Title/Description | | --------------------- | ------- | ------ | ---------- | ---------- | ----------------- | | + [authUrl](#authUrl) | No | string | No | - | Auth URL | #### Example: Basic Login ```json { "authUrl": "https://acme.app/auth" } ``` #### 1. Property `Basic Registration > authUrl` **Title:** Auth URL | | | | ------------ | -------- | | **Type** | `string` | | **Required** | Yes | | **Format** | `uri` | **Description:** The URL used for authenticating the username and password. | Restrictions | | | -------------- | --- | | **Min length** | 1 | --- ### Token Registration **Title:** Token Registration | | | | ------------------------- | ----------- | | **Type** | `object` | | **Required** | No | | **Additional properties** | Not allowed | **Description:** A registration secret for Token based auth. This registration is only required if functions do not have the authenticating URL. | Property | Pattern | Type | Deprecated | Definition | Title/Description | | --------------------- | ------- | ------ | ---------- | ---------- | ----------------- | | + [authUrl](#authUrl) | No | string | No | - | Auth URL | #### Example: Token ```json { "authUrl": "https://acme.app/auth" } ``` #### 1. Property `Token Registration > authUrl` **Title:** Auth URL | | | | ------------ | -------- | | **Type** | `string` | | **Required** | Yes | | **Format** | `uri` | **Description:** The URL used for authenticating the token. | Restrictions | | | -------------- | --- | | **Min length** | 1 | --- ===== File: content/integrations/07-Third Party App Integrations/04-encryption_keys.mdx ===== # Managing Public Keys Some functions require credentials to access third-party apps. These credentials are always encrypted at rest and in transit using FIPS 186-5 approved algorithms. To enable this, you must provide a public RSA encryption key to the Istari service. Only agents configured with the matching private key can decrypt these credentials. ### Setting up RSA Encryption Keys To properly configure your RSA key follow these steps: 1. Generate an RSA Key Pair. See the section [below on generating RSA key pairs.](#generating-an-rsa-key-pair) 2. On the agent machine configure the path to your private key using the [istari_agent_private_key_path](/itAdmins/Agent/Agent-Configuration#istari_agent_private_key_path) configuration variable. See the section on [Agent Configuration](/itAdmins/Agent/Agent-Configuration) for more information. 3. Register the public key with Istari. This gives you and other users access to the encryption key from the Istari web interface or the Istari SDK. To register: - Navigate to the Istari Digital admin page. Select the link to the public key management page - Upload your public key file in .pem format. - If using the Istari SDK you can register the key using the [create_tenant_public_key](/developers/SDK/api_reference/client#create_tenant_public_key) method. The Istari Platform allows you to add only one public RSA key for your organization. If multiple agents need private keys make sure they use the same private key. ### Generating an RSA Key Pair :::info Important: The public key must be in PKCS #1 PEM format. You can verify this by checking that your public key file starts with: `-----BEGIN RSA PUBLIC KEY-----` ::: #### Step 1: Generate a 2048-bit Private Key (PKCS #1 PEM) `openssl genrsa -out private.pem 2048` #### Step 2: Derive the Matching Public Key (PKCS #1 PEM) `openssl rsa -in private.pem -pubout -outform PEM -RSAPublicKey_out -out public.pem` - Note: Do not use the SSH format or PKCS #8 format. Only PKCS #1 PEM is supported. #### Step 3: Verify the Public Key Format Open public.pem and ensure it starts with: `-----BEGIN RSA PUBLIC KEY-----` ### Summary - Always use `PKCS #1 PEM` format for your public key. - Verify your public key file starts with `-----BEGIN RSA PUBLIC KEY-----`. - Publish your public key before attempting to delegate credentials to an agent. - Keep your private key secure and only install it on trusted agents machines. ===== File: content/integrations/07-troubleshooting.md ===== # Troubleshooting ===== File: content/docs/copyright.md ===== --- sidebar_position: 6 --- # Copyright, Trademark and Legal Disclaimers © 2025 Istari Digital, Inc. Unauthorized use, distribution, or duplication is prohibited. The Istari Digital, Inc. brand, product, service, feature names, logos, and slogans are trademarks of Istari Digital, Inc. or its subsidiaries in the United States and other countries. Istari Digital and the Istari Digital logo, brand, product, service, feature names, and slogans are trademarks of Istari Digital, Inc. in the United States and other countries. Empower the Physical World with the Digital, Ready Maker One, and Internet of Physics, are trademarks of Istari Digital, Inc. All other brand, product, service, and feature names or trademarks mentioned in this document are the property of their respective owners. ## Disclaimer Notice THIS ISTARI DIGITAL PRODUCT AND PLATFORM DOCUMENTATION CONTAINS TRADE SECRETS AND IS CONFIDENTIAL AND PROPRIETARY TO ISTARI DIGITAL, INC., ITS SUBSIDIARIES, OR LICENSORS. The software products and documentation are provided by Istari Digital, Inc., its subsidiaries, or affiliates under a software license agreement, which includes provisions regarding non-disclosure, copying, permitted use, export law compliance, warranties, disclaimers, limitations of liability, and available remedies. The software products and documentation may only be used, disclosed, transferred, or copied in accordance with the terms of the software license agreement. ## Compliance with Digital Engineering Vendor End User License Agreements Istari Digital is committed to full compliance with the End User License Agreements (EULAs) of all commercial Digital Engineering (DE) tool vendors. Our platform provides integration capabilities but does not include or distribute licenses for any third-party commercial DE tools. Users are solely responsible for ensuring they have valid, vendor-approved licenses before integrating or using any commercial DE tools through the Istari Digital platform. By using Istari Digital’s integration features, users acknowledge and agree that: - They must obtain and maintain valid licenses for any commercial DE tools they wish to integrate. - Istari Digital does not provide, sublicense, or circumvent licensing requirements for third-party DE tools. - Compliance with all applicable EULAs, software agreements, and vendor policies is the responsibility of the end user or their organization. For any questions regarding vendor licensing, please contact your Information Technology (or related) department or the respective software vendor's licensing terms ## Patents No license is hereby implied or granted to any patent covering the Istari Digital platform itself. The list of patents applicable to the Istari Digital platform may be found at istaridigital.com/patent-list. Published in the U.S.A.