getScript

Use this data source to generate a Glue script from a Directed Acyclic Graph (DAG).

Example Usage

Generate Python Script

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.glue.GlueFunctions;
import com.pulumi.aws.glue.inputs.GetScriptArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
final var example = GlueFunctions.getScript(GetScriptArgs.builder()
.language("PYTHON")
.dagEdges(
GetScriptDagEdgeArgs.builder()
.source("datasource0")
.target("applymapping1")
.build(),
GetScriptDagEdgeArgs.builder()
.source("applymapping1")
.target("selectfields2")
.build(),
GetScriptDagEdgeArgs.builder()
.source("selectfields2")
.target("resolvechoice3")
.build(),
GetScriptDagEdgeArgs.builder()
.source("resolvechoice3")
.target("datasink4")
.build())
.dagNodes(
GetScriptDagNodeArgs.builder()
.id("datasource0")
.nodeType("DataSource")
.args(
GetScriptDagNodeArgArgs.builder()
.name("database")
.value(String.format("\"%s\"", aws_glue_catalog_database.source().name()))
.build(),
GetScriptDagNodeArgArgs.builder()
.name("table_name")
.value(String.format("\"%s\"", aws_glue_catalog_table.source().name()))
.build())
.build(),
GetScriptDagNodeArgs.builder()
.id("applymapping1")
.nodeType("ApplyMapping")
.args(GetScriptDagNodeArgArgs.builder()
.name("mapping")
.value("[(\"column1\", \"string\", \"column1\", \"string\")]")
.build())
.build(),
GetScriptDagNodeArgs.builder()
.id("selectfields2")
.nodeType("SelectFields")
.args(GetScriptDagNodeArgArgs.builder()
.name("paths")
.value("[\"column1\"]")
.build())
.build(),
GetScriptDagNodeArgs.builder()
.id("resolvechoice3")
.nodeType("ResolveChoice")
.args(
GetScriptDagNodeArgArgs.builder()
.name("choice")
.value("\"MATCH_CATALOG\"")
.build(),
GetScriptDagNodeArgArgs.builder()
.name("database")
.value(String.format("\"%s\"", aws_glue_catalog_database.destination().name()))
.build(),
GetScriptDagNodeArgArgs.builder()
.name("table_name")
.value(String.format("\"%s\"", aws_glue_catalog_table.destination().name()))
.build())
.build(),
GetScriptDagNodeArgs.builder()
.id("datasink4")
.nodeType("DataSink")
.args(
GetScriptDagNodeArgArgs.builder()
.name("database")
.value(String.format("\"%s\"", aws_glue_catalog_database.destination().name()))
.build(),
GetScriptDagNodeArgArgs.builder()
.name("table_name")
.value(String.format("\"%s\"", aws_glue_catalog_table.destination().name()))
.build())
.build())
.build());
ctx.export("pythonScript", example.applyValue(getScriptResult -> getScriptResult.pythonScript()));
}
}

Generate Scala Code

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.glue.GlueFunctions;
import com.pulumi.aws.glue.inputs.GetScriptArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
final var example = GlueFunctions.getScript(GetScriptArgs.builder()
.language("SCALA")
.dagEdges(
GetScriptDagEdgeArgs.builder()
.source("datasource0")
.target("applymapping1")
.build(),
GetScriptDagEdgeArgs.builder()
.source("applymapping1")
.target("selectfields2")
.build(),
GetScriptDagEdgeArgs.builder()
.source("selectfields2")
.target("resolvechoice3")
.build(),
GetScriptDagEdgeArgs.builder()
.source("resolvechoice3")
.target("datasink4")
.build())
.dagNodes(
GetScriptDagNodeArgs.builder()
.id("datasource0")
.nodeType("DataSource")
.args(
GetScriptDagNodeArgArgs.builder()
.name("database")
.value(String.format("\"%s\"", aws_glue_catalog_database.source().name()))
.build(),
GetScriptDagNodeArgArgs.builder()
.name("table_name")
.value(String.format("\"%s\"", aws_glue_catalog_table.source().name()))
.build())
.build(),
GetScriptDagNodeArgs.builder()
.id("applymapping1")
.nodeType("ApplyMapping")
.args(GetScriptDagNodeArgArgs.builder()
.name("mappings")
.value("[(\"column1\", \"string\", \"column1\", \"string\")]")
.build())
.build(),
GetScriptDagNodeArgs.builder()
.id("selectfields2")
.nodeType("SelectFields")
.args(GetScriptDagNodeArgArgs.builder()
.name("paths")
.value("[\"column1\"]")
.build())
.build(),
GetScriptDagNodeArgs.builder()
.id("resolvechoice3")
.nodeType("ResolveChoice")
.args(
GetScriptDagNodeArgArgs.builder()
.name("choice")
.value("\"MATCH_CATALOG\"")
.build(),
GetScriptDagNodeArgArgs.builder()
.name("database")
.value(String.format("\"%s\"", aws_glue_catalog_database.destination().name()))
.build(),
GetScriptDagNodeArgArgs.builder()
.name("table_name")
.value(String.format("\"%s\"", aws_glue_catalog_table.destination().name()))
.build())
.build(),
GetScriptDagNodeArgs.builder()
.id("datasink4")
.nodeType("DataSink")
.args(
GetScriptDagNodeArgArgs.builder()
.name("database")
.value(String.format("\"%s\"", aws_glue_catalog_database.destination().name()))
.build(),
GetScriptDagNodeArgArgs.builder()
.name("table_name")
.value(String.format("\"%s\"", aws_glue_catalog_table.destination().name()))
.build())
.build())
.build());
ctx.export("scalaCode", example.applyValue(getScriptResult -> getScriptResult.scalaCode()));
}
}

Return

A collection of values returned by getScript.

Parameters

argument

A collection of arguments for invoking getScript.


suspend fun getScript(dagEdges: List<GetScriptDagEdge>, dagNodes: List<GetScriptDagNode>, language: String? = null): GetScriptResult

Return

A collection of values returned by getScript.

Parameters

dagEdges

List of the edges in the DAG. Defined below.

dagNodes

List of the nodes in the DAG. Defined below.

language

Programming language of the resulting code from the DAG. Defaults to PYTHON. Valid values are PYTHON and SCALA.

See also


suspend fun getScript(argument: suspend GetScriptPlainArgsBuilder.() -> Unit): GetScriptResult

Return

A collection of values returned by getScript.

Parameters

argument

Builder for com.pulumi.aws.glue.kotlin.inputs.GetScriptPlainArgs.

See also