Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions common/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
bump2version==1.0.1
packaging==22.0
pluggy==1.0.0
pyparsing==3.0.9
pytest==7.2.0
six==1.16.0
zipp==3.11.0
packaging==26.0
pluggy==1.6.0
pyparsing==3.3.2
pytest==9.0.2
six==1.17.0
zipp==3.23.0
4 changes: 2 additions & 2 deletions common/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
PYTHON_SRC = 'src/main/python'

install_requires = [
"dvp-api == 1.9.0",
"six >= 1.16, < 1.17",
"dvp-api == 1.10.0.dev0",
"six >= 1.17, < 1.18",
]

with open(os.path.join(PYTHON_SRC, 'dlpx/virtualization/common/VERSION')) as version_file:
Expand Down
Original file line number Diff line number Diff line change
@@ -1 +1 @@
5.0.1
5.1.0
6 changes: 3 additions & 3 deletions docs/Pipfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@ verify_ssl = true
name = "pypi"

[packages]
mkdocs = "==1.4.3"
mkdocs-material = "==9.1.7"
mkdocs = "==1.6.1"
mkdocs-material = "==9.7.6"
markdown-include = "==0.8.1"
mkdocs-awesome-pages-plugin = "==2.9.1"
mkdocs-awesome-pages-plugin = "==2.10.1"

[requires]
python_version = "3.11"
Expand Down
773 changes: 444 additions & 329 deletions docs/Pipfile.lock

Large diffs are not rendered by default.

