UNPKG

@pulumi/aws

Version:

A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.

263 lines • 14.1 kB
"use strict"; // *** 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.S3Endpoint = void 0; const pulumi = require("@pulumi/pulumi"); const utilities = require("../utilities"); /** * Provides a DMS (Data Migration Service) S3 endpoint resource. DMS S3 endpoints can be created, updated, deleted, and imported. * * > **Note:** AWS is deprecating `extraConnectionAttributes`, such as used with `aws.dms.Endpoint`. This resource is an alternative to `aws.dms.Endpoint` and does not use `extraConnectionAttributes`. (AWS currently includes `extraConnectionAttributes` in the raw responses to the AWS Provider requests and so they may be visible in the logs.) * * > **Note:** Some of this resource's arguments have default values that come from the AWS Provider. Other default values are provided by AWS and subject to change without notice. When relying on AWS defaults, the provider state will often have a zero value. For example, the AWS Provider does not provide a default for `cdcMaxBatchInterval` but the AWS default is `60` (seconds). However, the provider state will show `0` since this is the value return by AWS when no value is present. Below, we aim to flag the defaults that come from AWS (_e.g._, "AWS default..."). * * ## Example Usage * * ### Minimal Configuration * * This is the minimal configuration for an `aws.dms.S3Endpoint`. This endpoint will rely on the AWS Provider and AWS defaults. * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * const example = new aws.dms.S3Endpoint("example", { * endpointId: "donnedtipi", * endpointType: "target", * bucketName: "beckut_name", * serviceAccessRoleArn: exampleAwsIamRole.arn, * }, { * dependsOn: [exampleAwsIamRolePolicy], * }); * ``` * * ### Complete Configuration * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * const example = new aws.dms.S3Endpoint("example", { * endpointId: "donnedtipi", * endpointType: "target", * sslMode: "none", * tags: { * Name: "donnedtipi", * Update: "to-update", * Remove: "to-remove", * }, * addColumnName: true, * addTrailingPaddingCharacter: false, * bucketFolder: "folder", * bucketName: "bucket_name", * cannedAclForObjects: "private", * cdcInsertsAndUpdates: true, * cdcInsertsOnly: false, * cdcMaxBatchInterval: 100, * cdcMinFileSize: 16, * cdcPath: "cdc/path", * compressionType: "GZIP", * csvDelimiter: ";", * csvNoSupValue: "x", * csvNullValue: "?", * csvRowDelimiter: "\\r\\n", * dataFormat: "parquet", * dataPageSize: 1100000, * datePartitionDelimiter: "UNDERSCORE", * datePartitionEnabled: true, * datePartitionSequence: "yyyymmddhh", * datePartitionTimezone: "Asia/Seoul", * dictPageSizeLimit: 1000000, * enableStatistics: false, * encodingType: "plain", * encryptionMode: "SSE_S3", * expectedBucketOwner: current.accountId, * externalTableDefinition: "etd", * ignoreHeaderRows: 1, * includeOpForFullLoad: true, * maxFileSize: 1000000, * parquetTimestampInMillisecond: true, * parquetVersion: "parquet-2-0", * preserveTransactions: false, * rfc4180: false, * rowGroupLength: 11000, * serverSideEncryptionKmsKeyId: exampleAwsKmsKey.arn, * serviceAccessRoleArn: exampleAwsIamRole.arn, * timestampColumnName: "tx_commit_time", * useCsvNoSupValue: false, * useTaskStartTimeForFullLoadTimestamp: true, * glueCatalogGeneration: true, * }, { * dependsOn: [exampleAwsIamRolePolicy], * }); * ``` * * ## Import * * Using `pulumi import`, import endpoints using the `endpoint_id`. For example: * * ```sh * $ pulumi import aws:dms/s3Endpoint:S3Endpoint example example-dms-endpoint-tf * ``` */ class S3Endpoint extends pulumi.CustomResource { /** * Get an existing S3Endpoint 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 S3Endpoint(name, state, { ...opts, id: id }); } /** * Returns true if the given object is an instance of S3Endpoint. 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'] === S3Endpoint.__pulumiType; } constructor(name, argsOrState, opts) { let resourceInputs = {}; opts = opts || {}; if (opts.id) { const state = argsOrState; resourceInputs["addColumnName"] = state?.addColumnName; resourceInputs["addTrailingPaddingCharacter"] = state?.addTrailingPaddingCharacter; resourceInputs["bucketFolder"] = state?.bucketFolder; resourceInputs["bucketName"] = state?.bucketName; resourceInputs["cannedAclForObjects"] = state?.cannedAclForObjects; resourceInputs["cdcInsertsAndUpdates"] = state?.cdcInsertsAndUpdates; resourceInputs["cdcInsertsOnly"] = state?.cdcInsertsOnly; resourceInputs["cdcMaxBatchInterval"] = state?.cdcMaxBatchInterval; resourceInputs["cdcMinFileSize"] = state?.cdcMinFileSize; resourceInputs["cdcPath"] = state?.cdcPath; resourceInputs["certificateArn"] = state?.certificateArn; resourceInputs["compressionType"] = state?.compressionType; resourceInputs["csvDelimiter"] = state?.csvDelimiter; resourceInputs["csvNoSupValue"] = state?.csvNoSupValue; resourceInputs["csvNullValue"] = state?.csvNullValue; resourceInputs["csvRowDelimiter"] = state?.csvRowDelimiter; resourceInputs["dataFormat"] = state?.dataFormat; resourceInputs["dataPageSize"] = state?.dataPageSize; resourceInputs["datePartitionDelimiter"] = state?.datePartitionDelimiter; resourceInputs["datePartitionEnabled"] = state?.datePartitionEnabled; resourceInputs["datePartitionSequence"] = state?.datePartitionSequence; resourceInputs["datePartitionTimezone"] = state?.datePartitionTimezone; resourceInputs["detachTargetOnLobLookupFailureParquet"] = state?.detachTargetOnLobLookupFailureParquet; resourceInputs["dictPageSizeLimit"] = state?.dictPageSizeLimit; resourceInputs["enableStatistics"] = state?.enableStatistics; resourceInputs["encodingType"] = state?.encodingType; resourceInputs["encryptionMode"] = state?.encryptionMode; resourceInputs["endpointArn"] = state?.endpointArn; resourceInputs["endpointId"] = state?.endpointId; resourceInputs["endpointType"] = state?.endpointType; resourceInputs["engineDisplayName"] = state?.engineDisplayName; resourceInputs["expectedBucketOwner"] = state?.expectedBucketOwner; resourceInputs["externalId"] = state?.externalId; resourceInputs["externalTableDefinition"] = state?.externalTableDefinition; resourceInputs["glueCatalogGeneration"] = state?.glueCatalogGeneration; resourceInputs["ignoreHeaderRows"] = state?.ignoreHeaderRows; resourceInputs["includeOpForFullLoad"] = state?.includeOpForFullLoad; resourceInputs["kmsKeyArn"] = state?.kmsKeyArn; resourceInputs["maxFileSize"] = state?.maxFileSize; resourceInputs["parquetTimestampInMillisecond"] = state?.parquetTimestampInMillisecond; resourceInputs["parquetVersion"] = state?.parquetVersion; resourceInputs["preserveTransactions"] = state?.preserveTransactions; resourceInputs["region"] = state?.region; resourceInputs["rfc4180"] = state?.rfc4180; resourceInputs["rowGroupLength"] = state?.rowGroupLength; resourceInputs["serverSideEncryptionKmsKeyId"] = state?.serverSideEncryptionKmsKeyId; resourceInputs["serviceAccessRoleArn"] = state?.serviceAccessRoleArn; resourceInputs["sslMode"] = state?.sslMode; resourceInputs["status"] = state?.status; resourceInputs["tags"] = state?.tags; resourceInputs["tagsAll"] = state?.tagsAll; resourceInputs["timestampColumnName"] = state?.timestampColumnName; resourceInputs["useCsvNoSupValue"] = state?.useCsvNoSupValue; resourceInputs["useTaskStartTimeForFullLoadTimestamp"] = state?.useTaskStartTimeForFullLoadTimestamp; } else { const args = argsOrState; if (args?.bucketName === undefined && !opts.urn) { throw new Error("Missing required property 'bucketName'"); } if (args?.endpointId === undefined && !opts.urn) { throw new Error("Missing required property 'endpointId'"); } if (args?.endpointType === undefined && !opts.urn) { throw new Error("Missing required property 'endpointType'"); } if (args?.serviceAccessRoleArn === undefined && !opts.urn) { throw new Error("Missing required property 'serviceAccessRoleArn'"); } resourceInputs["addColumnName"] = args?.addColumnName; resourceInputs["addTrailingPaddingCharacter"] = args?.addTrailingPaddingCharacter; resourceInputs["bucketFolder"] = args?.bucketFolder; resourceInputs["bucketName"] = args?.bucketName; resourceInputs["cannedAclForObjects"] = args?.cannedAclForObjects; resourceInputs["cdcInsertsAndUpdates"] = args?.cdcInsertsAndUpdates; resourceInputs["cdcInsertsOnly"] = args?.cdcInsertsOnly; resourceInputs["cdcMaxBatchInterval"] = args?.cdcMaxBatchInterval; resourceInputs["cdcMinFileSize"] = args?.cdcMinFileSize; resourceInputs["cdcPath"] = args?.cdcPath; resourceInputs["certificateArn"] = args?.certificateArn; resourceInputs["compressionType"] = args?.compressionType; resourceInputs["csvDelimiter"] = args?.csvDelimiter; resourceInputs["csvNoSupValue"] = args?.csvNoSupValue; resourceInputs["csvNullValue"] = args?.csvNullValue; resourceInputs["csvRowDelimiter"] = args?.csvRowDelimiter; resourceInputs["dataFormat"] = args?.dataFormat; resourceInputs["dataPageSize"] = args?.dataPageSize; resourceInputs["datePartitionDelimiter"] = args?.datePartitionDelimiter; resourceInputs["datePartitionEnabled"] = args?.datePartitionEnabled; resourceInputs["datePartitionSequence"] = args?.datePartitionSequence; resourceInputs["datePartitionTimezone"] = args?.datePartitionTimezone; resourceInputs["detachTargetOnLobLookupFailureParquet"] = args?.detachTargetOnLobLookupFailureParquet; resourceInputs["dictPageSizeLimit"] = args?.dictPageSizeLimit; resourceInputs["enableStatistics"] = args?.enableStatistics; resourceInputs["encodingType"] = args?.encodingType; resourceInputs["encryptionMode"] = args?.encryptionMode; resourceInputs["endpointId"] = args?.endpointId; resourceInputs["endpointType"] = args?.endpointType; resourceInputs["expectedBucketOwner"] = args?.expectedBucketOwner; resourceInputs["externalTableDefinition"] = args?.externalTableDefinition; resourceInputs["glueCatalogGeneration"] = args?.glueCatalogGeneration; resourceInputs["ignoreHeaderRows"] = args?.ignoreHeaderRows; resourceInputs["includeOpForFullLoad"] = args?.includeOpForFullLoad; resourceInputs["kmsKeyArn"] = args?.kmsKeyArn; resourceInputs["maxFileSize"] = args?.maxFileSize; resourceInputs["parquetTimestampInMillisecond"] = args?.parquetTimestampInMillisecond; resourceInputs["parquetVersion"] = args?.parquetVersion; resourceInputs["preserveTransactions"] = args?.preserveTransactions; resourceInputs["region"] = args?.region; resourceInputs["rfc4180"] = args?.rfc4180; resourceInputs["rowGroupLength"] = args?.rowGroupLength; resourceInputs["serverSideEncryptionKmsKeyId"] = args?.serverSideEncryptionKmsKeyId; resourceInputs["serviceAccessRoleArn"] = args?.serviceAccessRoleArn; resourceInputs["sslMode"] = args?.sslMode; resourceInputs["tags"] = args?.tags; resourceInputs["timestampColumnName"] = args?.timestampColumnName; resourceInputs["useCsvNoSupValue"] = args?.useCsvNoSupValue; resourceInputs["useTaskStartTimeForFullLoadTimestamp"] = args?.useTaskStartTimeForFullLoadTimestamp; resourceInputs["endpointArn"] = undefined /*out*/; resourceInputs["engineDisplayName"] = undefined /*out*/; resourceInputs["externalId"] = undefined /*out*/; resourceInputs["status"] = undefined /*out*/; resourceInputs["tagsAll"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); super(S3Endpoint.__pulumiType, name, resourceInputs, opts); } } exports.S3Endpoint = S3Endpoint; /** @internal */ S3Endpoint.__pulumiType = 'aws:dms/s3Endpoint:S3Endpoint'; //# sourceMappingURL=s3endpoint.js.map