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/CLI_Configuration_File.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -23,21 +23,21 @@ Your user's home directory will depend on the operating system, but can be refer
23
23
The CLI configuration file supports the following options:
24
24
25
25
### engine
26
-
Specifies the Delphix Engine which can be used as part of the [dvp upload](/References/CLI.md#upload) or [dvp download-logs](/References/CLI.md#download-logs) command.
26
+
Specifies the Delphix Engine which can be used as part of the [dvp upload](../References/CLI.md#upload) or [dvp download-logs](../References/CLI.md#download-logs) command.
27
27
28
28
```
29
29
engine = engine.example.com
30
30
```
31
31
32
32
### user
33
-
Specifies the user to a Delphix Engine which is used as part of the [dvp upload](/References/CLI.md#upload) or [dvp download-logs](/References/CLI.md#download-logs) command.
33
+
Specifies the user to a Delphix Engine which is used as part of the [dvp upload](../References/CLI.md#upload) or [dvp download-logs](../References/CLI.md#download-logs) command.
34
34
35
35
```
36
36
user = admin
37
37
```
38
38
39
39
### password
40
-
Specifies the password for the user to a Delphix Engine which is used as part of the [dvp upload](/References/CLI.md#upload) or [dvp download-logs](/References/CLI.md#download-logs) command.
40
+
Specifies the password for the user to a Delphix Engine which is used as part of the [dvp upload](../References/CLI.md#upload) or [dvp download-logs](../References/CLI.md#download-logs) command.
Copy file name to clipboardExpand all lines: docs/docs/Best_Practices/Code_Sharing.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -34,7 +34,7 @@ Any module in the plugin could import `execution_util.py` with `from utils impor
34
34
35
35
Note that the `srcDir` in the plugin config file (`src` in this example) does _not_ need an `__init__.py` file.
36
36
37
-
For information on which vSDK versions run on Python 2.7, visit the [Version Compatibility Page](/References/Version_Compatibility/#virtualization-sdk-and-python-compatibility-map).
37
+
For information on which vSDK versions run on Python 2.7, visit the [Version Compatibility Page](../References/Version_Compatibility.md#virtualization-sdk-and-python-compatibility-map).
If developing a plugin in Python 2.7, you will need to use `pkgutil.get_data` rather than `importlib.resources.read_text`.
153
153
154
-
See [Managing Scripts For Remote Execution](/Best_Practices/Managing_Scripts_For_Remote_Execution.md) for more info.
154
+
See [Managing Scripts For Remote Execution](Managing_Scripts_For_Remote_Execution.md) for more info.
155
155
156
156
!!! note
157
-
Both `execute_sql` and `execute_shell` use the `check` parameter which will cause an error to be raised if the exit code is non-zero. For more information refer to the `run_bash`[documentation](/References/Platform_Libraries.md#run_bash).
157
+
Both `execute_sql` and `execute_shell` use the `check` parameter which will cause an error to be raised if the exit code is non-zero. For more information refer to the `run_bash`[documentation](../References/Platform_Libraries.md#run_bash).
Copy file name to clipboardExpand all lines: docs/docs/Best_Practices/Message_Limits.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,13 +2,13 @@
2
2
3
3
There are limits on how much data can be sent back and forth between the plugin and engine at a time. There are five scenarios where this comes into play:
4
4
5
-
1. Inputs sent from the engine to the plugin, as arguments to a [Plugin Operation](/References/Plugin_Operations.md). For example, the schema-defined `Repository` object that is provided as input to plugin operations.
5
+
1. Inputs sent from the engine to the plugin, as arguments to a [Plugin Operation](../References/Plugin_Operations.md). For example, the schema-defined `Repository` object that is provided as input to plugin operations.
6
6
7
7
2. Outputs sent back from the plugin to the engine, as the return values from plugin operations.
8
8
9
-
3. Exception messages and call stacks thrown by plugin code. For example, the `message` field within [User Visible Errors](/Best_Practices/User_Visible_Errors.md).
9
+
3. Exception messages and call stacks thrown by plugin code. For example, the `message` field within [User Visible Errors](User_Visible_Errors.md).
10
10
11
-
4. Inputs sent from the plugin to the engine, as arguments to a [Platform library](/References/Platform_Libraries.md) function. For example, the `message` field that is passed to `logger.debug`.
11
+
4. Inputs sent from the plugin to the engine, as arguments to a [Platform library](../References/Platform_Libraries.md) function. For example, the `message` field that is passed to `logger.debug`.
12
12
13
13
5. Outputs sent back from the engine to the plugin, as the return values from Platform Library functions. For example, the `stdout` resulting from a call to `libs.run_bash`.
Copy file name to clipboardExpand all lines: docs/docs/Best_Practices/Runtime_Environment.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -16,7 +16,7 @@ Our Python 2.7 runtime environment only contains the [Python Standard Library](h
16
16
17
17
If you want to use some Python module that is not part of the standard library, you might be able to do so.
18
18
You would need to include that library as part of your plugin. That would involve downloading the source
19
-
code for that module, and copying it into your source directory. For more information on how to lay out code in your source directory, see [Code Sharing](/Best_Practices/Code_Sharing.md).
19
+
code for that module, and copying it into your source directory. For more information on how to lay out code in your source directory, see [Code Sharing](Code_Sharing.md).
20
20
21
21
### Warnings
22
22
There are two major things to watch out for if you decide to incorporate a 3rd-party library.
Copy file name to clipboardExpand all lines: docs/docs/Best_Practices/Scratch_Paths.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@ A scratch path is a directory reserved for plugin use on each remote host. This
6
6
- A place to mount VDB data
7
7
- Temporary logs for debugging (Be careful that you don't use too much space though!)
8
8
9
-
The location of this scratch area is given by the `scratch_path` property on the [RemoteHost](/References/Classes/#remotehost) object.
9
+
The location of this scratch area is given by the `scratch_path` property on the [RemoteHost](../References/Classes.md#remotehost) object.
10
10
11
11
12
12
Things to note about the scratch path:
@@ -15,5 +15,5 @@ Things to note about the scratch path:
15
15
- No guarantees are made about how much space might be available in this directory. It is strongly advised that you use only a small amount of disk space here.
16
16
- The directory will be owned by the "primary user" associated with the remote host. This might be a completely different user from the one that is associated with a particular dsource or VDB.
17
17
- If you need to store dSource- or VDB-specific data, it is highly recommended that you create a separate subdirectory for each dSource/VDB inside this scratch area. It's also recommended to name this subdirectory using the GUID of the dSource/VDB, so that you avoid accidental name collisions.
18
-
- The Delphix Engine will not do any cleanup for you, so be sure to delete anything you're no longer using. For example, any VDB-specific information must be deleted in your [unconfigure](/References/Plugin_Operations/#virtual-source-unconfigure) operation (and dSource data gets deleted in your [stopStaging](/References/Plugin_Operations/#staged-linked-source-stop-staging) operation.)
18
+
- The Delphix Engine will not do any cleanup for you, so be sure to delete anything you're no longer using. For example, any VDB-specific information must be deleted in your [unconfigure](../References/Plugin_Operations.md#virtual-source-unconfigure) operation (and dSource data gets deleted in your [stopStaging](../References/Plugin_Operations.md#staged-linked-source-stop-staging) operation.)
19
19
- Do not store any [sensitive information](Sensitive_Data.md) here!
Copy file name to clipboardExpand all lines: docs/docs/Best_Practices/Sensitive_Data.md
+6-6Lines changed: 6 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,7 +12,7 @@ Each of these tips are explained below.
12
12
13
13
## Marking Your Data As Sensitive
14
14
15
-
Because the Delphix Engine manages the storing and retrieving of plugin-defined data, it needs to know which pieces of data are sensitive. The plugin does this in its [schemas](/References/Glossary.md#schema), by using the special [`password`](/References/Schemas.md#password) keyword.
15
+
Because the Delphix Engine manages the storing and retrieving of plugin-defined data, it needs to know which pieces of data are sensitive. The plugin does this in its [schemas](../References/Glossary.md#schema), by using the special [`password`](../References/Schemas.md#password) keyword.
16
16
17
17
The following example of a schema defines an object with three properties, one of which is sensitive and tagged with the `password` keyword:
18
18
@@ -35,11 +35,11 @@ This tells the Delphix Engine to take special precautions with this password pro
35
35
4. Clients of the Delphix Engine's public API will not be able to access the password.
36
36
37
37
!!! note
38
-
Removing a previously added password property from a field and running a [Data Migration](/References/Glossary.md#data-migration) will expose the password in plaintext. If this is intentional, write a migration to ensure that the new property conforms to the new schema.
38
+
Removing a previously added password property from a field and running a [Data Migration](../References/Glossary.md#data-migration) will expose the password in plaintext. If this is intentional, write a migration to ensure that the new property conforms to the new schema.
39
39
40
40
## Protecting Sensitive Data with Password Vaults
41
41
42
-
Plugins can also leverage the password vaults configured in the Delphix engine to avoid storing sensitive data in the engine itself. In addition, vaults can rotate secrets seamlessly behind the scenes without requiring Delphix users to update those secrets in the engine. To give users the option to choose between directly entering a secret, such as a password or private key, or retrieving it from a vault, Delphix provides [pre-defined credential types](/References/Schemas.md#delphix-specific-pre-defined-types).
42
+
Plugins can also leverage the password vaults configured in the Delphix engine to avoid storing sensitive data in the engine itself. In addition, vaults can rotate secrets seamlessly behind the scenes without requiring Delphix users to update those secrets in the engine. To give users the option to choose between directly entering a secret, such as a password or private key, or retrieving it from a vault, Delphix provides [pre-defined credential types](../References/Schemas.md#delphix-specific-pre-defined-types).
43
43
44
44
When using these special types, the example above becomes:
45
45
@@ -55,9 +55,9 @@ When using these special types, the example above becomes:
55
55
}
56
56
```
57
57
58
-
For details on how the user can provide the information required for a property such as `db_credentials_supplier`, see the [section on pre-defined types](/References/Schemas.md#delphix-specific-pre-defined-types).
58
+
For details on how the user can provide the information required for a property such as `db_credentials_supplier`, see the [section on pre-defined types](../References/Schemas.md#delphix-specific-pre-defined-types).
59
59
60
-
At runtime, the plugin code must convert the credentials information provided by the user into an actual set of credentials that the plugin can use. To do this, the plugin must call the library function [`retrieve_credentials`](/References/Platform_Libraries.md#retrieve_credentials). For example:
60
+
At runtime, the plugin code must convert the credentials information provided by the user into an actual set of credentials that the plugin can use. To do this, the plugin must call the library function [`retrieve_credentials`](../References/Platform_Libraries.md#retrieve_credentials). For example:
## Using Environment Variables For Remote Data Passing
75
75
76
-
Sometimes, a plugin will need to pass sensitive data to a remote environment. For example, perhaps a database command needs to be run on a [staging environment](/References/Glossary.md#staging-environment), and that database command will need to use a password.
76
+
Sometimes, a plugin will need to pass sensitive data to a remote environment. For example, perhaps a database command needs to be run on a [staging environment](../References/Glossary.md#staging-environment), and that database command will need to use a password.
77
77
78
78
### Example
79
79
Let us take a look at a very simple example where we need to shutdown a database called "inventory" on a target environment by using the `db_cmd shutdown inventory` command. This command will ask for a password on `stdin`, and for our example our password is "hunter2".
0 commit comments