You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/docs/Best_Practices/Code_Sharing.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
3
3
All Python modules inside of `srcDir` can be imported just as they would be if the plugin was executing locally. When a plugin operation is executed `srcDir` is the current working directory so all imports need to be relative to `srcDir` regardless of the path of the module doing the import.
4
4
5
-
Please refer to Python's [documentation on modules](https://docs.python.org/3.8/tutorial/modules.html#modules) to learn more about modules and imports.
5
+
Please refer to Python's [documentation on modules](https://docs.python.org/3.11/tutorial/modules.html#modules) to learn more about modules and imports.
Copy file name to clipboardExpand all lines: docs/docs/Best_Practices/Managing_Scripts_For_Remote_Execution.md
+2-2
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@ To execute a PowerShell or Bash script or Expect script on a remote host, you mu
4
4
5
5
[pkgutil](https://docs.python.org/2/library/pkgutil.html) is part of the standard Python library. The method that is applicable to resources is [pkgutil.get_data](https://docs.python.org/2/library/pkgutil.html#pkgutil.get_data).
6
6
7
-
When developing a plugin in Python3, it is instead suggested to use the newer `importlib.resources`. This package is part of the standard Python 3 library. The method that is applicable to resources is [resources.read_text](https://docs.python.org/3.8/library/importlib.html#importlib.resources.read_text), which accepts the same arguments as `pkgutil.get_data`.
7
+
When developing a plugin in Python3, it is instead suggested to use the newer `importlib.resources`. This package is part of the standard Python 3 library. The method that is applicable to resources is [resources.read_text](https://docs.python.org/3.11/library/importlib.resources.html#importlib.resources.read_text), which accepts the same arguments as `pkgutil.get_data`.
8
8
9
9
### Basic Usage
10
10
@@ -106,7 +106,7 @@ The contents of `src/resources/platform/get_date.sh` can be retrieved with:
Copy file name to clipboardExpand all lines: docs/docs/References/Logging.md
+4-4
Original file line number
Diff line number
Diff line change
@@ -6,10 +6,10 @@ The Virtualization Platform keeps plugin-specific log files. A plugin can, at an
6
6
7
7
## Overview
8
8
9
-
The Virtualization Platform integrates with Python's built-in [logging framework](https://docs.python.org/3.8/library/logging.html). A special [Handler](https://docs.python.org/3.8/library/logging.html#handler-objects) is exposed by the platform at `dlpx.virtualization.libs.PlatformHandler`. This handler needs to be added to the Python logger your plugin creates. Logging statements made through Python's logging framework will then be routed to the platform.
9
+
The Virtualization Platform integrates with Python's built-in [logging framework](https://docs.python.org/3.11/library/logging.html). A special [Handler](https://docs.python.org/3.11/library/logging.html#handler-objects) is exposed by the platform at `dlpx.virtualization.libs.PlatformHandler`. This handler needs to be added to the Python logger your plugin creates. Logging statements made through Python's logging framework will then be routed to the platform.
10
10
11
11
## Basic Setup
12
-
Below is the absolute minimum needed to setup logging for the platform. Please refer to Python's [logging documentation](https://docs.python.org/3.8/library/logging.html) and the [example below](#example) to better understand how it can be customized.
12
+
Below is the absolute minimum needed to setup logging for the platform. Please refer to Python's [logging documentation](https://docs.python.org/3.11/library/logging.html) and the [example below](#example) to better understand how it can be customized.
13
13
14
14
```python
15
15
import logging
@@ -40,7 +40,7 @@ logger.setLevel(logging.DEBUG)
40
40
There is a limit to how much data can be stored within a log message. See [Message Limits](../Best_Practices/Message_Limits.md) for details.
41
41
42
42
## Usage
43
-
Once the `PlatformHandler` has been added to the logger, logging is done with Python's [Logger](https://docs.python.org/3.8/library/logging.html#logger-objects) object. Below is a simple example including the basic setup code used above:
43
+
Once the `PlatformHandler` has been added to the logger, logging is done with Python's [Logger](https://docs.python.org/3.11/library/logging.html#logger-objects) object. Below is a simple example including the basic setup code used above:
44
44
45
45
```python
46
46
import logging
@@ -181,7 +181,7 @@ Download a support bundle by going to **Help** > **Support Logs** and select **
181
181
182
182
## Logging Levels
183
183
184
-
Python has a number of [preset logging levels](https://docs.python.org/3.8/library/logging.html#logging-levels) and allows for custom ones as well. Since logging on the Virtualization Platform uses the `logging` framework, log statements of all levels are supported.
184
+
Python has a number of [preset logging levels](https://docs.python.org/3.11/library/logging.html#logging-levels) and allows for custom ones as well. Since logging on the Virtualization Platform uses the `logging` framework, log statements of all levels are supported.
185
185
186
186
However, the Virtualization Platform will map all logging levels into three files: `debug.log`, `info.log`, and `error.log` in the following way:
Copy file name to clipboardExpand all lines: docs/docs/References/Plugin_Config.md
+18-18
Original file line number
Diff line number
Diff line change
@@ -5,22 +5,22 @@ The name of the file can be specified during the build. By default, the build lo
5
5
6
6
## Fields
7
7
8
-
|Field Name|Required|Type|Description|
9
-
|----------|:------:|:--:|-----------|
10
-
|id|Y|string|The unique id of the plugin in a valid UUID format.|
11
-
|name|N|string|The display name of the plugin. This will be used in the UI. If it is not specified name will be equal to id.|
12
-
|externalVersion|N|string|The plugin's [external version](../Versioning_And_Upgrade/Versioning.md#external-version). This is a freeform string. If it is not supplied, the build number is used as an external version.
13
-
|buildNumber|Y|string|The plugin's [build number](../Versioning_And_Upgrade/Versioning.md#build-number). This string must conform to the format described [here](../Versioning_And_Upgrade/Versioning.md#build-number-format-rules).
14
-
|hostTypes|Y|list|The host type that the plugin supports. Either `UNIX` or `WINDOWS`.|
15
-
|schemaFile|Y|string|The path to the JSON file that contains the [plugin's schema definitions](Schemas.md).<br><br>This path can be absolute or relative to the directory containing the plugin config file.|
16
-
|srcDir|Y|string|The path to the directory that contains the source code for the plugin. During execution of a plugin operation, this directory will be the current working directory of the Python interpreter. Any modules or resources defined outside of this directory will be inaccessible at runtime.<br><br>This path can be absolute or relative to the directory containing the plugin config file.|
17
-
|entryPoint|Y|string|A fully qualified Python symbol that points to the `dlpx.virtualization.platform.Plugin` object that defines the plugin.<br><br>It must be in the form `importable.module:object_name` where `importable.module` is in `srcDir`.|
18
-
|manualDiscovery|N|boolean|True if the plugin supports manual discovery of source config objects. The default value is `true`.|
19
-
|pluginType|Y|enum|The ingestion strategy of the plugin. Can be either `STAGED` or `DIRECT`.|
20
-
|language|Y|enum|Must be `PYTHON38`.|
21
-
|defaultLocale|N|enum|The locale to be used by the plugin if the Delphix user does not specify one. Plugin messages will be displayed in this locale by default. The default value is `en-us`.|
22
-
|rootSquashEnabled|N|boolean|This dictates whether "root squash" is enabled on NFS mounts for the plugin (i.e. whether the `root` user on remote hosts has access to the NFS mounts). Setting this to `false` allows processes usually run as `root`, like Docker daemons, access to the NFS mounts. The default value is `true`. This field only applies to Unix hosts.|
23
-
|extendedStartStopHooks|N|boolean|This controls whether the user's pre-start and post-start hooks will run during enable operations (and, likewise, whether pre-stop and post-stop hooks will run during disable operations). The default value is `false`.|
|id|Y|string|The unique id of the plugin in a valid UUID format.|
11
+
|name|N|string|The display name of the plugin. This will be used in the UI. If it is not specified name will be equal to id.|
12
+
|externalVersion|N|string|The plugin's [external version](../Versioning_And_Upgrade/Versioning.md#external-version). This is a freeform string. If it is not supplied, the build number is used as an external version.
13
+
|buildNumber|Y|string|The plugin's [build number](../Versioning_And_Upgrade/Versioning.md#build-number). This string must conform to the format described [here](../Versioning_And_Upgrade/Versioning.md#build-number-format-rules).
14
+
|hostTypes|Y|list|The host type that the plugin supports. Either `UNIX` or `WINDOWS`.|
15
+
|schemaFile|Y|string|The path to the JSON file that contains the [plugin's schema definitions](Schemas.md).<br><br>This path can be absolute or relative to the directory containing the plugin config file.|
16
+
|srcDir|Y|string|The path to the directory that contains the source code for the plugin. During execution of a plugin operation, this directory will be the current working directory of the Python interpreter. Any modules or resources defined outside of this directory will be inaccessible at runtime.<br><br>This path can be absolute or relative to the directory containing the plugin config file.|
17
+
|entryPoint|Y|string|A fully qualified Python symbol that points to the `dlpx.virtualization.platform.Plugin` object that defines the plugin.<br><br>It must be in the form `importable.module:object_name` where `importable.module` is in `srcDir`.|
18
+
|manualDiscovery|N|boolean|True if the plugin supports manual discovery of source config objects. The default value is `true`.|
19
+
|pluginType|Y|enum|The ingestion strategy of the plugin. Can be either `STAGED` or `DIRECT`.|
20
+
|language|Y|enum|Must be `PYTHON311`. |
21
+
|defaultLocale|N|enum|The locale to be used by the plugin if the Delphix user does not specify one. Plugin messages will be displayed in this locale by default. The default value is `en-us`.|
22
+
|rootSquashEnabled|N|boolean|This dictates whether "root squash" is enabled on NFS mounts for the plugin (i.e. whether the `root` user on remote hosts has access to the NFS mounts). Setting this to `false` allows processes usually run as `root`, like Docker daemons, access to the NFS mounts. The default value is `true`. This field only applies to Unix hosts.|
23
+
|extendedStartStopHooks|N|boolean|This controls whether the user's pre-start and post-start hooks will run during enable operations (and, likewise, whether pre-stop and post-stop hooks will run during disable operations). The default value is `false`.|
0 commit comments