19 changes: 19 additions & 0 deletions docs/docs/References/Classes.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,25 @@ mounts | list[[Mount](#mount)] | Mount points associated with the source.
> - When only one [mountSpecification](#mountspecification) object is provided, `mount` will be present.
- When more than one [mountSpecification](#mountspecification) object is provided, `mounts` will be present.

## PhysicalSource

Represents the target physical source when converting a virtual or linked source to a physical source. Passed as an argument to the [Virtual Source to Physical](Plugin_Operations.md#virtual-source-to-physical), [Direct Linked Source to Physical](Plugin_Operations.md#direct-linked-source-to-physical), and [Staged Linked Source to Physical](Plugin_Operations.md#staged-linked-source-to-physical) operations.

```python
from dlpx.virtualization.platform import PhysicalSource

physical_source = PhysicalSource(guid, connection, target_directory, parameters)
```

### Fields

Field | Type | Description
----- | ---- | -----------
guid | String | Unique identifier for the physical source.
connection | [RemoteConnection](#remoteconnection) | Connection for the target physical environment.
target_directory | String | The directory path on the physical host where data will be exported.
parameters | [VirtualToPhysicalDefinition](Schemas_and_Autogenerated_Classes.md#virtualtophysicaldefinition-class) | User input as per the [VirtualToPhysicalDefinition Schema](Schemas_and_Autogenerated_Classes.md#virtualtophysicaldefinition-schema).

## VirtualSource

Represents a Virtual Source object and its properties.
Expand Down
3 changes: 3 additions & 0 deletions docs/docs/References/Decorators.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ Plugin Operation | Decorator
[Direct Linked Source Pre-Snapshot](Plugin_Operations.md#direct-linked-source-pre-snapshot) | `@plugin.linked.pre_snapshot()`
[Direct Linked Source Post-Snapshot](Plugin_Operations.md#direct-linked-source-post-snapshot) | `@plugin.linked.post_snapshot()`
[Direct Linked Source Size](Plugin_Operations.md#direct-linked-source-size) | `@plugin.linked.source_size()`
[Direct Linked Source to Physical](Plugin_Operations.md#direct-linked-source-to-physical) | `@plugin.linked.source_to_physical()`
[Staged Linked Source Pre-Snapshot](Plugin_Operations.md#staged-linked-source-pre-snapshot) | `@plugin.linked.pre_snapshot()`
[Staged Linked Source Post-Snapshot](Plugin_Operations.md#staged-linked-source-post-snapshot) | `@plugin.linked.post_snapshot()`
[Staged Linked Source Start-Staging](Plugin_Operations.md#staged-linked-source-start-staging) | `@plugin.linked.start_staging()`
Expand All @@ -36,6 +37,7 @@ Plugin Operation | Decorator
[Staged Linked Source Worker](Plugin_Operations.md#staged-linked-source-worker) | `@plugin.linked.worker()`
[Staged Linked Source Mount Specification](Plugin_Operations.md#staged-linked-source-mount-specification) | `@plugin.linked.mount_specification()`
[Staged Linked Source Size](Plugin_Operations.md#staged-linked-source-size) | `@plugin.linked.source_size()`
[Staged Linked Source to Physical](Plugin_Operations.md#staged-linked-source-to-physical) | `@plugin.linked.source_to_physical()`
[Virtual Source Configure](Plugin_Operations.md#virtual-source-configure) | `@plugin.virtual.configure()`
[Virtual Source Initialize](Plugin_Operations.md#virtual-source-initialize) | `@plugin.virtual.initialize()`
[Virtual Source Unconfigure](Plugin_Operations.md#virtual-source-unconfigure) | `@plugin.virtual.unconfigure()`
Expand All @@ -48,6 +50,7 @@ Plugin Operation | Decorator
[Virtual Source Mount Specification](Plugin_Operations.md#virtual-source-mount-specification) | `@plugin.virtual.mount_specification()`
[Virtual Source Status](Plugin_Operations.md#virtual-source-status) | `@plugin.virtual.status()`
[Virtual Source Size](Plugin_Operations.md#virtual-source-size) | `@plugin.virtual.source_size()`
[Virtual Source to Physical](Plugin_Operations.md#virtual-source-to-physical) | `@plugin.virtual.source_to_physical()`
[Repository Data Migration](Plugin_Operations.md#repository-data-migration) | `@plugin.upgrade.repository(migration_id)`
[Source Config Data Migration](Plugin_Operations.md#source-config-data-migration) | `@plugin.upgrade.source_config(migration_id)`
[Linked Source Data Migration](Plugin_Operations.md#linked-source-data-migration) | `@plugin.upgrade.linked_source(migration_id)`
Expand Down
6 changes: 6 additions & 0 deletions docs/docs/References/Glossary.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,12 @@ A collection of information, provided by the plugin, which give all the details
## Password Properties
In [schemas](#schema), any string property can be tagged with `"format": "password"`. This will let the Delphix Engine know that the property contains sensitive information. Any such values will only be stored in encrypted format, and the UI will not display the values on screen.

## Physical Dataset
A real, non-virtualized, physical copy of data that has been exported from the Delphix Engine to a target environment. Unlike a [virtual dataset](#virtual-dataset), a physical dataset is stored directly on the target host outside Delphix storage.

## Physical Source
An object on the Delphix Engine that holds information related to a [physical dataset](#physical-dataset).

## Platform Libraries
A set of Python functions that are provided by the Virtualization Platform. Plugins use these library functions to request that the Virtualization Platform do some task on behalf of the plugin. For example, running a Bash command on an environment, or making an log entry.

Expand Down
141 changes: 141 additions & 0 deletions docs/docs/References/Plugin_Operations.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ Plugin Operation | **Required** | Decorator | Delphix Engine Operations
[Direct Linked Source<br/>Pre-Snapshot](#direct-linked-source-pre-snapshot) | **No** | `linked.pre_snapshot()` | [Linked Source Sync](Workflows.md#linked-source-sync)
[Direct Linked Source<br/>Post-Snapshot](#direct-linked-source-post-snapshot) | **Yes** | `linked.post_snapshot()` | [Linked Source Sync](Workflows.md#linked-source-sync)
[Direct Linked Source<br/>Source Size](#direct-linked-source-size) | **No** | `linked.source_size()` | N/A
[Direct Linked Source<br/>to Physical](#direct-linked-source-to-physical) | **No** | `linked.source_to_physical()` | [Linked Source to Physical](Workflows.md#linked-source-to-physical)
[Staged Linked Source<br/>Pre-Snapshot](#staged-linked-source-pre-snapshot) | **No** | `linked.pre_snapshot()` | [Linked Source Sync](Workflows.md#linked-source-sync)
[Staged Linked Source<br/>Post-Snapshot](#staged-linked-source-post-snapshot) | **Yes** | `linked.post_snapshot()` | [Linked Source Sync](Workflows.md#linked-source-sync)
[Staged Linked Source<br/>Start-Staging](#staged-linked-source-start-staging) | **No** | `linked.start_staging()` | [Linked Source Enable](Workflows.md#linked-source-enable)
Expand All @@ -23,6 +24,7 @@ Plugin Operation | **Required** | Decorator | Delphix Engine Operations
[Staged Linked Source<br/>Worker](#staged-linked-source-worker) | **No** |`linked.worker()` | N/A
[Staged Linked Source<br/>Mount Specification](#staged-linked-source-mount-specification) | **Yes** | `linked.mount_specification()` | [Linked Source Sync](Workflows.md#linked-source-sync)<br/>[Linked Source Enable](Workflows.md#linked-source-enable)
[Staged Linked Source<br/>Source Size](#staged-linked-source-size) | **No** | `linked.source_size()` | N/A
[Staged Linked Source<br/>to Physical](#staged-linked-source-to-physical) | **No** | `linked.source_to_physical()` | [Linked Source to Physical](Workflows.md#linked-source-to-physical)
[Virtual Source<br/>Initialize](#virtual-source-initialize) | **No** | `virtual.initialize()` | [Virtual Source Create Empty VDB](Workflows.md#virtual-source-create-empty-vdb)
[Virtual Source<br/>Configure](#virtual-source-configure) | **Yes** | `virtual.configure()` | [Virtual Source Provision](Workflows.md#virtual-source-provision)<br/>[Virtual Source Refresh](Workflows.md#virtual-source-refresh)
[Virtual Source<br/>Unconfigure](#virtual-source-unconfigure) | **No** | `virtual.unconfigure()` | [Virtual Source Refresh](Workflows.md#virtual-source-refresh)<br/>[Virtual Source Delete](Workflows.md#virtual-source-delete)
Expand All @@ -35,6 +37,7 @@ Plugin Operation | **Required** | Decorator | Delphix Engine Operations
[Virtual Source<br>Mount Specification](#virtual-source-mount-specification) | **Yes** | `virtual.mount_specification()` | [Virtual Source Enable](Workflows.md#virtual-source-enable)<br/>[Virtual Source Provision](Workflows.md#virtual-source-provision)<br/>[Virtual Source Refresh](Workflows.md#virtual-source-refresh)<br/>[Virtual Source Rollback](Workflows.md#virtual-source-rollback)<br/>[Virtual Source Start](Workflows.md#virtual-source-start)
[Virtual Source<br/>Status](#virtual-source-status) | **No** | `virtual.status()` | [Virtual Source Enable](Workflows.md#virtual-source-enable)
[Virtual Source<br/>Source Size](#virtual-source-size) | **No** | `virtual.source_size()` | N/A
[Virtual Source<br/>to Physical](#virtual-source-to-physical) | **No** | `virtual.source_to_physical()` | [Virtual Source to Physical](Workflows.md#virtual-source-to-physical)
[Repository Data Migration](#repository-data-migration) | **No** | `upgrade.repository(migration_id)` | [Upgrade](Workflows.md#upgrade)
[Source Config Data Migration](#source-config-data-migration) | **No** | `upgrade.source_config(migration_id)` | [Upgrade](Workflows.md#upgrade)
[Linked Source Data Migration](#linked-source-data-migration) | **No** | `upgrade.linked_source(migration_id)` | [Upgrade](Workflows.md#upgrade)
Expand Down Expand Up @@ -313,6 +316,52 @@ def linked_source_size(direct_source, repository, source_config):
return database_size
```

## Direct Linked Source to Physical

Converts a [Direct Linked Source](Glossary.md#direct-linking) to a physical source. Only applies when a physical export is requested on a dSource using a [Direct Linking](Glossary.md#direct-linking) strategy.

### Required / Optional
**Optional.**

### Delphix Engine Operations

* [Linked Source to Physical](Workflows.md#linked-source-to-physical)

### Signature

`def direct_source_to_physical(direct_source, repository, source_config, snapshot, physical_source)`

### Decorator

`linked.source_to_physical()`

### Arguments

Argument | Type | Description
-------- | ---- | -----------
direct_source | [DirectSource](Classes.md#directsource) | The direct linked source being exported.
repository | [RepositoryDefinition](Schemas_and_Autogenerated_Classes.md#repositorydefinition-class) | The repository associated with this source.
source_config | [SourceConfigDefinition](Schemas_and_Autogenerated_Classes.md#sourceconfigdefinition-class) | The source config associated with this source.
snapshot | [SnapshotDefinition](Schemas_and_Autogenerated_Classes.md#snapshotdefinition-class) | The snapshot being exported.
physical_source | [PhysicalSource](Classes.md#physicalsource) | The target physical source, including connection, target directory, and user-defined parameters from the [VirtualToPhysicalDefinition](Schemas_and_Autogenerated_Classes.md#virtualtophysicaldefinition-class).

### Returns
None

### Example

```python
from dlpx.virtualization.platform import Plugin

plugin = Plugin()

@plugin.linked.source_to_physical()
def direct_source_to_physical(direct_source, repository, source_config, snapshot, physical_source):
target_dir = physical_source.target_directory
# Copy or export data to target_dir on the physical host
pass
```

## Staged Linked Source Pre-Snapshot

Sets up a [dSource](Glossary.md#dsource) to ingest data. Only applies when using a [Staged Linking](Glossary.md#staged-linking) strategy.
Expand Down Expand Up @@ -687,6 +736,52 @@ def linked_source_size(staged_source, repository, source_config):
return database_size
```

## Staged Linked Source to Physical

Converts a [Staged Linked Source](Glossary.md#staged-linking) to a physical source. Only applies when a physical export is requested on a dSource using a [Staged Linking](Glossary.md#staged-linking) strategy.

### Required / Optional
**Optional.**

### Delphix Engine Operations

* [Linked Source to Physical](Workflows.md#linked-source-to-physical)

### Signature

`def staged_source_to_physical(staged_source, repository, source_config, snapshot, physical_source)`

### Decorator

`linked.source_to_physical()`

### Arguments

Argument | Type | Description
-------- | ---- | -----------
staged_source | [StagedSource](Classes.md#stagedsource) | The staged linked source being exported.
repository | [RepositoryDefinition](Schemas_and_Autogenerated_Classes.md#repositorydefinition-class) | The repository associated with this source.
source_config | [SourceConfigDefinition](Schemas_and_Autogenerated_Classes.md#sourceconfigdefinition-class) | The source config associated with this source.
snapshot | [SnapshotDefinition](Schemas_and_Autogenerated_Classes.md#snapshotdefinition-class) | The snapshot being exported.
physical_source | [PhysicalSource](Classes.md#physicalsource) | The target physical source, including connection, target directory, and user-defined parameters from the [VirtualToPhysicalDefinition](Schemas_and_Autogenerated_Classes.md#virtualtophysicaldefinition-class).

### Returns
None

### Example

```python
from dlpx.virtualization.platform import Plugin

plugin = Plugin()

@plugin.linked.source_to_physical()
def staged_source_to_physical(staged_source, repository, source_config, snapshot, physical_source):
target_dir = physical_source.target_directory
# Copy or export data to target_dir on the physical host
pass
```

## Virtual Source Initialize

Initializes a brand-new [empty VDB](Glossary.md#empty-vdb). As with all VDBs, this new dataset will have access to mounted Delphix Engine storage, but of course there will be no data there at first.
Expand Down Expand Up @@ -1289,6 +1384,52 @@ def virtual_source_size(virtual_source, repository, source_config):
```


## Virtual Source to Physical

Converts a [Virtual Source](Glossary.md#virtual-source) to a physical source. Only applies when a physical export is requested on a VDB.

### Required / Optional
**Optional.**

### Delphix Engine Operations

* [Virtual Source to Physical](Workflows.md#virtual-source-to-physical)

### Signature

`def virtual_source_to_physical(virtual_source, repository, source_config, snapshot, physical_source)`

### Decorator

`virtual.source_to_physical()`

### Arguments

Argument | Type | Description
-------- | ---- | -----------
virtual_source | [VirtualSource](Classes.md#virtualsource) | The virtual source being exported.
repository | [RepositoryDefinition](Schemas_and_Autogenerated_Classes.md#repositorydefinition-class) | The repository associated with this source.
source_config | [SourceConfigDefinition](Schemas_and_Autogenerated_Classes.md#sourceconfigdefinition-class) | The source config associated with this source.
snapshot | [SnapshotDefinition](Schemas_and_Autogenerated_Classes.md#snapshotdefinition-class) | The snapshot being exported.
physical_source | [PhysicalSource](Classes.md#physicalsource) | The target physical source, including connection, target directory, and user-defined parameters from the [VirtualToPhysicalDefinition](Schemas_and_Autogenerated_Classes.md#virtualtophysicaldefinition-class).

### Returns
None

### Example

```python
from dlpx.virtualization.platform import Plugin

plugin = Plugin()

@plugin.virtual.source_to_physical()
def virtual_source_to_physical(virtual_source, repository, source_config, snapshot, physical_source):
target_dir = physical_source.target_directory
# Copy or export data to target_dir on the physical host
pass
```

## Repository Data Migration

A Repository [Data Migration](Glossary.md#data-migration) migrates repository data from an older [schema](Glossary.md#schema) format to an updated schema format.
Expand Down
5 changes: 3 additions & 2 deletions docs/docs/References/Schemas.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,16 +13,17 @@ Plugins use [schemas](Glossary.md#schema) to describe the format of such data. O
2. It is used to autogenerate a custom user interface, and to validate user inputs.
3. It is used to [autogenerate Python classes](Schemas_and_Autogenerated_Classes.md) that can be used by plugin code to access and manipulate user input and stored data.

There are five plugin-customizable data formats:
There are seven plugin-customizable data formats:

Delphix Object | Schema | Autogenerated Class
-------------- | ------ | -------------------
[Repository](Glossary.md#repository) | [RepositoryDefinition](Schemas_and_Autogenerated_Classes.md#repositorydefinition-schema) | [RepositoryDefinition](Schemas_and_Autogenerated_Classes.md#repositorydefinition-class)
[Source Config](Glossary.md#source-config) | [SourceConfigDefinition](Schemas_and_Autogenerated_Classes.md#sourceconfigdefinition-schema) | [SourceConfigDefinition](Schemas_and_Autogenerated_Classes.md#sourceconfigdefinition-class)
[Linked Source](Glossary.md#linked-source) | [LinkedSourceDefinition](Schemas_and_Autogenerated_Classes.md#linkedsourcedefinition-schema) | [LinkedSourceDefinition](Schemas_and_Autogenerated_Classes.md#linkedsourcedefinition-class)
[Virtual Source](Glossary.md#virtual-source) | [VirtualSourceDefinition](Schemas_and_Autogenerated_Classes.md#virtualsourcedefinition-schema)| [VirtualSourceDefinition](Schemas_and_Autogenerated_Classes.md#virtualsourcedefinition-class)
[Snapshot](Glossary.md#linked-source) | [SnapshotDefinition](Schemas_and_Autogenerated_Classes.md#snapshotdefinition-schema) | [SnapshotDefinition](Schemas_and_Autogenerated_Classes.md#snapshotdefinition-class)
[Snapshot](Glossary.md#snapshot) | [SnapshotDefinition](Schemas_and_Autogenerated_Classes.md#snapshotdefinition-schema) | [SnapshotDefinition](Schemas_and_Autogenerated_Classes.md#snapshotdefinition-class)
[Snapshot Parameters](Glossary.md#snapshot-parameters) | [SnapshotParametersDefinition](Schemas_and_Autogenerated_Classes.md#snapshotparametersdefinition-schema) | [SnapshotParametersDefinition](Schemas_and_Autogenerated_Classes.md#snapshotparametersdefinition-class)
[Physical Source](Glossary.md#physical-source) | [VirtualToPhysicalDefinition](Schemas_and_Autogenerated_Classes.md#virtualtophysicaldefinition-schema) | [VirtualToPhysicalDefinition](Schemas_and_Autogenerated_Classes.md#virtualtophysicaldefinition-class)

!!! warning
There are limits to how much data can be stored within a plugin defined schema. See [Message Limits](../Best_Practices/Message_Limits.md) for details.
Expand Down
Loading
Loading