@pulumi/aws
Version:
A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.
192 lines • 7.46 kB
JavaScript
;
// *** WARNING: this file was generated by pulumi-language-nodejs. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
Object.defineProperty(exports, "__esModule", { value: true });
exports.MLTransform = void 0;
const pulumi = require("@pulumi/pulumi");
const utilities = require("../utilities");
/**
* Provides a Glue ML Transform resource.
*
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as aws from "@pulumi/aws";
*
* const testCatalogDatabase = new aws.glue.CatalogDatabase("test", {name: "example"});
* const testCatalogTable = new aws.glue.CatalogTable("test", {
* name: "example",
* databaseName: testCatalogDatabase.name,
* owner: "my_owner",
* retention: 1,
* tableType: "VIRTUAL_VIEW",
* viewExpandedText: "view_expanded_text_1",
* viewOriginalText: "view_original_text_1",
* storageDescriptor: {
* bucketColumns: ["bucket_column_1"],
* compressed: false,
* inputFormat: "SequenceFileInputFormat",
* location: "my_location",
* numberOfBuckets: 1,
* outputFormat: "SequenceFileInputFormat",
* storedAsSubDirectories: false,
* parameters: {
* param1: "param1_val",
* },
* columns: [
* {
* name: "my_column_1",
* type: "int",
* comment: "my_column1_comment",
* },
* {
* name: "my_column_2",
* type: "string",
* comment: "my_column2_comment",
* },
* ],
* serDeInfo: {
* name: "ser_de_name",
* parameters: {
* param1: "param_val_1",
* },
* serializationLibrary: "org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe",
* },
* sortColumns: [{
* column: "my_column_1",
* sortOrder: 1,
* }],
* skewedInfo: {
* skewedColumnNames: ["my_column_1"],
* skewedColumnValueLocationMaps: {
* my_column_1: "my_column_1_val_loc_map",
* },
* skewedColumnValues: ["skewed_val_1"],
* },
* },
* partitionKeys: [
* {
* name: "my_column_1",
* type: "int",
* comment: "my_column_1_comment",
* },
* {
* name: "my_column_2",
* type: "string",
* comment: "my_column_2_comment",
* },
* ],
* parameters: {
* param1: "param1_val",
* },
* });
* const test = new aws.glue.MLTransform("test", {
* name: "example",
* roleArn: testAwsIamRole.arn,
* inputRecordTables: [{
* databaseName: testCatalogTable.databaseName,
* tableName: testCatalogTable.name,
* }],
* parameters: {
* transformType: "FIND_MATCHES",
* findMatchesParameters: {
* primaryKeyColumnName: "my_column_1",
* },
* },
* }, {
* dependsOn: [testAwsIamRolePolicyAttachment],
* });
* ```
*
* ## Import
*
* Using `pulumi import`, import Glue ML Transforms using `id`. For example:
*
* ```sh
* $ pulumi import aws:glue/mLTransform:MLTransform example tfm-c2cafbe83b1c575f49eaca9939220e2fcd58e2d5
* ```
*/
class MLTransform extends pulumi.CustomResource {
/**
* Get an existing MLTransform resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param state Any extra arguments used during the lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name, id, state, opts) {
return new MLTransform(name, state, { ...opts, id: id });
}
/**
* Returns true if the given object is an instance of MLTransform. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj) {
if (obj === undefined || obj === null) {
return false;
}
return obj['__pulumiType'] === MLTransform.__pulumiType;
}
constructor(name, argsOrState, opts) {
let resourceInputs = {};
opts = opts || {};
if (opts.id) {
const state = argsOrState;
resourceInputs["arn"] = state?.arn;
resourceInputs["description"] = state?.description;
resourceInputs["glueVersion"] = state?.glueVersion;
resourceInputs["inputRecordTables"] = state?.inputRecordTables;
resourceInputs["labelCount"] = state?.labelCount;
resourceInputs["maxCapacity"] = state?.maxCapacity;
resourceInputs["maxRetries"] = state?.maxRetries;
resourceInputs["name"] = state?.name;
resourceInputs["numberOfWorkers"] = state?.numberOfWorkers;
resourceInputs["parameters"] = state?.parameters;
resourceInputs["region"] = state?.region;
resourceInputs["roleArn"] = state?.roleArn;
resourceInputs["schemas"] = state?.schemas;
resourceInputs["tags"] = state?.tags;
resourceInputs["tagsAll"] = state?.tagsAll;
resourceInputs["timeout"] = state?.timeout;
resourceInputs["workerType"] = state?.workerType;
}
else {
const args = argsOrState;
if (args?.inputRecordTables === undefined && !opts.urn) {
throw new Error("Missing required property 'inputRecordTables'");
}
if (args?.parameters === undefined && !opts.urn) {
throw new Error("Missing required property 'parameters'");
}
if (args?.roleArn === undefined && !opts.urn) {
throw new Error("Missing required property 'roleArn'");
}
resourceInputs["description"] = args?.description;
resourceInputs["glueVersion"] = args?.glueVersion;
resourceInputs["inputRecordTables"] = args?.inputRecordTables;
resourceInputs["maxCapacity"] = args?.maxCapacity;
resourceInputs["maxRetries"] = args?.maxRetries;
resourceInputs["name"] = args?.name;
resourceInputs["numberOfWorkers"] = args?.numberOfWorkers;
resourceInputs["parameters"] = args?.parameters;
resourceInputs["region"] = args?.region;
resourceInputs["roleArn"] = args?.roleArn;
resourceInputs["tags"] = args?.tags;
resourceInputs["timeout"] = args?.timeout;
resourceInputs["workerType"] = args?.workerType;
resourceInputs["arn"] = undefined /*out*/;
resourceInputs["labelCount"] = undefined /*out*/;
resourceInputs["schemas"] = undefined /*out*/;
resourceInputs["tagsAll"] = undefined /*out*/;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
super(MLTransform.__pulumiType, name, resourceInputs, opts);
}
}
exports.MLTransform = MLTransform;
/** @internal */
MLTransform.__pulumiType = 'aws:glue/mLTransform:MLTransform';
//# sourceMappingURL=mltransform.js.map