et-export-basic.2.2.4.source-code.package.pkl Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of asset-export-basic Show documentation
Show all versions of asset-export-basic Show documentation
Atlan custom package for exporting enriched asset metadata
/* SPDX-License-Identifier: Apache-2.0
Copyright 2024 Atlan Pte. Ltd. */
amends "modulepath:/Config.pkl"
import "pkl:semver"
import "modulepath:/BuildInfo.pkl"
packageId = "@csa/asset-export-basic"
packageName = "Asset Export (Basic)"
version = semver.Version(BuildInfo.VERSION)
description = "Export assets with all enrichment that could be made against them via the Atlan UI."
iconUrl = "http://assets.atlan.com/assets/ph-cloud-arrow-down-light.svg"
docsUrl = "https://solutions.atlan.com/asset-export-basic/"
implementationLanguage = "Kotlin"
containerImage = "ghcr.io/atlanhq/\(name):\(BuildInfo.VERSION)"
containerImagePullPolicy = if (BuildInfo.VERSION.endsWith("-SNAPSHOT")) "Always" else "IfNotPresent"
containerCommand {
"/dumb-init"
"--"
"java"
"Exporter"
}
outputs {
files {
["debug-logs"] = "/tmp/debug.log"
["assets-csv"] = "/tmp/asset-export.csv"
["glossaries-csv"] = "/tmp/glossary-export.csv"
["products-csv"] = "/tmp/products-export.csv"
}
}
keywords {
"kotlin"
"utility"
}
preview = true
uiConfig {
tasks {
["Scope"] {
description = "Assets to include"
inputs {
["export_scope"] = new Radio {
title = "Export scope"
required = true
possibleValues {
["GLOSSARIES_ONLY"] = "Glossaries only"
["PRODUCTS_ONLY"] = "Products only"
["ENRICHED_ONLY"] = "Enriched only"
["ALL"] = "All"
}
default = "ENRICHED_ONLY"
helpText = "Whether to export only those assets that were enriched by users, or all assets with the qualified name prefix."
}
["qn_prefix"] = new TextInput {
title = "Qualified name prefix (for assets)"
required = false
helpText = "Starting value for a qualifiedName that will determine which assets to export."
placeholderText = "default"
width = 4
}
["include_description"] = new BooleanInput {
title = "Include description?"
required = false
helpText = "Whether to extract only user-entered description (No), or to also include system-level description (Yes)."
width = 4
}
["include_glossaries"] = new BooleanInput {
title = "Include glossaries?"
required = false
helpText = "Whether glossaries (and their terms and categories) should be exported, too."
width = 4
}
["include_products"] = new BooleanInput {
title = "Include data products?"
required = false
helpText = "Whether data products (and their domains) should be exported, too."
width = 4
}
["include_archived"] = new BooleanInput {
title = "Include archived?"
required = false
helpText = "Whether to include archived assets in the export (Yes) or only active assets (No)."
width = 4
}
["asset_types_to_include"] = new TextInput {
title = "Asset types to include"
required = false
hide = true
helpText = "Comma-separated list of asset types to include in the export."
}
["attributes_to_include"] = new TextInput {
title = "Attributes to include"
required = false
hide = true
helpText = "Comma-separated list of attributes to include in the export."
}
["qn_prefixes"] = new TextInput {
title = "Multiple qualified name prefixes (for assets)"
required = false
helpText = "Comma-separated starting values for qualifiedName that will determine which assets to export."
hide = true
}
["all_attributes"] = new BooleanInput {
title = "Include ALL available attributes"
required = false
hide = true
helpText = "If true, ALL attributes for the matching assets will be extracted"
}
}
}
["Delivery"] {
description = "Where to send"
inputs {
["delivery_type"] = new Radio {
title = "Export via"
required = true
helpText = "Select how you want to receive the exported file(s)."
possibleValues {
["DIRECT"] = "Direct download"
["EMAIL"] = "Email"
["CLOUD"] = "Object storage"
}
default = "DIRECT"
}
["email_addresses"] = new TextInput {
title = "Email address(es)"
helpText = "Provide any email addresses you want the extract sent to, separated by commas."
required = false
placeholderText = "[email protected],[email protected]"
}
["target_prefix"] = new TextInput {
title = "Prefix (path)"
helpText = "Enter the directory (path) within the object store into which to upload the exported file(s)."
placeholderText = "path/to/files"
width = 4
}
["cloud_target"] = new CredentialInput {
title = "Upload export to"
required = true
credType = "csa-connectors-objectstore"
helpText = "Enter details for the object store to which to upload the exported file(s)."
}
}
}
}
rules {
new UIRule {
whenInputs { ["export_scope"] = "ENRICHED_ONLY" }
required {
"qn_prefix"
"include_description"
"include_glossaries"
"include_products"
}
}
new UIRule {
whenInputs { ["export_scope"] = "ALL" }
required {
"qn_prefix"
"include_description"
"include_glossaries"
"include_products"
}
}
new UIRule {
whenInputs { ["delivery_type"] = "EMAIL" }
required { "email_addresses" }
}
new UIRule {
whenInputs { ["delivery_type"] = "CLOUD" }
required {
"target_prefix"
"cloud_target"
}
}
}
}