Plugin Operations¶
Summary¶
Plugin operations related to Lua migrations are listed below. Information regarding other operations is here.
Plugin Operation | Required | Decorator | Delphix Engine Operations |
---|---|---|---|
Lua Repository Data Migration | No | upgrade.repository(lua_version, MigrationType.LUA) |
Upgrade |
Lua Source Config Data Migration | No | upgrade.source_config(lua_version, MigrationType.LUA) |
Upgrade |
Lua Linked Source Data Migration | No | upgrade.linked_source(lua_version, MigrationType.LUA) |
Upgrade |
Lua Virtual Source Data Migration | No | upgrade.virtual_source(lua_version, MigrationType.LUA) |
Upgrade |
Lua Snapshot Data Migration | No | upgrade.snapshot(lua_version, MigrationType.LUA) |
Upgrade |
Lua Repository Data Migration¶
A Lua Repository Data Migration migrates repository data from an older schema format defined originally from a Lua toolkit to an updated schema format defined in the Python plugin.
Required / Optional¶
Optional.
Warning
You must ensure that all repository data will match your updated repository schema after an upgrade operation. Depending on how your schema has changed, this might imply that you need to write one or more repository data migrations.
Delphix Engine Operations¶
Signature¶
def migrate_repository(old_repository)
Decorator¶
upgrade.repository(lua_version, MigrationType.LUA)
Decorator Arguments¶
Argument | Type | Description |
---|---|---|
lua_version | String | The Lua version of the toolkit that this migration would be applicable to. This is the ID of this migration. The version here is actually just the major and minor version of the Lua toolkit. Therefore the lua_version for each repository data migration must be unique. |
migration_type | String | This field indicates whether the operation is a Lua migration or just a regular data migration. Specify this as LUA to indicate a Lua migration. If not defined, this operation will default to a regular repository data migration. |
Function Arguments¶
Argument | Type | Description |
---|---|---|
old_repository | Dictionary | The plugin-specific data associated with a repository, that conforms to the previous schema defined in Lua. |
Warning
The function argument old_repository
is a Python dictionary, where each property name appears exactly as described in the previous repository schema. This differs from non-upgrade-related operations, where the function arguments are autogenerated classes based on the schema.
Returns¶
Dictionary
A migrated version of the old_repository
input that must conform to the updated repository schema.
Example¶
from dlpx.virtualization.platform import Plugin
plugin = Plugin()
@plugin.upgrade.repository("1.1", MigrationType.LUA)
def add_new_flag_to_repository(old_repository):
new_repository = dict(old_repository)
new_repository["useNewFeature"] = False
return new_repository
Lua Source Config Data Migration¶
A Lua Source Config Data Migration migrates source config data from an older schema format defined originally from a Lua toolkit to an updated schema format defined in the Python plugin.
Required / Optional¶
Optional.
Warning
You must ensure that all source config data will match your source config schema after an upgrade operation. Depending on how your schema has changed, this might imply that you need to write one or more source config data migrations.
Delphix Engine Operations¶
Signature¶
def migrate_source_config(old_source_config)
Decorator¶
upgrade.source_config(lua_version, MigrationType.LUA)
Decorator Arguments¶
Argument | Type | Description |
---|---|---|
lua_version | String | The Lua version of the toolkit that this migration would be applicable to. This is the ID of this migration. The version here is actually just the major and minor version of the Lua toolkit. Therefore the lua_version for each repository data migration must be unique. |
migration_type | String | This field indicates whether the operation is a Lua migration or just a regular data migration. Specify this as LUA to indicate a Lua migration. If not defined, this operation will default to a regular source config data migration. |
Function Arguments¶
Argument | Type | Description |
---|---|---|
old_source_config | Dictionary | The plugin-specific data associated with a source config, that conforms to the previous schema. |
Warning
The function argument old_source_config
is a Python dictionary, where each property name appears exactly as described in the previous source config schema. This differs from non-upgrade-related operations, where the function arguments are autogenerated classes based on the schema.
Returns¶
Dictionary
A migrated version of the old_source_config
input that must conform to the updated source config schema.
Example¶
from dlpx.virtualization.platform import Plugin
plugin = Plugin()
@plugin.upgrade.source_config("1.1", MigrationType.LUA)
def add_new_flag_to_source_config(old_source_config):
new_source_config = dict(old_source_config)
new_source_config["useNewFeature"] = False
return new_source_config
Lua Linked Source Data Migration¶
A Lua Linked Source Data Migration migrates linked source data from an older schema format defined originally from a Lua toolkit to an updated schema format defined in the Python plugin.
Required / Optional¶
Optional.
Warning
You must ensure that all linked source data will match your linked source schema after an upgrade operation. Depending on how your schema has changed, this might imply that you need to write one or more linked source data migrations.
Delphix Engine Operations¶
Signature¶
def migrate_linked_source(old_linked_source)
Decorator¶
upgrade.linked_source(lua_version, MigrationType.LUA)
Decorator Arguments¶
Argument | Type | Description |
---|---|---|
lua_version | String | The Lua version of the toolkit that this migration would be applicable to. This is the ID of this migration. The version here is actually just the major and minor version of the Lua toolkit. Therefore the lua_version for each repository data migration must be unique. |
migration_type | String | This field indicates whether the operation is a Lua migration or just a regular data migration. Specify this as LUA to indicate a Lua migration. If not defined, this operation will default to a regular linked source data migration. |
Function Arguments¶
Argument | Type | Description |
---|---|---|
old_linked_source | Dictionary | The plugin-specific data associated with a linked source, that conforms to the previous schema. |
Warning
The function argument old_linked_source
is a Python dictionary, where each property name appears exactly as described in the previous linked source schema. This differs from non-upgrade-related operations, where the function arguments are autogenerated classes based on the schema.
Returns¶
Dictionary
A migrated version of the old_linked_source
input that must conform to the updated linked source schema.
Example¶
from dlpx.virtualization.platform import Plugin
plugin = Plugin()
@plugin.upgrade.linked_source("1.1", MigrationType.LUA)
def add_new_flag_to_linked_source(old_linked_source):
new_linked_source = dict(old_linked_source)
new_linked_source["useNewFeature"] = False
return new_linked_source
Lua Virtual Source Data Migration¶
A Lua Virtual Source Data Migration migrates virtual source data from an older schema format defined originally from a Lua toolkit to an updated schema format defined in the Python plugin.
Required / Optional¶
Optional.
Warning
You must ensure that all virtual source data will match your virtual source schema after an upgrade operation. Depending on how your schema has changed, this might imply that you need to write one or more virtual source data migrations.
Delphix Engine Operations¶
Signature¶
def migrate_virtual_source(old_virtual_source)
Decorator¶
upgrade.virtual_source(lua_version, MigrationType.LUA)
Decorator Arguments¶
Argument | Type | Description |
---|---|---|
lua_version | String | The Lua version of the toolkit that this migration would be applicable to. This is the ID of this migration. The version here is actually just the major and minor version of the Lua toolkit. Therefore the lua_version for each repository data migration must be unique. |
migration_type | String | This field indicates whether the operation is a Lua migration or just a regular data migration. Specify this as LUA to indicate a Lua migration. If not defined, this operation will default to a regular virtual source data migration. |
Function Arguments¶
Argument | Type | Description |
---|---|---|
old_virtual_source | Dictionary | The plugin-specific data associated with a virtual source, that conforms to the previous schema. |
Warning
The function argument old_virtual_source
is a Python dictionary, where each property name appears exactly as described in the previous virtual source schema. This differs from non-upgrade-related operations, where the function arguments are autogenerated classes based on the schema.
Returns¶
Dictionary
A migrated version of the old_virtual_source
input that must conform to the updated virtual source schema.
Example¶
from dlpx.virtualization.platform import Plugin
plugin = Plugin()
@plugin.upgrade.virtual_source("1.1", MigrationType.LUA)
def add_new_flag_to_virtual_source(old_virtual_source):
new_virtual_source = dict(old_virtual_source)
new_virtual_source["useNewFeature"] = False
return new_virtual_source
Lua Snapshot Data Migration¶
A Lua Snapshot Data Migration migrates snapshot data from an older schema format defined originally from a Lua toolkit to an updated schema format defined in the Python plugin.
Required / Optional¶
Optional.
Warning
You must ensure that all snapshot data will match your snapshot schema after an upgrade operation. Depending on how your schema has changed, this might imply that you need to write one or more snapshot migrations.
Delphix Engine Operations¶
Signature¶
def migrate_snapshot(old_snapshot)
Decorator¶
upgrade.snapshot(lua_version, MigrationType.LUA)
Decorator Arguments¶
Argument | Type | Description |
---|---|---|
lua_version | String | The Lua version of the toolkit that this migration would be applicable to. This is the ID of this migration. The version here is actually just the major and minor version of the Lua toolkit. Therefore the lua_version for each repository data migration must be unique. |
migration_type | String | This field indicates whether the operation is a Lua migration or just a regular data migration. Specify this as LUA to indicate a Lua migration. If not defined, this operation will default to a regular snapshot data migration. |
Function Arguments¶
Argument | Type | Description |
---|---|---|
old_snapshot | Dictionary | The plugin-specific data associated with a snapshot, that conforms to the previous schema. |
Warning
The function argument old_snapshot
is a Python dictionary, where each property name appears exactly as described in the previous snapshot schema. This differs from non-upgrade-related operations, where the function arguments are autogenerated classes based on the schema.
Returns¶
Dictionary
A migrated version of the old_snapshot
input that must conform to the updated snapshot schema.