### Jobs API Example Source: https://api.truenas.com/v25.04.0/api_methods_system.general.country_choices Demonstrates how to call a method related to job execution within the TrueNAS API. This example serves as a guide for interacting with asynchronous tasks. ```APIDOC Example of Calling a Job Method: - Description: Illustrates the process of invoking a job-related API endpoint. - Usage: Refer to the linked documentation for specific method signatures and parameters. - Purpose: To initiate or monitor background tasks managed by the TrueNAS system. ``` -------------------------------- ### TrueNAS API: Autostart Parameter Source: https://api.truenas.com/v25.04.0/_sources/api_methods_virt.instance.create.rst Documentation for the 'autostart' parameter. It specifies if a service or resource should automatically start upon system boot. The parameter accepts a boolean value or null. ```APIDOC autostart: Description: Whether the service should autostart. Default: true Type: Any of - boolean - null ``` -------------------------------- ### TrueNAS Docker Network API Methods Source: https://api.truenas.com/v25.04.0/api_methods_keychaincredential.create Manages Docker networks, allowing users to get instances of networks and query their configurations. Essential for container networking setup. ```APIDOC docker.network.get_instance(network_name) - Retrieves a specific Docker network instance. - Parameters: - network_name: The name of the Docker network. docker.network.query(options) - Queries Docker networks based on provided options. - Parameters: - options: Dictionary for filtering and sorting. ``` -------------------------------- ### TrueNAS virt.instance API Methods Source: https://api.truenas.com/v25.04.0/api_methods_virt.instance.start Documentation for the virt.instance module within the TrueNAS API v25.04.0. This section covers methods related to managing virtual machine instances, including starting, stopping, and restarting them. ```APIDOC virt.instance: start(instance_id: int) Starts a virtual machine instance. Parameters: instance_id: The ID of the virtual machine instance to start. Returns: Status of the operation. restart(instance_id: int) Restarts a virtual machine instance. Parameters: instance_id: The ID of the virtual machine instance to restart. Returns: Status of the operation. stop(instance_id: int) Stops a virtual machine instance. Parameters: instance_id: The ID of the virtual machine instance to stop. Returns: Status of the operation. ``` -------------------------------- ### Begin Property Documentation Source: https://api.truenas.com/v25.04.0/_sources/api_events_replication.query.rst Describes the start time for scheduling. Accepts a string in HH:MM format. Examples include '00:00', '06:30', '18:00', and '23:00'. ```APIDOC Begin: Type: string Default: "00:00" Examples: - "00:00" - "06:30" - "18:00" - "23:00" ``` -------------------------------- ### TrueNAS virt.instance API Methods Source: https://api.truenas.com/v25.04.0/api_methods_iscsi.initiator Provides documentation links for managing virtual machine instances. Includes methods for starting, stopping, restarting, and updating VM instances. ```APIDOC virt.instance.restart - Restarts a virtual machine instance. - Related: virt.instance.start, virt.instance.stop, virt.instance.update virt.instance.start - Starts a virtual machine instance. - Related: virt.instance.restart, virt.instance.stop, virt.instance.update virt.instance.stop - Stops a virtual machine instance. - Related: virt.instance.restart, virt.instance.start, virt.instance.update virt.instance.update - Updates a virtual machine instance. - Related: virt.instance.restart, virt.instance.start, virt.instance.stop ``` -------------------------------- ### App Property: app_readme Source: https://api.truenas.com/v25.04.0/api_methods_app.available Contains the HTML content of the application's README file. This provides detailed information, setup instructions, and usage guides. ```APIDOC app_readme: Type: string Description: HTML content of the app README. Any of: - Option 1: https://api.truenas.com/v25.04.0/api_methods_app.available.html#tab-pane_Return_value_anyOf_i1_app_readme_anyOf_i0 - Option 2: https://api.truenas.com/v25.04.0/api_methods_app.available.html#tab-pane_Return_value_anyOf_i1_app_readme_anyOf_i1 ``` -------------------------------- ### TrueNAS virt.instance API Methods Source: https://api.truenas.com/v25.04.0/api_methods_virt.instance.start Provides methods for managing virtual machine instances, including querying, starting, stopping, restarting, and updating their configurations. ```APIDOC virt.instance.query - Description: Retrieves information about virtual machine instances. - Parameters: (Details not provided in source) - Returns: (Details not provided in source) virt.instance.restart - Description: Restarts a virtual machine instance. - Parameters: (Details not provided in source) - Returns: (Details not provided in source) virt.instance.start - Description: Starts a virtual machine instance. - Parameters: (Details not provided in source) - Returns: (Details not provided in source) virt.instance.stop - Description: Stops a virtual machine instance. - Parameters: (Details not provided in source) - Returns: (Details not provided in source) virt.instance.update - Description: Updates the configuration of a virtual machine instance. - Parameters: (Details not provided in source) - Returns: (Details not provided in source) ``` -------------------------------- ### TrueNAS API Properties: VNC and Secure Boot Source: https://api.truenas.com/v25.04.0/_sources/api_methods_virt.instance.create.rst Documentation for key API properties used in TrueNAS configurations. Includes VNC port, VNC password, and secure boot settings, detailing their types, requirements, and possible values. ```APIDOC vnc_port: description: VNC Port required: true type: - integer - null vnc_password: description: VNC Password required: true type: - string - null constraints: minLength: 1 secure_boot: description: Secure Boot required: true type: - boolean - null ``` -------------------------------- ### USB Product ID Property Source: https://api.truenas.com/v25.04.0/_sources/api_events_vm.device.query.rst Documentation for the 'product_id' property. It requires a string value starting with the '0x' prefix, with a minimum length of 1 character. An example format is '0x16a8'. ```APIDOC product_id: title: "Product Id" type: "string" default: "127.0.0.1" description: "Product id must start with \"0x\" prefix e.g 0x16a8." pattern: "^0x.*" minLength: 1 ``` -------------------------------- ### Querying Data with Filters and Options Source: https://api.truenas.com/v25.04.0/api_events_jbof.query Detailed guide on how to construct powerful queries using filters, operators, connectives, and various query options like limit, offset, select, and order_by. Includes examples translating SQL concepts. ```APIDOC Query Methods Description: Advanced methods for filtering, sorting, and paginating data. Query Filters: Basic Usage: Apply filters using key-value pairs. Supported Operators: Supports operators like '=', '!=', '>', '<', '>=', '<=', 'IN', 'NOT IN', 'LIKE', 'ILIKE', '~', '!~', '~*', '!~*'. Multiple Filters: Combine filters using logical connectives. Connectives: Use 'AND' and 'OR' to combine filter conditions. Datetime Information: Specific handling for datetime comparisons. Query Options: Count: Retrieve the total count of matching records (count=True). Limit: Restrict the number of returned records (limit=N). Offset: Skip a specified number of records (offset=N). Select: Specify which fields to return (select=['field1', 'field2']). Order By: Sort results by one or more fields (order_by=['field1', '-field2'] for ascending/descending). Sample SQL to Query Filters/Options: "SELECT * FROM table;" -> No filters or options applied. "SELECT username,uid FROM table WHERE builtin=FALSE ORDER BY -uid;" -> filter={'builtin': False}, select=['username', 'uid'], order_by=['-uid'] "SELECT username AS locked_user,uid FROM table WHERE builtin=FALSE AND locked=TRUE;" -> filter={'builtin': False, 'locked': True}, select=['username', 'uid'] "SELECT username FROM table WHERE builtin=False OR (locked=FALSE AND ssh=TRUE);" -> filter={'OR': [{'builtin': False}, {'AND': [{'locked': False}, {'ssh': True}]}]} ``` -------------------------------- ### Virtual Machine Instance API Methods Source: https://api.truenas.com/v25.04.0/api_methods_boot.environment Provides API methods for managing virtual machine instances, including starting, stopping, restarting, and updating them. ```APIDOC virt.instance.restart virt.instance.start virt.instance.stop virt.instance.update ``` -------------------------------- ### TrueNAS API: Query Methods Overview Source: https://api.truenas.com/v25.04.0/api_methods_acme.dns.authenticator.query Provides general information and examples for using query methods across the TrueNAS API. This section serves as a guide to retrieving data from various system components. ```APIDOC query_methods.general_usage() - Description: General guidelines and examples for querying API data. - Parameters: None specified in this context. - Returns: Documentation on query patterns. ``` -------------------------------- ### TrueNAS virt.instance API Methods Source: https://api.truenas.com/v25.04.0/api_methods_boot.environment.keep Provides documentation for managing virtual machine instances. Includes methods for updating device configurations, retrieving instance details, querying instances, restarting, starting, and stopping instances. ```APIDOC virt.instance.device_update: Description: Updates the device configuration for a virtual machine instance. URL: https://api.truenas.com/v25.04.0/api_methods_virt.instance.device_update.html virt.instance.get_instance: Description: Retrieves detailed information about a specific virtual machine instance. URL: https://api.truenas.com/v25.04.0/api_methods_virt.instance.get_instance.html virt.instance.image_choices: Description: Lists available operating system images for virtual machine creation. URL: https://api.truenas.com/v25.04.0/api_methods_virt.instance.image_choices.html virt.instance.query: Description: Queries and lists virtual machine instances based on specified criteria. URL: https://api.truenas.com/v25.04.0/api_methods_virt.instance.query.html virt.instance.restart: Description: Restarts a virtual machine instance. URL: https://api.truenas.com/v25.04.0/api_methods_virt.instance.restart.html virt.instance.start: Description: Starts a virtual machine instance. URL: https://api.truenas.com/v25.04.0/api_methods_virt.instance.start.html virt.instance.stop: Description: Stops a virtual machine instance. URL: https://api.truenas.com/v25.04.0/api_methods_virt.instance.stop.html virt.instance.update: Description: Updates the configuration of a virtual machine instance. URL: https://api.truenas.com/v25.04.0/api_methods_virt.instance.update.html ``` -------------------------------- ### TrueNAS virt.instance API Methods Source: https://api.truenas.com/v25.04.0/api_methods_boot.environment.clone Provides documentation for managing virtual machine instances. Includes methods for listing devices, updating instance configurations, querying instance status, and controlling instance lifecycle (start, stop, restart). ```APIDOC virt.instance: device_list(): Description: Lists devices associated with a virtual machine instance. URL: /virt/instance/device_list Method: GET device_update(instance_id: int, device_id: int, data: dict): Description: Updates a specific device attached to a virtual machine instance. Parameters: instance_id (int): The ID of the virtual machine instance. device_id (int): The ID of the device to update. data (dict): A dictionary containing the updated device parameters. URL: /virt/instance/device_update Method: PUT get_instance(instance_id: int): Description: Retrieves detailed information about a specific virtual machine instance. Parameters: instance_id (int): The ID of the virtual machine instance. URL: /virt/instance/get_instance Method: GET image_choices(): Description: Lists available operating system images for creating virtual machine instances. URL: /virt/instance/image_choices Method: GET query(options: dict = None): Description: Queries and lists virtual machine instances based on specified criteria. Parameters: options (dict, optional): Filtering and sorting options for the query. URL: /virt/instance/query Method: GET restart(instance_id: int): Description: Restarts a running virtual machine instance. Parameters: instance_id (int): The ID of the virtual machine instance to restart. URL: /virt/instance/restart Method: POST start(instance_id: int): Description: Starts a stopped virtual machine instance. Parameters: instance_id (int): The ID of the virtual machine instance to start. URL: /virt/instance/start Method: POST stop(instance_id: int): Description: Stops a running virtual machine instance. Parameters: instance_id (int): The ID of the virtual machine instance to stop. URL: /virt/instance/stop Method: POST update(instance_id: int, data: dict): Description: Updates the configuration of a virtual machine instance. Parameters: instance_id (int): The ID of the virtual machine instance to update. data (dict): A dictionary containing the updated instance parameters. URL: /virt/instance/update Method: PUT ``` -------------------------------- ### keychaincredential.remote_ssh_semiautomatic_setup WebSocket Example Source: https://api.truenas.com/v25.04.0/_sources/api_methods_keychaincredential.remote_ssh_semiautomatic_setup.rst Demonstrates the usage of the keychaincredential.remote_ssh_semiautomatic_setup method via WebSocket for semi-automatic SSH connection setup. It includes parameters for naming the connection, specifying the remote URL, authentication token, and private key. ```javascript { "id": "6841f242-840a-11e6-a437-00e04d680384", "msg": "method", "method": "keychaincredential.remote_ssh_semiautomatic_setup", "params": [{ "name": "Work SSH connection", "url": "https://work.freenas.org", "token": "8c8d5fd1-f749-4429-b379-9c186db4f834", "private_key": 12 }] } ``` -------------------------------- ### TrueNAS virt.instance API Methods Source: https://api.truenas.com/v25.04.0/api_methods_truenas.accept_eula Provides methods for managing virtual machine instances, including querying, starting, stopping, restarting, and updating their configurations. ```APIDOC virt.instance.query - Description: Retrieves information about virtual machine instances. - Link: https://api.truenas.com/v25.04.0/api_methods_virt.instance.query.html virt.instance.restart - Description: Restarts a virtual machine instance. - Link: https://api.truenas.com/v25.04.0/api_methods_virt.instance.restart.html virt.instance.start - Description: Starts a virtual machine instance. - Link: https://api.truenas.com/v25.04.0/api_methods_virt.instance.start.html virt.instance.stop - Description: Stops a virtual machine instance. - Link: https://api.truenas.com/v25.04.0/api_methods_virt.instance.stop.html virt.instance.update - Description: Updates the configuration of a virtual machine instance. - Link: https://api.truenas.com/v25.04.0/api_methods_virt.instance.update.html ``` -------------------------------- ### TrueNAS API Query Methods and Options Source: https://api.truenas.com/v25.04.0/api_methods_certificate Detailed guide on using the TrueNAS API's query capabilities, including filtering, sorting, limiting results, and selecting specific fields, with SQL translation examples. ```APIDOC Query Methods: Filters: description: Defines how to filter query results. basic_usage(): description: Basic syntax for applying filters. url: https://api.truenas.com/v25.04.0/query_methods.html#basic-usage supported_operators(): description: Lists all available operators for filtering (e.g., =, !=, >, <, LIKE). url: https://api.truenas.com/v25.04.0/query_methods.html#supported-operators multiple_filters(): description: How to combine multiple filter conditions. url: https://api.truenas.com/v25.04.0/query_methods.html#multiple-filters connectives(): description: Using logical connectives like AND, OR to link filters. url: https://api.truenas.com/v25.04.0/query_methods.html#connectives datetime_information(): description: Handling datetime values in filters. url: https://api.truenas.com/v25.04.0/query_methods.html#datetime-information Options: description: Controls how query results are presented. count(): description: Retrieve only the total count of matching records. url: https://api.truenas.com/v25.04.0/query_methods.html#count limit(): description: Restrict the maximum number of records returned. url: https://api.truenas.com/v25.04.0/query_methods.html#limit offset(): description: Skip a specified number of records before returning results. url: https://api.truenas.com/v25.04.0/query_methods.html#offset select(): description: Specify which fields to include in the query results. url: https://api.truenas.com/v25.04.0/query_methods.html#select order_by(): description: Define the sorting order for the results. url: https://api.truenas.com/v25.04.0/query_methods.html#order-by SQL Translation Examples: description: Examples showing how SQL queries map to TrueNAS API query syntax. select_all(): description: "SELECT * FROM table;" url: https://api.truenas.com/v25.04.0/query_methods.html#select-from-table select_and_order(): description: "SELECT username,uid FROM table WHERE builtin=FALSE ORDER BY -uid;" url: https://api.truenas.com/v25.04.0/query_methods.html#select-username-uid-from-table-where-builtin-false-order-by-uid select_with_alias_and_multiple_filters(): description: "SELECT username AS locked_user,uid FROM table WHERE builtin=FALSE AND locked=TRUE;" url: https://api.truenas.com/v25.04.0/query_methods.html#select-username-as-locked-user-uid-from-table-where-builtin-false-and-locked-true ``` -------------------------------- ### TrueNAS virt.instance API Methods Source: https://api.truenas.com/v25.04.0/api_methods_cloud_backup.create Provides documentation for managing virtual machine instances within TrueNAS. Includes methods for querying, starting, stopping, restarting, and updating instances. Detailed parameter and return value information is not available from the provided links. ```APIDOC virt.instance: query(query: dict = None, options: dict = None) - Retrieves a list of virtual machine instances based on query parameters. - Parameters: - query: Optional dictionary for filtering instances. - options: Optional dictionary for query options (e.g., sorting, pagination). - Returns: A list of virtual machine instance objects. restart(id: int, options: dict = None) - Restarts a specific virtual machine instance. - Parameters: - id: The unique identifier of the instance to restart. - options: Optional dictionary for restart options. - Returns: Status of the restart operation. start(id: int, options: dict = None) - Starts a specific virtual machine instance. - Parameters: - id: The unique identifier of the instance to start. - options: Optional dictionary for start options. - Returns: Status of the start operation. stop(id: int, options: dict = None) - Stops a specific virtual machine instance. - Parameters: - id: The unique identifier of the instance to stop. - options: Optional dictionary for stop options. - Returns: Status of the stop operation. update(id: int, data: dict) - Updates configuration for a specific virtual machine instance. - Parameters: - id: The unique identifier of the instance to update. - data: Dictionary containing the fields to update. - Returns: The updated virtual machine instance object. ``` -------------------------------- ### TrueNAS API: Query Methods and Filters Source: https://api.truenas.com/v25.04.0/api_methods_app.create Comprehensive guide to using the TrueNAS API's query capabilities. Covers filtering, sorting, limiting, and selecting data, with examples translating SQL to API filters. ```APIDOC Query Methods: Description: Advanced methods for querying and filtering API data. Query Filters: Purpose: To specify conditions for retrieving data. Supported Operators: - Equality: =, !=, <, <=, >, >=, LIKE, ILIKE, IN, NOT IN - String Matching: STARTSWITH, ENDSWITH, CONTAINS - Range: BETWEEN Connectives: - AND, OR: To combine multiple filter conditions. Datetime Information: - Supports filtering by date and time values. Query Options: Purpose: To control the structure and scope of query results. - count: (Boolean) Return only the total count of matching records. - limit: (Integer) Maximum number of records to return. - offset: (Integer) Number of records to skip from the beginning. - select: (Array of Strings) Specify which fields to include in the response. - order_by: (Array of Strings) Specify fields and direction (e.g., "-field" for descending). Example SQL to API Filter Translations: - "SELECT * FROM table;" -> GET /api/v2.0/table - "SELECT username,uid FROM table WHERE builtin=FALSE ORDER BY -uid;" -> GET /api/v2.0/table?select=username,uid&filter=(builtin=FALSE)&order_by=-uid - "SELECT username AS locked_user,uid FROM table WHERE builtin=FALSE AND locked=TRUE;" -> GET /api/v2.0/table?select=username:locked_user,uid&filter=(builtin=FALSE AND locked=TRUE) ``` -------------------------------- ### TrueNAS virt.instance API Methods Source: https://api.truenas.com/v25.04.0/api_methods_pool.scrub.query Documentation for managing virtual machine instances within TrueNAS. Includes methods for starting, stopping, restarting, and updating VM instances. ```APIDOC virt.instance.restart - Restarts a virtual machine instance. - URL: /virt/instance/restart - Method: POST - Parameters: Requires instance ID. - Returns: Status of the restart operation. virt.instance.start - Starts a virtual machine instance. - URL: /virt/instance/start - Method: POST - Parameters: Requires instance ID. - Returns: Status of the start operation. virt.instance.stop - Stops a virtual machine instance. - URL: /virt/instance/stop - Method: POST - Parameters: Requires instance ID. - Returns: Status of the stop operation. virt.instance.update - Updates configuration for a virtual machine instance. - URL: /virt/instance/update - Method: PUT - Parameters: Instance ID and updated configuration fields. - Returns: Updated instance details. ``` -------------------------------- ### Catalog API Source: https://api.truenas.com/v25.04.0/api_methods_initshutdownscript.create Manages application catalogs, allowing users to discover, install, and update applications. This API provides methods to list available apps, get detailed app information, synchronize catalog data, and manage trains. ```APIDOC catalog.apps: Lists all available applications from the configured catalogs. Parameters: - None Returns: - A list of application objects. catalog.get_app_details: Retrieves detailed information for a specific application. Parameters: - app_name: The name of the application. - catalog: The catalog name where the app resides. - item: The specific item or version of the application. Returns: - An object containing detailed information about the application. catalog.sync: Synchronizes the application catalogs with their remote sources. Parameters: - None Returns: - A status indicating the synchronization process. catalog.trains: Lists the available trains (release channels or versions) for applications. Parameters: - None Returns: - A list of available trains. catalog.update: Updates a specific application to the latest available version or a specified version. Parameters: - app_name: The name of the application to update. - catalog: The catalog name. - item: The specific item or version to update to. Returns: - A status indicating the update process. ``` -------------------------------- ### TrueNAS API: Virtual Machine Instance Source: https://api.truenas.com/v25.04.0/api_methods_virt.instance.start Documentation for virtual machine instance management. Covers querying instance details and metrics. ```APIDOC virt.instance: query(): description: Retrieves virtual machine instance details. parameters: [] returns: List of virtual machine instances. metrics(): description: Retrieves performance metrics for virtual machine instances. parameters: [] returns: Virtual machine instance metrics. ``` -------------------------------- ### TrueNAS API Schedule Time Configuration Source: https://api.truenas.com/v25.04.0/_sources/api_methods_pool.snapshottask.update.rst Details the configuration parameters for schedule time settings within the TrueNAS API. It covers the start and end times for scheduled tasks, specifying their format, default values, and valid examples. ```APIDOC Schedule Time Configuration: begin: Type: string Default: "00:00" Description: The start time for the schedule. Must be in HH:MM format. Examples: - "00:00" - "06:30" - "18:00" - "23:00" end: Type: string Default: "23:59" Description: The end time for the schedule. Must be in HH:MM format. Examples: - "00:00" - "06:30" - "18:00" - "23:00" ``` -------------------------------- ### TrueNAS virt.instance API Methods Source: https://api.truenas.com/v25.04.0/api_methods_virt.instance.device_add Provides methods for managing virtual machine instances, including listing devices, updating configurations, starting, stopping, and querying instances. ```APIDOC virt.instance.device_list() - Lists devices associated with a virtual machine instance. virt.instance.device_update(instance_id, device_id, data) - Updates a specific device attached to a virtual machine instance. - Parameters: - instance_id: Identifier for the virtual machine instance. - device_id: Identifier for the device to update. - data: Dictionary containing updated device properties. virt.instance.get_instance(instance_id) - Retrieves detailed information about a specific virtual machine instance. - Parameters: - instance_id: Identifier for the virtual machine instance. virt.instance.image_choices() - Lists available operating system images for creating virtual machine instances. virt.instance.query(filters=None, limit=None, offset=None, count=False, sort=None) - Queries virtual machine instances based on specified filters. - Parameters: - filters: Optional dictionary for filtering results. - limit: Maximum number of results to return. - offset: Number of results to skip. - count: If True, returns the total count of matching instances. - sort: Optional field to sort results by. virt.instance.restart(instance_id) - Restarts a virtual machine instance. - Parameters: - instance_id: Identifier for the virtual machine instance. virt.instance.start(instance_id) - Starts a virtual machine instance. - Parameters: - instance_id: Identifier for the virtual machine instance. virt.instance.stop(instance_id) - Stops a virtual machine instance. - Parameters: - instance_id: Identifier for the virtual machine instance. virt.instance.update(instance_id, data) - Updates configuration for a virtual machine instance. - Parameters: - instance_id: Identifier for the virtual machine instance. - data: Dictionary containing updated instance properties. ``` -------------------------------- ### User API: Check Local Administrator Setup Source: https://api.truenas.com/v25.04.0/_sources/api_methods_user.has_local_administrator_set_up.rst Checks if a local administrator account with a valid password is set up on the system. This is crucial for systems installed without an initial password, requiring one to be set on first use or login. ```APIDOC user.has_local_administrator_set_up: description: Return whether a local administrator with a valid password exists. purpose: Used when the system is installed without a password and must be set on first use/login. parameters: type: object additionalItems: false return_value: type: boolean description: True if a local administrator with a valid password exists, false otherwise. required_roles: [] ``` -------------------------------- ### TrueNAS virt.instance API Methods Source: https://api.truenas.com/v25.04.0/api_methods_sharing.nfs Provides documentation links for managing virtual machine instances, including starting, stopping, and updating them. ```APIDOC virt.instance.stop Description: Stops a virtual machine instance. Link: https://api.truenas.com/v25.04.0/api_methods_virt.instance.stop.html virt.instance.update Description: Updates a virtual machine instance. Link: https://api.truenas.com/v25.04.0/api_methods_virt.instance.update.html ``` -------------------------------- ### TrueNAS API Query Methods Source: https://api.truenas.com/v25.04.0/api_methods_iscsi.portal Comprehensive guide to using query methods in the TrueNAS API, covering filtering, sorting, limiting results, and selecting specific fields. Includes examples translating SQL concepts to API queries. ```APIDOC API Query Methods: - Query Filters: - Basic Usage: How to apply simple filters to query results. - Supported Operators: List of operators available for filtering (e.g., =, !=, >, <, >=, <=, LIKE, NOT LIKE). - Multiple Filters: Techniques for combining multiple filter conditions. - Connectives: Usage of logical connectives (AND, OR) to build complex filter expressions. - Datetime Information: Handling of date and time values in filters. - Query Options: - Count: Retrieve the total number of records matching a query. - Limit: Restrict the maximum number of records returned. - Offset: Skip a specified number of records from the beginning of the result set. - Select: Specify which fields to include in the query results. - Order By: Define the sorting order for the results, including ascending and descending. - SQL to Query Translation Examples: - SELECT * FROM table; - SELECT username,uid FROM table WHERE builtin=FALSE ORDER BY -uid; - SELECT username AS locked_user,uid FROM table WHERE builtin=FALSE AND locked=TRUE; ``` -------------------------------- ### TrueNAS API: Query Methods and Filters Source: https://api.truenas.com/v25.04.0/api_methods_catalog Comprehensive guide to the TrueNAS API's query capabilities, including how to use filters, operators, connectives, and options like count, limit, offset, select, and order by. Includes SQL translation examples. ```APIDOC Query Methods: description: Advanced querying capabilities for TrueNAS data. sections: Query Filters: description: Defines how to filter query results using various criteria. usage: https://api.truenas.com/v25.04.0/query_methods.html#query-filters components: basic_usage: https://api.truenas.com/v25.04.0/query_methods.html#basic-usage supported_operators: https://api.truenas.com/v25.04.0/query_methods.html#supported-operators multiple_filters: https://api.truenas.com/v25.04.0/query_methods.html#multiple-filters connectives: https://api.truenas.com/v25.04.0/query_methods.html#connectives datetime_information: https://api.truenas.com/v25.04.0/query_methods.html#datetime-information Query Options: description: Specifies how to control the output of query results. usage: https://api.truenas.com/v25.04.0/query_methods.html#query-options options: count: https://api.truenas.com/v25.04.0/query_methods.html#count limit: https://api.truenas.com/v25.04.0/query_methods.html#limit offset: https://api.truenas.com/v25.04.0/query_methods.html#offset select: https://api.truenas.com/v25.04.0/query_methods.html#select order_by: https://api.truenas.com/v25.04.0/query_methods.html#order-by SQL Translation Examples: description: Demonstrates how standard SQL queries map to TrueNAS query syntax. examples: select_all: "SELECT * FROM table;" select_filtered_ordered: "SELECT username,uid FROM table WHERE builtin=FALSE ORDER BY -uid;" select_aliased_filtered: "SELECT username AS locked_user,uid FROM table WHERE builtin=FALSE AND locked=TRUE;" select_complex_filter: "SELECT username FROM table WHERE builtin=False OR (locked=FALSE AND ssh=TRUE);" urls: select_all: https://api.truenas.com/v25.04.0/query_methods.html#select-from-table select_filtered_ordered: https://api.truenas.com/v25.04.0/query_methods.html#select-username-uid-from-table-where-builtin-false-order-by-uid select_aliased_filtered: https://api.truenas.com/v25.04.0/query_methods.html#select-username-as-locked-user-uid-from-table-where-builtin-false-and-locked-true select_complex_filter: https://api.truenas.com/v25.04.0/query_methods.html#select-username-from-table-where-builtin-false-or-locked-false-and-ssh-true ``` -------------------------------- ### TrueNAS virt.instance API Methods Source: https://api.truenas.com/v25.04.0/api_methods_smb.bindip_choices Provides methods for managing virtual machine instances, including querying status, starting, stopping, restarting, and updating instances. ```APIDOC virt.instance.query() - Retrieves a list of virtual machine instances. - Parameters: None specified in this context. - Returns: A list of VM instance objects. virt.instance.restart(id) - Restarts a virtual machine instance. - Parameters: - id: The unique identifier of the VM instance. - Returns: Status of the restart operation. virt.instance.start(id) - Starts a virtual machine instance. - Parameters: - id: The unique identifier of the VM instance. - Returns: Status of the start operation. virt.instance.stop(id) - Stops a virtual machine instance. - Parameters: - id: The unique identifier of the VM instance. - Returns: Status of the stop operation. virt.instance.update(id, data) - Updates an existing virtual machine instance with new configuration. - Parameters: - id: The unique identifier of the VM instance. - data: A dictionary containing the fields to update. - Returns: The updated VM instance object. ``` -------------------------------- ### TrueNAS Query Methods API Source: https://api.truenas.com/v25.04.0/api_methods_app.ip_choices Comprehensive guide to the TrueNAS API's query capabilities, including filtering, sorting, limiting results, and selecting specific fields. It explains how to construct complex queries and provides examples translating SQL concepts. ```APIDOC Query Methods Description: Provides detailed information on how to query data using the TrueNAS API. Sections: - Query Filters: Covers basic usage, supported operators, multiple filters, connectives, and datetime information. - Query Options: Details options like Count, Limit, Offset, Select, and Order By. - SQL Translation Examples: Demonstrates how to translate SQL statements into API query parameters. URL: https://api.truenas.com/v25.04.0/query_methods.html ``` ```APIDOC Query Filters Description: Specifies criteria for filtering query results. Features: - Basic Usage - Supported Operators (e.g., ==, !=, >, <, >=, <=, LIKE, IN) - Multiple Filters (AND/OR logic) - Connectives - Datetime Information URL: https://api.truenas.com/v25.04.0/query_methods.html#query-filters ``` ```APIDOC Query Options Description: Controls how query results are presented. Options: - Count: Returns the total number of matching records. - Limit: Restricts the number of records returned. - Offset: Skips a specified number of records. - Select: Specifies which fields to include in the results. - Order By: Defines the sorting order of the results. URL: https://api.truenas.com/v25.04.0/query_methods.html#query-options ``` ```APIDOC Query Methods - SQL Translation Examples Description: Examples showing how common SQL queries map to TrueNAS API query syntax. Example: - "SELECT * FROM table;" translates to a basic query without specific filters or options. URL: https://api.truenas.com/v25.04.0/query_methods.html#sample-sql-statements-translated-into-query-filters-and-query-options ``` -------------------------------- ### TrueNAS API v25.04.0: Virtual Instance Parameters Source: https://api.truenas.com/v25.04.0/api_methods_virt.instance.create This documentation covers the parameters for creating virtual instances via the TrueNAS API. It details various properties such as autostart, CPU settings, and device configurations, including specific types and constraints for each parameter. ```APIDOC virt.instance.create: Parameters: _Additional Properties: Type: string Type: null autostart: Description: Controls whether the virtual machine starts automatically. Default: true Any of: - Type: boolean - Type: null cpu: Description: CPU configuration for the virtual machine. Default: null Any of: - Type: string - Type: null devices: Description: List of devices to attach to the virtual machine. Default: null Type: array No Additional Items Items (One of): - Disk: Type: object No Additional Properties Properties: name: Description: Name of the disk device. Default: null Any of: - Type: string Must be at least `1` characters long - Type: null description: Description: Description for the disk device. Default: null Any of: - Type: string Must be at least `1` characters long - Type: null readonly: Description: Whether the disk is read-only. Type: boolean Default: false dev_type: Description: Type of the device. Type: const Specific value: "DISK" source: Description: Source of the disk (pool path for CONTAINER, zvol path or incus storage volume name for VM). Default: null Any of: - Type: string Must be at least `1` characters long - Type: null destination: Description: Destination path for the disk. Default: null Any of: - Type: string - Type: null boot_priority: Description: Boot priority for the disk. Default: null Any of: - Type: integer Value must be greater or equal to `0` - Type: null io_bus: Description: I/O bus for the disk. (Details not provided in snippet) - GPU: (Details not provided in snippet) - Proxy: (Details not provided in snippet) - TPM: (Details not provided in snippet) - USB: (Details not provided in snippet) - NIC: (Details not provided in snippet) - PCI: (Details not provided in snippet) ``` -------------------------------- ### TrueNAS virt.instance API Methods Source: https://api.truenas.com/v25.04.0/api_methods_privilege.create Provides documentation for managing virtual machine instances within TrueNAS. Includes methods for starting, stopping, restarting, and updating VM instances. ```APIDOC virt.instance.restart: Description: Restarts a virtual machine instance. Parameters: None specified in input. Returns: Status of the restart operation. Example: Not provided. virt.instance.start: Description: Starts a virtual machine instance. Parameters: None specified in input. Returns: Status of the start operation. Example: Not provided. virt.instance.stop: Description: Stops a virtual machine instance. Parameters: None specified in input. Returns: Status of the stop operation. Example: Not provided. virt.instance.update: Description: Updates a virtual machine instance's configuration. Parameters: None specified in input. Returns: Status of the update operation. Example: Not provided. ``` -------------------------------- ### TrueNAS App Module API Methods Source: https://api.truenas.com/v25.04.0/api_methods_app.start Documentation for methods related to the 'app' module in the TrueNAS API. This includes starting, stopping, and checking similar applications. Specific details on parameters, return values, and usage examples are found on the linked API pages. ```APIDOC app: start(id: int) Starts an application by its ID. Parameters: id: The unique identifier of the application to start. Returns: Status of the operation. stop(id: int) Stops an application by its ID. Parameters: id: The unique identifier of the application to stop. Returns: Status of the operation. similar(id: int) Retrieves information about similar applications. Parameters: id: The unique identifier of the application to find similar ones for. Returns: List of similar applications. ``` -------------------------------- ### TrueNAS Periodic Snapshot Task Schedule Properties Source: https://api.truenas.com/v25.04.0/_sources/api_events_replication.query.rst Defines the properties for configuring the schedule of periodic snapshot tasks. This includes specifying the month, day of the week, and the start time for the task execution. Each property has a defined type, default value, and specific constraints or examples. ```APIDOC PeriodicSnapshotTaskSchedule: month: string Description: Specifies the month for the snapshot task. Constraints: "1" (January) - "12" (December) Default: "*" dow: string Description: Specifies the day of the week for the snapshot task. Constraints: "1" (Monday) - "7" (Sunday) Default: "*" begin: string Description: Specifies the start time for the snapshot task. Constraints: Time in HH:MM format. Default: "00:00" Examples: - "00:00" - "06:30" - "18:00" - "23:00" ``` -------------------------------- ### TrueNAS API: virt.instance Methods Source: https://api.truenas.com/v25.04.0/api_methods_user.set_password Provides documentation for managing virtual machine instances within the TrueNAS API. This group includes methods for querying instance status, starting, stopping, restarting, and updating VM configurations. Detailed parameter and return information is available via the linked API documentation. ```APIDOC virt.instance.query Description: Retrieves information about virtual machine instances. Link: https://api.truenas.com/v25.04.0/api_methods_virt.instance.query.html virt.instance.restart Description: Restarts a virtual machine instance. Link: https://api.truenas.com/v25.04.0/api_methods_virt.instance.restart.html virt.instance.start Description: Starts a virtual machine instance. Link: https://api.truenas.com/v25.04.0/api_methods_virt.instance.start.html virt.instance.stop Description: Stops a virtual machine instance. Link: https://api.truenas.com/v25.04.0/api_methods_virt.instance.stop.html virt.instance.update Description: Updates the configuration of a virtual machine instance. Link: https://api.truenas.com/v25.04.0/api_methods_virt.instance.update.html ``` -------------------------------- ### TrueNAS virt.instance API Methods Source: https://api.truenas.com/v25.04.0/api_methods_virt.device.gpu_choices Provides documentation for managing virtual machine instances within the TrueNAS API. Includes methods for listing devices, updating instances, querying status, and controlling instance lifecycle (start, stop, restart). ```APIDOC virt.instance: device_list() - Lists devices associated with a virtual machine instance. device_update(instance_id: int, devices: list) - Updates the devices attached to a virtual machine instance. - Parameters: - instance_id: The ID of the virtual machine instance. - devices: A list of device configurations to apply. get_instance(instance_id: int) - Retrieves detailed information about a specific virtual machine instance. - Parameters: - instance_id: The ID of the virtual machine instance. image_choices() - Returns a list of available operating system images for creating virtual machine instances. query(options: dict = None) - Queries virtual machine instances based on specified criteria. - Parameters: - options: Dictionary for filtering and sorting query results. restart(instance_id: int) - Restarts a running virtual machine instance. - Parameters: - instance_id: The ID of the virtual machine instance. start(instance_id: int) - Starts a stopped virtual machine instance. - Parameters: - instance_id: The ID of the virtual machine instance. stop(instance_id: int) - Stops a running virtual machine instance. - Parameters: - instance_id: The ID of the virtual machine instance. update(instance_id: int, data: dict) - Updates configuration settings for a virtual machine instance. - Parameters: - instance_id: The ID of the virtual machine instance. - data: Dictionary containing the configuration updates. ```