Skip to content

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.

Example

from dlpx.virtualization.platform import Plugin

plugin = Plugin()

@plugin.upgrade.snapshot("1.1", MigrationType.LUA)
def add_new_flag_to_snapshot(old_snapshot):
  new_snapshot = dict(old_snapshot)
  new_snapshot["useNewFeature"] = False
  return new_snapshot