github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/dms/s3endpoint.go (about) 1 // Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. 2 // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** 3 4 package dms 5 6 import ( 7 "context" 8 "reflect" 9 10 "errors" 11 "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" 12 "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 13 ) 14 15 // Provides a DMS (Data Migration Service) S3 endpoint resource. DMS S3 endpoints can be created, updated, deleted, and imported. 16 // 17 // > **Note:** AWS is deprecating `extraConnectionAttributes`, such as used with `dms.Endpoint`. This resource is an alternative to `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.) 18 // 19 // > **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..."). 20 // 21 // ## Example Usage 22 // 23 // ### Minimal Configuration 24 // 25 // This is the minimal configuration for an `dms.S3Endpoint`. This endpoint will rely on the AWS Provider and AWS defaults. 26 // 27 // <!--Start PulumiCodeChooser --> 28 // ```go 29 // package main 30 // 31 // import ( 32 // 33 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dms" 34 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 35 // 36 // ) 37 // 38 // func main() { 39 // pulumi.Run(func(ctx *pulumi.Context) error { 40 // _, err := dms.NewS3Endpoint(ctx, "example", &dms.S3EndpointArgs{ 41 // EndpointId: pulumi.String("donnedtipi"), 42 // EndpointType: pulumi.String("target"), 43 // BucketName: pulumi.String("beckut_name"), 44 // ServiceAccessRoleArn: pulumi.Any(exampleAwsIamRole.Arn), 45 // }, pulumi.DependsOn([]pulumi.Resource{ 46 // exampleAwsIamRolePolicy, 47 // })) 48 // if err != nil { 49 // return err 50 // } 51 // return nil 52 // }) 53 // } 54 // 55 // ``` 56 // <!--End PulumiCodeChooser --> 57 // 58 // ### Complete Configuration 59 // 60 // <!--Start PulumiCodeChooser --> 61 // ```go 62 // package main 63 // 64 // import ( 65 // 66 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dms" 67 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 68 // 69 // ) 70 // 71 // func main() { 72 // pulumi.Run(func(ctx *pulumi.Context) error { 73 // _, err := dms.NewS3Endpoint(ctx, "example", &dms.S3EndpointArgs{ 74 // EndpointId: pulumi.String("donnedtipi"), 75 // EndpointType: pulumi.String("target"), 76 // SslMode: pulumi.String("none"), 77 // Tags: pulumi.StringMap{ 78 // "Name": pulumi.String("donnedtipi"), 79 // "Update": pulumi.String("to-update"), 80 // "Remove": pulumi.String("to-remove"), 81 // }, 82 // AddColumnName: pulumi.Bool(true), 83 // AddTrailingPaddingCharacter: pulumi.Bool(false), 84 // BucketFolder: pulumi.String("folder"), 85 // BucketName: pulumi.String("bucket_name"), 86 // CannedAclForObjects: pulumi.String("private"), 87 // CdcInsertsAndUpdates: pulumi.Bool(true), 88 // CdcInsertsOnly: pulumi.Bool(false), 89 // CdcMaxBatchInterval: pulumi.Int(100), 90 // CdcMinFileSize: pulumi.Int(16), 91 // CdcPath: pulumi.String("cdc/path"), 92 // CompressionType: pulumi.String("GZIP"), 93 // CsvDelimiter: pulumi.String(";"), 94 // CsvNoSupValue: pulumi.String("x"), 95 // CsvNullValue: pulumi.String("?"), 96 // CsvRowDelimiter: pulumi.String("\\r\\n"), 97 // DataFormat: pulumi.String("parquet"), 98 // DataPageSize: pulumi.Int(1100000), 99 // DatePartitionDelimiter: pulumi.String("UNDERSCORE"), 100 // DatePartitionEnabled: pulumi.Bool(true), 101 // DatePartitionSequence: pulumi.String("yyyymmddhh"), 102 // DatePartitionTimezone: pulumi.String("Asia/Seoul"), 103 // DictPageSizeLimit: pulumi.Int(1000000), 104 // EnableStatistics: pulumi.Bool(false), 105 // EncodingType: pulumi.String("plain"), 106 // EncryptionMode: pulumi.String("SSE_S3"), 107 // ExpectedBucketOwner: pulumi.Any(current.AccountId), 108 // ExternalTableDefinition: pulumi.String("etd"), 109 // IgnoreHeaderRows: pulumi.Int(1), 110 // IncludeOpForFullLoad: pulumi.Bool(true), 111 // MaxFileSize: pulumi.Int(1000000), 112 // ParquetTimestampInMillisecond: pulumi.Bool(true), 113 // ParquetVersion: pulumi.String("parquet-2-0"), 114 // PreserveTransactions: pulumi.Bool(false), 115 // Rfc4180: pulumi.Bool(false), 116 // RowGroupLength: pulumi.Int(11000), 117 // ServerSideEncryptionKmsKeyId: pulumi.Any(exampleAwsKmsKey.Arn), 118 // ServiceAccessRoleArn: pulumi.Any(exampleAwsIamRole.Arn), 119 // TimestampColumnName: pulumi.String("tx_commit_time"), 120 // UseCsvNoSupValue: pulumi.Bool(false), 121 // UseTaskStartTimeForFullLoadTimestamp: pulumi.Bool(true), 122 // GlueCatalogGeneration: pulumi.Bool(true), 123 // }, pulumi.DependsOn([]pulumi.Resource{ 124 // exampleAwsIamRolePolicy, 125 // })) 126 // if err != nil { 127 // return err 128 // } 129 // return nil 130 // }) 131 // } 132 // 133 // ``` 134 // <!--End PulumiCodeChooser --> 135 // 136 // ## Import 137 // 138 // Using `pulumi import`, import endpoints using the `endpoint_id`. For example: 139 // 140 // ```sh 141 // $ pulumi import aws:dms/s3Endpoint:S3Endpoint example example-dms-endpoint-tf 142 // ``` 143 type S3Endpoint struct { 144 pulumi.CustomResourceState 145 146 // Whether to add column name information to the .csv output file. Default is `false`. 147 AddColumnName pulumi.BoolPtrOutput `pulumi:"addColumnName"` 148 // Whether to add padding. Default is `false`. (Ignored for source endpoints.) 149 AddTrailingPaddingCharacter pulumi.BoolPtrOutput `pulumi:"addTrailingPaddingCharacter"` 150 // S3 object prefix. 151 BucketFolder pulumi.StringPtrOutput `pulumi:"bucketFolder"` 152 // S3 bucket name. 153 BucketName pulumi.StringOutput `pulumi:"bucketName"` 154 // Predefined (canned) access control list for objects created in an S3 bucket. Valid values include `none`, `private`, `public-read`, `public-read-write`, `authenticated-read`, `aws-exec-read`, `bucket-owner-read`, and `bucket-owner-full-control`. Default is `none`. 155 CannedAclForObjects pulumi.StringPtrOutput `pulumi:"cannedAclForObjects"` 156 // Whether to write insert and update operations to .csv or .parquet output files. Default is `false`. 157 CdcInsertsAndUpdates pulumi.BoolPtrOutput `pulumi:"cdcInsertsAndUpdates"` 158 // Whether to write insert operations to .csv or .parquet output files. Default is `false`. 159 CdcInsertsOnly pulumi.BoolPtrOutput `pulumi:"cdcInsertsOnly"` 160 // Maximum length of the interval, defined in seconds, after which to output a file to Amazon S3. (AWS default is `60`.) 161 CdcMaxBatchInterval pulumi.IntPtrOutput `pulumi:"cdcMaxBatchInterval"` 162 // Minimum file size condition as defined in kilobytes to output a file to Amazon S3. (AWS default is 32000 KB.) 163 CdcMinFileSize pulumi.IntPtrOutput `pulumi:"cdcMinFileSize"` 164 // Folder path of CDC files. If `cdcPath` is set, AWS DMS reads CDC files from this path and replicates the data changes to the target endpoint. Supported in AWS DMS versions 3.4.2 and later. 165 CdcPath pulumi.StringPtrOutput `pulumi:"cdcPath"` 166 // ARN for the certificate. 167 CertificateArn pulumi.StringOutput `pulumi:"certificateArn"` 168 // Set to compress target files. Valid values are `GZIP` and `NONE`. Default is `NONE`. (Ignored for source endpoints.) 169 CompressionType pulumi.StringPtrOutput `pulumi:"compressionType"` 170 // Delimiter used to separate columns in the source files. Default is `,`. 171 CsvDelimiter pulumi.StringPtrOutput `pulumi:"csvDelimiter"` 172 // Only applies if output files for a CDC load are written in .csv format. If `useCsvNoSupValue` is set to `true`, string to use for all columns not included in the supplemental log. If you do not specify a string value, DMS uses the null value for these columns regardless of `useCsvNoSupValue`. (Ignored for source endpoints.) 173 CsvNoSupValue pulumi.StringPtrOutput `pulumi:"csvNoSupValue"` 174 // String to as null when writing to the target. (AWS default is `NULL`.) 175 CsvNullValue pulumi.StringPtrOutput `pulumi:"csvNullValue"` 176 // Delimiter used to separate rows in the source files. Default is newline (_i.e._, `\n`). 177 CsvRowDelimiter pulumi.StringPtrOutput `pulumi:"csvRowDelimiter"` 178 // Output format for the files that AWS DMS uses to create S3 objects. Valid values are `csv` and `parquet`. (Ignored for source endpoints -- only `csv` is valid.) 179 DataFormat pulumi.StringPtrOutput `pulumi:"dataFormat"` 180 // Size of one data page in bytes. (AWS default is 1 MiB, _i.e._, `1048576`.) 181 DataPageSize pulumi.IntPtrOutput `pulumi:"dataPageSize"` 182 // Date separating delimiter to use during folder partitioning. Valid values are `SLASH`, `UNDERSCORE`, `DASH`, and `NONE`. (AWS default is `SLASH`.) (Ignored for source endpoints.) 183 DatePartitionDelimiter pulumi.StringPtrOutput `pulumi:"datePartitionDelimiter"` 184 // Partition S3 bucket folders based on transaction commit dates. Default is `false`. (Ignored for source endpoints.) 185 DatePartitionEnabled pulumi.BoolPtrOutput `pulumi:"datePartitionEnabled"` 186 // Date format to use during folder partitioning. Use this parameter when `datePartitionEnabled` is set to true. Valid values are `YYYYMMDD`, `YYYYMMDDHH`, `YYYYMM`, `MMYYYYDD`, and `DDMMYYYY`. (AWS default is `YYYYMMDD`.) (Ignored for source endpoints.) 187 DatePartitionSequence pulumi.StringPtrOutput `pulumi:"datePartitionSequence"` 188 // Convert the current UTC time to a timezone. The conversion occurs when a date partition folder is created and a CDC filename is generated. The timezone format is Area/Location (_e.g._, `Europe/Paris`). Use this when `datePartitionEnabled` is `true`. (Ignored for source endpoints.) 189 DatePartitionTimezone pulumi.StringPtrOutput `pulumi:"datePartitionTimezone"` 190 // Undocumented argument for use as directed by AWS Support. 191 DetachTargetOnLobLookupFailureParquet pulumi.BoolPtrOutput `pulumi:"detachTargetOnLobLookupFailureParquet"` 192 // Maximum size in bytes of an encoded dictionary page of a column. (AWS default is 1 MiB, _i.e._, `1048576`.) 193 DictPageSizeLimit pulumi.IntPtrOutput `pulumi:"dictPageSizeLimit"` 194 // Whether to enable statistics for Parquet pages and row groups. Default is `true`. 195 EnableStatistics pulumi.BoolPtrOutput `pulumi:"enableStatistics"` 196 // Type of encoding to use. Value values are `rleDictionary`, `plain`, and `plainDictionary`. (AWS default is `rleDictionary`.) 197 EncodingType pulumi.StringPtrOutput `pulumi:"encodingType"` 198 // Server-side encryption mode that you want to encrypt your .csv or .parquet object files copied to S3. Valid values are `SSE_S3` and `SSE_KMS`. (AWS default is `SSE_S3`.) (Ignored for source endpoints -- only `SSE_S3` is valid.) 199 EncryptionMode pulumi.StringPtrOutput `pulumi:"encryptionMode"` 200 // ARN for the endpoint. 201 EndpointArn pulumi.StringOutput `pulumi:"endpointArn"` 202 // Database endpoint identifier. Identifiers must contain from 1 to 255 alphanumeric characters or hyphens, begin with a letter, contain only ASCII letters, digits, and hyphens, not end with a hyphen, and not contain two consecutive hyphens. 203 EndpointId pulumi.StringOutput `pulumi:"endpointId"` 204 // Type of endpoint. Valid values are `source`, `target`. 205 EndpointType pulumi.StringOutput `pulumi:"endpointType"` 206 // Expanded name for the engine name. 207 EngineDisplayName pulumi.StringOutput `pulumi:"engineDisplayName"` 208 // Bucket owner to prevent sniping. Value is an AWS account ID. 209 ExpectedBucketOwner pulumi.StringPtrOutput `pulumi:"expectedBucketOwner"` 210 // Can be used for cross-account validation. Use it in another account with `dms.S3Endpoint` to create the endpoint cross-account. 211 ExternalId pulumi.StringOutput `pulumi:"externalId"` 212 // JSON document that describes how AWS DMS should interpret the data. 213 ExternalTableDefinition pulumi.StringPtrOutput `pulumi:"externalTableDefinition"` 214 // Whether to integrate AWS Glue Data Catalog with an Amazon S3 target. See [Using AWS Glue Data Catalog with an Amazon S3 target for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.S3.html#CHAP_Target.S3.GlueCatalog) for more information. Default is `false`. 215 GlueCatalogGeneration pulumi.BoolPtrOutput `pulumi:"glueCatalogGeneration"` 216 // When this value is set to `1`, DMS ignores the first row header in a .csv file. (AWS default is `0`.) 217 IgnoreHeaderRows pulumi.IntPtrOutput `pulumi:"ignoreHeaderRows"` 218 // Whether to enable a full load to write INSERT operations to the .csv output files only to indicate how the rows were added to the source database. Default is `false`. 219 IncludeOpForFullLoad pulumi.BoolPtrOutput `pulumi:"includeOpForFullLoad"` 220 // ARN for the KMS key that will be used to encrypt the connection parameters. If you do not specify a value for `kmsKeyArn`, then AWS DMS will use your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS region. 221 KmsKeyArn pulumi.StringOutput `pulumi:"kmsKeyArn"` 222 // Maximum size (in KB) of any .csv file to be created while migrating to an S3 target during full load. Valid values are from `1` to `1048576`. (AWS default is 1 GB, _i.e._, `1048576`.) 223 MaxFileSize pulumi.IntPtrOutput `pulumi:"maxFileSize"` 224 // Specifies the precision of any TIMESTAMP column values written to an S3 object file in .parquet format. Default is `false`. (Ignored for source endpoints.) 225 ParquetTimestampInMillisecond pulumi.BoolPtrOutput `pulumi:"parquetTimestampInMillisecond"` 226 // Version of the .parquet file format. Valid values are `parquet-1-0` and `parquet-2-0`. (AWS default is `parquet-1-0`.) (Ignored for source endpoints.) 227 ParquetVersion pulumi.StringPtrOutput `pulumi:"parquetVersion"` 228 // Whether DMS saves the transaction order for a CDC load on the S3 target specified by `cdcPath`. Default is `false`. (Ignored for source endpoints.) 229 PreserveTransactions pulumi.BoolPtrOutput `pulumi:"preserveTransactions"` 230 // For an S3 source, whether each leading double quotation mark has to be followed by an ending double quotation mark. Default is `true`. 231 Rfc4180 pulumi.BoolPtrOutput `pulumi:"rfc4180"` 232 // Number of rows in a row group. (AWS default is `10000`.) 233 RowGroupLength pulumi.IntPtrOutput `pulumi:"rowGroupLength"` 234 // When `encryptionMode` is `SSE_KMS`, ARN for the AWS KMS key. (Ignored for source endpoints -- only `SSE_S3` `encryptionMode` is valid.) 235 ServerSideEncryptionKmsKeyId pulumi.StringPtrOutput `pulumi:"serverSideEncryptionKmsKeyId"` 236 // ARN of the IAM role with permissions to the S3 Bucket. 237 // 238 // The following arguments are optional: 239 ServiceAccessRoleArn pulumi.StringOutput `pulumi:"serviceAccessRoleArn"` 240 // SSL mode to use for the connection. Valid values are `none`, `require`, `verify-ca`, `verify-full`. (AWS default is `none`.) 241 SslMode pulumi.StringOutput `pulumi:"sslMode"` 242 // Status of the endpoint. 243 Status pulumi.StringOutput `pulumi:"status"` 244 // Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 245 Tags pulumi.StringMapOutput `pulumi:"tags"` 246 // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 247 // 248 // Deprecated: Please use `tags` instead. 249 TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` 250 // Column to add with timestamp information to the endpoint data for an Amazon S3 target. 251 TimestampColumnName pulumi.StringPtrOutput `pulumi:"timestampColumnName"` 252 // Whether to use `csvNoSupValue` for columns not included in the supplemental log. (Ignored for source endpoints.) 253 UseCsvNoSupValue pulumi.BoolPtrOutput `pulumi:"useCsvNoSupValue"` 254 // When set to `true`, uses the task start time as the timestamp column value instead of the time data is written to target. For full load, when set to `true`, each row of the timestamp column contains the task start time. For CDC loads, each row of the timestamp column contains the transaction commit time.When set to false, the full load timestamp in the timestamp column increments with the time data arrives at the target. Default is `false`. 255 UseTaskStartTimeForFullLoadTimestamp pulumi.BoolPtrOutput `pulumi:"useTaskStartTimeForFullLoadTimestamp"` 256 } 257 258 // NewS3Endpoint registers a new resource with the given unique name, arguments, and options. 259 func NewS3Endpoint(ctx *pulumi.Context, 260 name string, args *S3EndpointArgs, opts ...pulumi.ResourceOption) (*S3Endpoint, error) { 261 if args == nil { 262 return nil, errors.New("missing one or more required arguments") 263 } 264 265 if args.BucketName == nil { 266 return nil, errors.New("invalid value for required argument 'BucketName'") 267 } 268 if args.EndpointId == nil { 269 return nil, errors.New("invalid value for required argument 'EndpointId'") 270 } 271 if args.EndpointType == nil { 272 return nil, errors.New("invalid value for required argument 'EndpointType'") 273 } 274 if args.ServiceAccessRoleArn == nil { 275 return nil, errors.New("invalid value for required argument 'ServiceAccessRoleArn'") 276 } 277 opts = internal.PkgResourceDefaultOpts(opts) 278 var resource S3Endpoint 279 err := ctx.RegisterResource("aws:dms/s3Endpoint:S3Endpoint", name, args, &resource, opts...) 280 if err != nil { 281 return nil, err 282 } 283 return &resource, nil 284 } 285 286 // GetS3Endpoint gets an existing S3Endpoint resource's state with the given name, ID, and optional 287 // state properties that are used to uniquely qualify the lookup (nil if not required). 288 func GetS3Endpoint(ctx *pulumi.Context, 289 name string, id pulumi.IDInput, state *S3EndpointState, opts ...pulumi.ResourceOption) (*S3Endpoint, error) { 290 var resource S3Endpoint 291 err := ctx.ReadResource("aws:dms/s3Endpoint:S3Endpoint", name, id, state, &resource, opts...) 292 if err != nil { 293 return nil, err 294 } 295 return &resource, nil 296 } 297 298 // Input properties used for looking up and filtering S3Endpoint resources. 299 type s3endpointState struct { 300 // Whether to add column name information to the .csv output file. Default is `false`. 301 AddColumnName *bool `pulumi:"addColumnName"` 302 // Whether to add padding. Default is `false`. (Ignored for source endpoints.) 303 AddTrailingPaddingCharacter *bool `pulumi:"addTrailingPaddingCharacter"` 304 // S3 object prefix. 305 BucketFolder *string `pulumi:"bucketFolder"` 306 // S3 bucket name. 307 BucketName *string `pulumi:"bucketName"` 308 // Predefined (canned) access control list for objects created in an S3 bucket. Valid values include `none`, `private`, `public-read`, `public-read-write`, `authenticated-read`, `aws-exec-read`, `bucket-owner-read`, and `bucket-owner-full-control`. Default is `none`. 309 CannedAclForObjects *string `pulumi:"cannedAclForObjects"` 310 // Whether to write insert and update operations to .csv or .parquet output files. Default is `false`. 311 CdcInsertsAndUpdates *bool `pulumi:"cdcInsertsAndUpdates"` 312 // Whether to write insert operations to .csv or .parquet output files. Default is `false`. 313 CdcInsertsOnly *bool `pulumi:"cdcInsertsOnly"` 314 // Maximum length of the interval, defined in seconds, after which to output a file to Amazon S3. (AWS default is `60`.) 315 CdcMaxBatchInterval *int `pulumi:"cdcMaxBatchInterval"` 316 // Minimum file size condition as defined in kilobytes to output a file to Amazon S3. (AWS default is 32000 KB.) 317 CdcMinFileSize *int `pulumi:"cdcMinFileSize"` 318 // Folder path of CDC files. If `cdcPath` is set, AWS DMS reads CDC files from this path and replicates the data changes to the target endpoint. Supported in AWS DMS versions 3.4.2 and later. 319 CdcPath *string `pulumi:"cdcPath"` 320 // ARN for the certificate. 321 CertificateArn *string `pulumi:"certificateArn"` 322 // Set to compress target files. Valid values are `GZIP` and `NONE`. Default is `NONE`. (Ignored for source endpoints.) 323 CompressionType *string `pulumi:"compressionType"` 324 // Delimiter used to separate columns in the source files. Default is `,`. 325 CsvDelimiter *string `pulumi:"csvDelimiter"` 326 // Only applies if output files for a CDC load are written in .csv format. If `useCsvNoSupValue` is set to `true`, string to use for all columns not included in the supplemental log. If you do not specify a string value, DMS uses the null value for these columns regardless of `useCsvNoSupValue`. (Ignored for source endpoints.) 327 CsvNoSupValue *string `pulumi:"csvNoSupValue"` 328 // String to as null when writing to the target. (AWS default is `NULL`.) 329 CsvNullValue *string `pulumi:"csvNullValue"` 330 // Delimiter used to separate rows in the source files. Default is newline (_i.e._, `\n`). 331 CsvRowDelimiter *string `pulumi:"csvRowDelimiter"` 332 // Output format for the files that AWS DMS uses to create S3 objects. Valid values are `csv` and `parquet`. (Ignored for source endpoints -- only `csv` is valid.) 333 DataFormat *string `pulumi:"dataFormat"` 334 // Size of one data page in bytes. (AWS default is 1 MiB, _i.e._, `1048576`.) 335 DataPageSize *int `pulumi:"dataPageSize"` 336 // Date separating delimiter to use during folder partitioning. Valid values are `SLASH`, `UNDERSCORE`, `DASH`, and `NONE`. (AWS default is `SLASH`.) (Ignored for source endpoints.) 337 DatePartitionDelimiter *string `pulumi:"datePartitionDelimiter"` 338 // Partition S3 bucket folders based on transaction commit dates. Default is `false`. (Ignored for source endpoints.) 339 DatePartitionEnabled *bool `pulumi:"datePartitionEnabled"` 340 // Date format to use during folder partitioning. Use this parameter when `datePartitionEnabled` is set to true. Valid values are `YYYYMMDD`, `YYYYMMDDHH`, `YYYYMM`, `MMYYYYDD`, and `DDMMYYYY`. (AWS default is `YYYYMMDD`.) (Ignored for source endpoints.) 341 DatePartitionSequence *string `pulumi:"datePartitionSequence"` 342 // Convert the current UTC time to a timezone. The conversion occurs when a date partition folder is created and a CDC filename is generated. The timezone format is Area/Location (_e.g._, `Europe/Paris`). Use this when `datePartitionEnabled` is `true`. (Ignored for source endpoints.) 343 DatePartitionTimezone *string `pulumi:"datePartitionTimezone"` 344 // Undocumented argument for use as directed by AWS Support. 345 DetachTargetOnLobLookupFailureParquet *bool `pulumi:"detachTargetOnLobLookupFailureParquet"` 346 // Maximum size in bytes of an encoded dictionary page of a column. (AWS default is 1 MiB, _i.e._, `1048576`.) 347 DictPageSizeLimit *int `pulumi:"dictPageSizeLimit"` 348 // Whether to enable statistics for Parquet pages and row groups. Default is `true`. 349 EnableStatistics *bool `pulumi:"enableStatistics"` 350 // Type of encoding to use. Value values are `rleDictionary`, `plain`, and `plainDictionary`. (AWS default is `rleDictionary`.) 351 EncodingType *string `pulumi:"encodingType"` 352 // Server-side encryption mode that you want to encrypt your .csv or .parquet object files copied to S3. Valid values are `SSE_S3` and `SSE_KMS`. (AWS default is `SSE_S3`.) (Ignored for source endpoints -- only `SSE_S3` is valid.) 353 EncryptionMode *string `pulumi:"encryptionMode"` 354 // ARN for the endpoint. 355 EndpointArn *string `pulumi:"endpointArn"` 356 // Database endpoint identifier. Identifiers must contain from 1 to 255 alphanumeric characters or hyphens, begin with a letter, contain only ASCII letters, digits, and hyphens, not end with a hyphen, and not contain two consecutive hyphens. 357 EndpointId *string `pulumi:"endpointId"` 358 // Type of endpoint. Valid values are `source`, `target`. 359 EndpointType *string `pulumi:"endpointType"` 360 // Expanded name for the engine name. 361 EngineDisplayName *string `pulumi:"engineDisplayName"` 362 // Bucket owner to prevent sniping. Value is an AWS account ID. 363 ExpectedBucketOwner *string `pulumi:"expectedBucketOwner"` 364 // Can be used for cross-account validation. Use it in another account with `dms.S3Endpoint` to create the endpoint cross-account. 365 ExternalId *string `pulumi:"externalId"` 366 // JSON document that describes how AWS DMS should interpret the data. 367 ExternalTableDefinition *string `pulumi:"externalTableDefinition"` 368 // Whether to integrate AWS Glue Data Catalog with an Amazon S3 target. See [Using AWS Glue Data Catalog with an Amazon S3 target for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.S3.html#CHAP_Target.S3.GlueCatalog) for more information. Default is `false`. 369 GlueCatalogGeneration *bool `pulumi:"glueCatalogGeneration"` 370 // When this value is set to `1`, DMS ignores the first row header in a .csv file. (AWS default is `0`.) 371 IgnoreHeaderRows *int `pulumi:"ignoreHeaderRows"` 372 // Whether to enable a full load to write INSERT operations to the .csv output files only to indicate how the rows were added to the source database. Default is `false`. 373 IncludeOpForFullLoad *bool `pulumi:"includeOpForFullLoad"` 374 // ARN for the KMS key that will be used to encrypt the connection parameters. If you do not specify a value for `kmsKeyArn`, then AWS DMS will use your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS region. 375 KmsKeyArn *string `pulumi:"kmsKeyArn"` 376 // Maximum size (in KB) of any .csv file to be created while migrating to an S3 target during full load. Valid values are from `1` to `1048576`. (AWS default is 1 GB, _i.e._, `1048576`.) 377 MaxFileSize *int `pulumi:"maxFileSize"` 378 // Specifies the precision of any TIMESTAMP column values written to an S3 object file in .parquet format. Default is `false`. (Ignored for source endpoints.) 379 ParquetTimestampInMillisecond *bool `pulumi:"parquetTimestampInMillisecond"` 380 // Version of the .parquet file format. Valid values are `parquet-1-0` and `parquet-2-0`. (AWS default is `parquet-1-0`.) (Ignored for source endpoints.) 381 ParquetVersion *string `pulumi:"parquetVersion"` 382 // Whether DMS saves the transaction order for a CDC load on the S3 target specified by `cdcPath`. Default is `false`. (Ignored for source endpoints.) 383 PreserveTransactions *bool `pulumi:"preserveTransactions"` 384 // For an S3 source, whether each leading double quotation mark has to be followed by an ending double quotation mark. Default is `true`. 385 Rfc4180 *bool `pulumi:"rfc4180"` 386 // Number of rows in a row group. (AWS default is `10000`.) 387 RowGroupLength *int `pulumi:"rowGroupLength"` 388 // When `encryptionMode` is `SSE_KMS`, ARN for the AWS KMS key. (Ignored for source endpoints -- only `SSE_S3` `encryptionMode` is valid.) 389 ServerSideEncryptionKmsKeyId *string `pulumi:"serverSideEncryptionKmsKeyId"` 390 // ARN of the IAM role with permissions to the S3 Bucket. 391 // 392 // The following arguments are optional: 393 ServiceAccessRoleArn *string `pulumi:"serviceAccessRoleArn"` 394 // SSL mode to use for the connection. Valid values are `none`, `require`, `verify-ca`, `verify-full`. (AWS default is `none`.) 395 SslMode *string `pulumi:"sslMode"` 396 // Status of the endpoint. 397 Status *string `pulumi:"status"` 398 // Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 399 Tags map[string]string `pulumi:"tags"` 400 // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 401 // 402 // Deprecated: Please use `tags` instead. 403 TagsAll map[string]string `pulumi:"tagsAll"` 404 // Column to add with timestamp information to the endpoint data for an Amazon S3 target. 405 TimestampColumnName *string `pulumi:"timestampColumnName"` 406 // Whether to use `csvNoSupValue` for columns not included in the supplemental log. (Ignored for source endpoints.) 407 UseCsvNoSupValue *bool `pulumi:"useCsvNoSupValue"` 408 // When set to `true`, uses the task start time as the timestamp column value instead of the time data is written to target. For full load, when set to `true`, each row of the timestamp column contains the task start time. For CDC loads, each row of the timestamp column contains the transaction commit time.When set to false, the full load timestamp in the timestamp column increments with the time data arrives at the target. Default is `false`. 409 UseTaskStartTimeForFullLoadTimestamp *bool `pulumi:"useTaskStartTimeForFullLoadTimestamp"` 410 } 411 412 type S3EndpointState struct { 413 // Whether to add column name information to the .csv output file. Default is `false`. 414 AddColumnName pulumi.BoolPtrInput 415 // Whether to add padding. Default is `false`. (Ignored for source endpoints.) 416 AddTrailingPaddingCharacter pulumi.BoolPtrInput 417 // S3 object prefix. 418 BucketFolder pulumi.StringPtrInput 419 // S3 bucket name. 420 BucketName pulumi.StringPtrInput 421 // Predefined (canned) access control list for objects created in an S3 bucket. Valid values include `none`, `private`, `public-read`, `public-read-write`, `authenticated-read`, `aws-exec-read`, `bucket-owner-read`, and `bucket-owner-full-control`. Default is `none`. 422 CannedAclForObjects pulumi.StringPtrInput 423 // Whether to write insert and update operations to .csv or .parquet output files. Default is `false`. 424 CdcInsertsAndUpdates pulumi.BoolPtrInput 425 // Whether to write insert operations to .csv or .parquet output files. Default is `false`. 426 CdcInsertsOnly pulumi.BoolPtrInput 427 // Maximum length of the interval, defined in seconds, after which to output a file to Amazon S3. (AWS default is `60`.) 428 CdcMaxBatchInterval pulumi.IntPtrInput 429 // Minimum file size condition as defined in kilobytes to output a file to Amazon S3. (AWS default is 32000 KB.) 430 CdcMinFileSize pulumi.IntPtrInput 431 // Folder path of CDC files. If `cdcPath` is set, AWS DMS reads CDC files from this path and replicates the data changes to the target endpoint. Supported in AWS DMS versions 3.4.2 and later. 432 CdcPath pulumi.StringPtrInput 433 // ARN for the certificate. 434 CertificateArn pulumi.StringPtrInput 435 // Set to compress target files. Valid values are `GZIP` and `NONE`. Default is `NONE`. (Ignored for source endpoints.) 436 CompressionType pulumi.StringPtrInput 437 // Delimiter used to separate columns in the source files. Default is `,`. 438 CsvDelimiter pulumi.StringPtrInput 439 // Only applies if output files for a CDC load are written in .csv format. If `useCsvNoSupValue` is set to `true`, string to use for all columns not included in the supplemental log. If you do not specify a string value, DMS uses the null value for these columns regardless of `useCsvNoSupValue`. (Ignored for source endpoints.) 440 CsvNoSupValue pulumi.StringPtrInput 441 // String to as null when writing to the target. (AWS default is `NULL`.) 442 CsvNullValue pulumi.StringPtrInput 443 // Delimiter used to separate rows in the source files. Default is newline (_i.e._, `\n`). 444 CsvRowDelimiter pulumi.StringPtrInput 445 // Output format for the files that AWS DMS uses to create S3 objects. Valid values are `csv` and `parquet`. (Ignored for source endpoints -- only `csv` is valid.) 446 DataFormat pulumi.StringPtrInput 447 // Size of one data page in bytes. (AWS default is 1 MiB, _i.e._, `1048576`.) 448 DataPageSize pulumi.IntPtrInput 449 // Date separating delimiter to use during folder partitioning. Valid values are `SLASH`, `UNDERSCORE`, `DASH`, and `NONE`. (AWS default is `SLASH`.) (Ignored for source endpoints.) 450 DatePartitionDelimiter pulumi.StringPtrInput 451 // Partition S3 bucket folders based on transaction commit dates. Default is `false`. (Ignored for source endpoints.) 452 DatePartitionEnabled pulumi.BoolPtrInput 453 // Date format to use during folder partitioning. Use this parameter when `datePartitionEnabled` is set to true. Valid values are `YYYYMMDD`, `YYYYMMDDHH`, `YYYYMM`, `MMYYYYDD`, and `DDMMYYYY`. (AWS default is `YYYYMMDD`.) (Ignored for source endpoints.) 454 DatePartitionSequence pulumi.StringPtrInput 455 // Convert the current UTC time to a timezone. The conversion occurs when a date partition folder is created and a CDC filename is generated. The timezone format is Area/Location (_e.g._, `Europe/Paris`). Use this when `datePartitionEnabled` is `true`. (Ignored for source endpoints.) 456 DatePartitionTimezone pulumi.StringPtrInput 457 // Undocumented argument for use as directed by AWS Support. 458 DetachTargetOnLobLookupFailureParquet pulumi.BoolPtrInput 459 // Maximum size in bytes of an encoded dictionary page of a column. (AWS default is 1 MiB, _i.e._, `1048576`.) 460 DictPageSizeLimit pulumi.IntPtrInput 461 // Whether to enable statistics for Parquet pages and row groups. Default is `true`. 462 EnableStatistics pulumi.BoolPtrInput 463 // Type of encoding to use. Value values are `rleDictionary`, `plain`, and `plainDictionary`. (AWS default is `rleDictionary`.) 464 EncodingType pulumi.StringPtrInput 465 // Server-side encryption mode that you want to encrypt your .csv or .parquet object files copied to S3. Valid values are `SSE_S3` and `SSE_KMS`. (AWS default is `SSE_S3`.) (Ignored for source endpoints -- only `SSE_S3` is valid.) 466 EncryptionMode pulumi.StringPtrInput 467 // ARN for the endpoint. 468 EndpointArn pulumi.StringPtrInput 469 // Database endpoint identifier. Identifiers must contain from 1 to 255 alphanumeric characters or hyphens, begin with a letter, contain only ASCII letters, digits, and hyphens, not end with a hyphen, and not contain two consecutive hyphens. 470 EndpointId pulumi.StringPtrInput 471 // Type of endpoint. Valid values are `source`, `target`. 472 EndpointType pulumi.StringPtrInput 473 // Expanded name for the engine name. 474 EngineDisplayName pulumi.StringPtrInput 475 // Bucket owner to prevent sniping. Value is an AWS account ID. 476 ExpectedBucketOwner pulumi.StringPtrInput 477 // Can be used for cross-account validation. Use it in another account with `dms.S3Endpoint` to create the endpoint cross-account. 478 ExternalId pulumi.StringPtrInput 479 // JSON document that describes how AWS DMS should interpret the data. 480 ExternalTableDefinition pulumi.StringPtrInput 481 // Whether to integrate AWS Glue Data Catalog with an Amazon S3 target. See [Using AWS Glue Data Catalog with an Amazon S3 target for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.S3.html#CHAP_Target.S3.GlueCatalog) for more information. Default is `false`. 482 GlueCatalogGeneration pulumi.BoolPtrInput 483 // When this value is set to `1`, DMS ignores the first row header in a .csv file. (AWS default is `0`.) 484 IgnoreHeaderRows pulumi.IntPtrInput 485 // Whether to enable a full load to write INSERT operations to the .csv output files only to indicate how the rows were added to the source database. Default is `false`. 486 IncludeOpForFullLoad pulumi.BoolPtrInput 487 // ARN for the KMS key that will be used to encrypt the connection parameters. If you do not specify a value for `kmsKeyArn`, then AWS DMS will use your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS region. 488 KmsKeyArn pulumi.StringPtrInput 489 // Maximum size (in KB) of any .csv file to be created while migrating to an S3 target during full load. Valid values are from `1` to `1048576`. (AWS default is 1 GB, _i.e._, `1048576`.) 490 MaxFileSize pulumi.IntPtrInput 491 // Specifies the precision of any TIMESTAMP column values written to an S3 object file in .parquet format. Default is `false`. (Ignored for source endpoints.) 492 ParquetTimestampInMillisecond pulumi.BoolPtrInput 493 // Version of the .parquet file format. Valid values are `parquet-1-0` and `parquet-2-0`. (AWS default is `parquet-1-0`.) (Ignored for source endpoints.) 494 ParquetVersion pulumi.StringPtrInput 495 // Whether DMS saves the transaction order for a CDC load on the S3 target specified by `cdcPath`. Default is `false`. (Ignored for source endpoints.) 496 PreserveTransactions pulumi.BoolPtrInput 497 // For an S3 source, whether each leading double quotation mark has to be followed by an ending double quotation mark. Default is `true`. 498 Rfc4180 pulumi.BoolPtrInput 499 // Number of rows in a row group. (AWS default is `10000`.) 500 RowGroupLength pulumi.IntPtrInput 501 // When `encryptionMode` is `SSE_KMS`, ARN for the AWS KMS key. (Ignored for source endpoints -- only `SSE_S3` `encryptionMode` is valid.) 502 ServerSideEncryptionKmsKeyId pulumi.StringPtrInput 503 // ARN of the IAM role with permissions to the S3 Bucket. 504 // 505 // The following arguments are optional: 506 ServiceAccessRoleArn pulumi.StringPtrInput 507 // SSL mode to use for the connection. Valid values are `none`, `require`, `verify-ca`, `verify-full`. (AWS default is `none`.) 508 SslMode pulumi.StringPtrInput 509 // Status of the endpoint. 510 Status pulumi.StringPtrInput 511 // Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 512 Tags pulumi.StringMapInput 513 // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 514 // 515 // Deprecated: Please use `tags` instead. 516 TagsAll pulumi.StringMapInput 517 // Column to add with timestamp information to the endpoint data for an Amazon S3 target. 518 TimestampColumnName pulumi.StringPtrInput 519 // Whether to use `csvNoSupValue` for columns not included in the supplemental log. (Ignored for source endpoints.) 520 UseCsvNoSupValue pulumi.BoolPtrInput 521 // When set to `true`, uses the task start time as the timestamp column value instead of the time data is written to target. For full load, when set to `true`, each row of the timestamp column contains the task start time. For CDC loads, each row of the timestamp column contains the transaction commit time.When set to false, the full load timestamp in the timestamp column increments with the time data arrives at the target. Default is `false`. 522 UseTaskStartTimeForFullLoadTimestamp pulumi.BoolPtrInput 523 } 524 525 func (S3EndpointState) ElementType() reflect.Type { 526 return reflect.TypeOf((*s3endpointState)(nil)).Elem() 527 } 528 529 type s3endpointArgs struct { 530 // Whether to add column name information to the .csv output file. Default is `false`. 531 AddColumnName *bool `pulumi:"addColumnName"` 532 // Whether to add padding. Default is `false`. (Ignored for source endpoints.) 533 AddTrailingPaddingCharacter *bool `pulumi:"addTrailingPaddingCharacter"` 534 // S3 object prefix. 535 BucketFolder *string `pulumi:"bucketFolder"` 536 // S3 bucket name. 537 BucketName string `pulumi:"bucketName"` 538 // Predefined (canned) access control list for objects created in an S3 bucket. Valid values include `none`, `private`, `public-read`, `public-read-write`, `authenticated-read`, `aws-exec-read`, `bucket-owner-read`, and `bucket-owner-full-control`. Default is `none`. 539 CannedAclForObjects *string `pulumi:"cannedAclForObjects"` 540 // Whether to write insert and update operations to .csv or .parquet output files. Default is `false`. 541 CdcInsertsAndUpdates *bool `pulumi:"cdcInsertsAndUpdates"` 542 // Whether to write insert operations to .csv or .parquet output files. Default is `false`. 543 CdcInsertsOnly *bool `pulumi:"cdcInsertsOnly"` 544 // Maximum length of the interval, defined in seconds, after which to output a file to Amazon S3. (AWS default is `60`.) 545 CdcMaxBatchInterval *int `pulumi:"cdcMaxBatchInterval"` 546 // Minimum file size condition as defined in kilobytes to output a file to Amazon S3. (AWS default is 32000 KB.) 547 CdcMinFileSize *int `pulumi:"cdcMinFileSize"` 548 // Folder path of CDC files. If `cdcPath` is set, AWS DMS reads CDC files from this path and replicates the data changes to the target endpoint. Supported in AWS DMS versions 3.4.2 and later. 549 CdcPath *string `pulumi:"cdcPath"` 550 // ARN for the certificate. 551 CertificateArn *string `pulumi:"certificateArn"` 552 // Set to compress target files. Valid values are `GZIP` and `NONE`. Default is `NONE`. (Ignored for source endpoints.) 553 CompressionType *string `pulumi:"compressionType"` 554 // Delimiter used to separate columns in the source files. Default is `,`. 555 CsvDelimiter *string `pulumi:"csvDelimiter"` 556 // Only applies if output files for a CDC load are written in .csv format. If `useCsvNoSupValue` is set to `true`, string to use for all columns not included in the supplemental log. If you do not specify a string value, DMS uses the null value for these columns regardless of `useCsvNoSupValue`. (Ignored for source endpoints.) 557 CsvNoSupValue *string `pulumi:"csvNoSupValue"` 558 // String to as null when writing to the target. (AWS default is `NULL`.) 559 CsvNullValue *string `pulumi:"csvNullValue"` 560 // Delimiter used to separate rows in the source files. Default is newline (_i.e._, `\n`). 561 CsvRowDelimiter *string `pulumi:"csvRowDelimiter"` 562 // Output format for the files that AWS DMS uses to create S3 objects. Valid values are `csv` and `parquet`. (Ignored for source endpoints -- only `csv` is valid.) 563 DataFormat *string `pulumi:"dataFormat"` 564 // Size of one data page in bytes. (AWS default is 1 MiB, _i.e._, `1048576`.) 565 DataPageSize *int `pulumi:"dataPageSize"` 566 // Date separating delimiter to use during folder partitioning. Valid values are `SLASH`, `UNDERSCORE`, `DASH`, and `NONE`. (AWS default is `SLASH`.) (Ignored for source endpoints.) 567 DatePartitionDelimiter *string `pulumi:"datePartitionDelimiter"` 568 // Partition S3 bucket folders based on transaction commit dates. Default is `false`. (Ignored for source endpoints.) 569 DatePartitionEnabled *bool `pulumi:"datePartitionEnabled"` 570 // Date format to use during folder partitioning. Use this parameter when `datePartitionEnabled` is set to true. Valid values are `YYYYMMDD`, `YYYYMMDDHH`, `YYYYMM`, `MMYYYYDD`, and `DDMMYYYY`. (AWS default is `YYYYMMDD`.) (Ignored for source endpoints.) 571 DatePartitionSequence *string `pulumi:"datePartitionSequence"` 572 // Convert the current UTC time to a timezone. The conversion occurs when a date partition folder is created and a CDC filename is generated. The timezone format is Area/Location (_e.g._, `Europe/Paris`). Use this when `datePartitionEnabled` is `true`. (Ignored for source endpoints.) 573 DatePartitionTimezone *string `pulumi:"datePartitionTimezone"` 574 // Undocumented argument for use as directed by AWS Support. 575 DetachTargetOnLobLookupFailureParquet *bool `pulumi:"detachTargetOnLobLookupFailureParquet"` 576 // Maximum size in bytes of an encoded dictionary page of a column. (AWS default is 1 MiB, _i.e._, `1048576`.) 577 DictPageSizeLimit *int `pulumi:"dictPageSizeLimit"` 578 // Whether to enable statistics for Parquet pages and row groups. Default is `true`. 579 EnableStatistics *bool `pulumi:"enableStatistics"` 580 // Type of encoding to use. Value values are `rleDictionary`, `plain`, and `plainDictionary`. (AWS default is `rleDictionary`.) 581 EncodingType *string `pulumi:"encodingType"` 582 // Server-side encryption mode that you want to encrypt your .csv or .parquet object files copied to S3. Valid values are `SSE_S3` and `SSE_KMS`. (AWS default is `SSE_S3`.) (Ignored for source endpoints -- only `SSE_S3` is valid.) 583 EncryptionMode *string `pulumi:"encryptionMode"` 584 // Database endpoint identifier. Identifiers must contain from 1 to 255 alphanumeric characters or hyphens, begin with a letter, contain only ASCII letters, digits, and hyphens, not end with a hyphen, and not contain two consecutive hyphens. 585 EndpointId string `pulumi:"endpointId"` 586 // Type of endpoint. Valid values are `source`, `target`. 587 EndpointType string `pulumi:"endpointType"` 588 // Bucket owner to prevent sniping. Value is an AWS account ID. 589 ExpectedBucketOwner *string `pulumi:"expectedBucketOwner"` 590 // JSON document that describes how AWS DMS should interpret the data. 591 ExternalTableDefinition *string `pulumi:"externalTableDefinition"` 592 // Whether to integrate AWS Glue Data Catalog with an Amazon S3 target. See [Using AWS Glue Data Catalog with an Amazon S3 target for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.S3.html#CHAP_Target.S3.GlueCatalog) for more information. Default is `false`. 593 GlueCatalogGeneration *bool `pulumi:"glueCatalogGeneration"` 594 // When this value is set to `1`, DMS ignores the first row header in a .csv file. (AWS default is `0`.) 595 IgnoreHeaderRows *int `pulumi:"ignoreHeaderRows"` 596 // Whether to enable a full load to write INSERT operations to the .csv output files only to indicate how the rows were added to the source database. Default is `false`. 597 IncludeOpForFullLoad *bool `pulumi:"includeOpForFullLoad"` 598 // ARN for the KMS key that will be used to encrypt the connection parameters. If you do not specify a value for `kmsKeyArn`, then AWS DMS will use your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS region. 599 KmsKeyArn *string `pulumi:"kmsKeyArn"` 600 // Maximum size (in KB) of any .csv file to be created while migrating to an S3 target during full load. Valid values are from `1` to `1048576`. (AWS default is 1 GB, _i.e._, `1048576`.) 601 MaxFileSize *int `pulumi:"maxFileSize"` 602 // Specifies the precision of any TIMESTAMP column values written to an S3 object file in .parquet format. Default is `false`. (Ignored for source endpoints.) 603 ParquetTimestampInMillisecond *bool `pulumi:"parquetTimestampInMillisecond"` 604 // Version of the .parquet file format. Valid values are `parquet-1-0` and `parquet-2-0`. (AWS default is `parquet-1-0`.) (Ignored for source endpoints.) 605 ParquetVersion *string `pulumi:"parquetVersion"` 606 // Whether DMS saves the transaction order for a CDC load on the S3 target specified by `cdcPath`. Default is `false`. (Ignored for source endpoints.) 607 PreserveTransactions *bool `pulumi:"preserveTransactions"` 608 // For an S3 source, whether each leading double quotation mark has to be followed by an ending double quotation mark. Default is `true`. 609 Rfc4180 *bool `pulumi:"rfc4180"` 610 // Number of rows in a row group. (AWS default is `10000`.) 611 RowGroupLength *int `pulumi:"rowGroupLength"` 612 // When `encryptionMode` is `SSE_KMS`, ARN for the AWS KMS key. (Ignored for source endpoints -- only `SSE_S3` `encryptionMode` is valid.) 613 ServerSideEncryptionKmsKeyId *string `pulumi:"serverSideEncryptionKmsKeyId"` 614 // ARN of the IAM role with permissions to the S3 Bucket. 615 // 616 // The following arguments are optional: 617 ServiceAccessRoleArn string `pulumi:"serviceAccessRoleArn"` 618 // SSL mode to use for the connection. Valid values are `none`, `require`, `verify-ca`, `verify-full`. (AWS default is `none`.) 619 SslMode *string `pulumi:"sslMode"` 620 // Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 621 Tags map[string]string `pulumi:"tags"` 622 // Column to add with timestamp information to the endpoint data for an Amazon S3 target. 623 TimestampColumnName *string `pulumi:"timestampColumnName"` 624 // Whether to use `csvNoSupValue` for columns not included in the supplemental log. (Ignored for source endpoints.) 625 UseCsvNoSupValue *bool `pulumi:"useCsvNoSupValue"` 626 // When set to `true`, uses the task start time as the timestamp column value instead of the time data is written to target. For full load, when set to `true`, each row of the timestamp column contains the task start time. For CDC loads, each row of the timestamp column contains the transaction commit time.When set to false, the full load timestamp in the timestamp column increments with the time data arrives at the target. Default is `false`. 627 UseTaskStartTimeForFullLoadTimestamp *bool `pulumi:"useTaskStartTimeForFullLoadTimestamp"` 628 } 629 630 // The set of arguments for constructing a S3Endpoint resource. 631 type S3EndpointArgs struct { 632 // Whether to add column name information to the .csv output file. Default is `false`. 633 AddColumnName pulumi.BoolPtrInput 634 // Whether to add padding. Default is `false`. (Ignored for source endpoints.) 635 AddTrailingPaddingCharacter pulumi.BoolPtrInput 636 // S3 object prefix. 637 BucketFolder pulumi.StringPtrInput 638 // S3 bucket name. 639 BucketName pulumi.StringInput 640 // Predefined (canned) access control list for objects created in an S3 bucket. Valid values include `none`, `private`, `public-read`, `public-read-write`, `authenticated-read`, `aws-exec-read`, `bucket-owner-read`, and `bucket-owner-full-control`. Default is `none`. 641 CannedAclForObjects pulumi.StringPtrInput 642 // Whether to write insert and update operations to .csv or .parquet output files. Default is `false`. 643 CdcInsertsAndUpdates pulumi.BoolPtrInput 644 // Whether to write insert operations to .csv or .parquet output files. Default is `false`. 645 CdcInsertsOnly pulumi.BoolPtrInput 646 // Maximum length of the interval, defined in seconds, after which to output a file to Amazon S3. (AWS default is `60`.) 647 CdcMaxBatchInterval pulumi.IntPtrInput 648 // Minimum file size condition as defined in kilobytes to output a file to Amazon S3. (AWS default is 32000 KB.) 649 CdcMinFileSize pulumi.IntPtrInput 650 // Folder path of CDC files. If `cdcPath` is set, AWS DMS reads CDC files from this path and replicates the data changes to the target endpoint. Supported in AWS DMS versions 3.4.2 and later. 651 CdcPath pulumi.StringPtrInput 652 // ARN for the certificate. 653 CertificateArn pulumi.StringPtrInput 654 // Set to compress target files. Valid values are `GZIP` and `NONE`. Default is `NONE`. (Ignored for source endpoints.) 655 CompressionType pulumi.StringPtrInput 656 // Delimiter used to separate columns in the source files. Default is `,`. 657 CsvDelimiter pulumi.StringPtrInput 658 // Only applies if output files for a CDC load are written in .csv format. If `useCsvNoSupValue` is set to `true`, string to use for all columns not included in the supplemental log. If you do not specify a string value, DMS uses the null value for these columns regardless of `useCsvNoSupValue`. (Ignored for source endpoints.) 659 CsvNoSupValue pulumi.StringPtrInput 660 // String to as null when writing to the target. (AWS default is `NULL`.) 661 CsvNullValue pulumi.StringPtrInput 662 // Delimiter used to separate rows in the source files. Default is newline (_i.e._, `\n`). 663 CsvRowDelimiter pulumi.StringPtrInput 664 // Output format for the files that AWS DMS uses to create S3 objects. Valid values are `csv` and `parquet`. (Ignored for source endpoints -- only `csv` is valid.) 665 DataFormat pulumi.StringPtrInput 666 // Size of one data page in bytes. (AWS default is 1 MiB, _i.e._, `1048576`.) 667 DataPageSize pulumi.IntPtrInput 668 // Date separating delimiter to use during folder partitioning. Valid values are `SLASH`, `UNDERSCORE`, `DASH`, and `NONE`. (AWS default is `SLASH`.) (Ignored for source endpoints.) 669 DatePartitionDelimiter pulumi.StringPtrInput 670 // Partition S3 bucket folders based on transaction commit dates. Default is `false`. (Ignored for source endpoints.) 671 DatePartitionEnabled pulumi.BoolPtrInput 672 // Date format to use during folder partitioning. Use this parameter when `datePartitionEnabled` is set to true. Valid values are `YYYYMMDD`, `YYYYMMDDHH`, `YYYYMM`, `MMYYYYDD`, and `DDMMYYYY`. (AWS default is `YYYYMMDD`.) (Ignored for source endpoints.) 673 DatePartitionSequence pulumi.StringPtrInput 674 // Convert the current UTC time to a timezone. The conversion occurs when a date partition folder is created and a CDC filename is generated. The timezone format is Area/Location (_e.g._, `Europe/Paris`). Use this when `datePartitionEnabled` is `true`. (Ignored for source endpoints.) 675 DatePartitionTimezone pulumi.StringPtrInput 676 // Undocumented argument for use as directed by AWS Support. 677 DetachTargetOnLobLookupFailureParquet pulumi.BoolPtrInput 678 // Maximum size in bytes of an encoded dictionary page of a column. (AWS default is 1 MiB, _i.e._, `1048576`.) 679 DictPageSizeLimit pulumi.IntPtrInput 680 // Whether to enable statistics for Parquet pages and row groups. Default is `true`. 681 EnableStatistics pulumi.BoolPtrInput 682 // Type of encoding to use. Value values are `rleDictionary`, `plain`, and `plainDictionary`. (AWS default is `rleDictionary`.) 683 EncodingType pulumi.StringPtrInput 684 // Server-side encryption mode that you want to encrypt your .csv or .parquet object files copied to S3. Valid values are `SSE_S3` and `SSE_KMS`. (AWS default is `SSE_S3`.) (Ignored for source endpoints -- only `SSE_S3` is valid.) 685 EncryptionMode pulumi.StringPtrInput 686 // Database endpoint identifier. Identifiers must contain from 1 to 255 alphanumeric characters or hyphens, begin with a letter, contain only ASCII letters, digits, and hyphens, not end with a hyphen, and not contain two consecutive hyphens. 687 EndpointId pulumi.StringInput 688 // Type of endpoint. Valid values are `source`, `target`. 689 EndpointType pulumi.StringInput 690 // Bucket owner to prevent sniping. Value is an AWS account ID. 691 ExpectedBucketOwner pulumi.StringPtrInput 692 // JSON document that describes how AWS DMS should interpret the data. 693 ExternalTableDefinition pulumi.StringPtrInput 694 // Whether to integrate AWS Glue Data Catalog with an Amazon S3 target. See [Using AWS Glue Data Catalog with an Amazon S3 target for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.S3.html#CHAP_Target.S3.GlueCatalog) for more information. Default is `false`. 695 GlueCatalogGeneration pulumi.BoolPtrInput 696 // When this value is set to `1`, DMS ignores the first row header in a .csv file. (AWS default is `0`.) 697 IgnoreHeaderRows pulumi.IntPtrInput 698 // Whether to enable a full load to write INSERT operations to the .csv output files only to indicate how the rows were added to the source database. Default is `false`. 699 IncludeOpForFullLoad pulumi.BoolPtrInput 700 // ARN for the KMS key that will be used to encrypt the connection parameters. If you do not specify a value for `kmsKeyArn`, then AWS DMS will use your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS region. 701 KmsKeyArn pulumi.StringPtrInput 702 // Maximum size (in KB) of any .csv file to be created while migrating to an S3 target during full load. Valid values are from `1` to `1048576`. (AWS default is 1 GB, _i.e._, `1048576`.) 703 MaxFileSize pulumi.IntPtrInput 704 // Specifies the precision of any TIMESTAMP column values written to an S3 object file in .parquet format. Default is `false`. (Ignored for source endpoints.) 705 ParquetTimestampInMillisecond pulumi.BoolPtrInput 706 // Version of the .parquet file format. Valid values are `parquet-1-0` and `parquet-2-0`. (AWS default is `parquet-1-0`.) (Ignored for source endpoints.) 707 ParquetVersion pulumi.StringPtrInput 708 // Whether DMS saves the transaction order for a CDC load on the S3 target specified by `cdcPath`. Default is `false`. (Ignored for source endpoints.) 709 PreserveTransactions pulumi.BoolPtrInput 710 // For an S3 source, whether each leading double quotation mark has to be followed by an ending double quotation mark. Default is `true`. 711 Rfc4180 pulumi.BoolPtrInput 712 // Number of rows in a row group. (AWS default is `10000`.) 713 RowGroupLength pulumi.IntPtrInput 714 // When `encryptionMode` is `SSE_KMS`, ARN for the AWS KMS key. (Ignored for source endpoints -- only `SSE_S3` `encryptionMode` is valid.) 715 ServerSideEncryptionKmsKeyId pulumi.StringPtrInput 716 // ARN of the IAM role with permissions to the S3 Bucket. 717 // 718 // The following arguments are optional: 719 ServiceAccessRoleArn pulumi.StringInput 720 // SSL mode to use for the connection. Valid values are `none`, `require`, `verify-ca`, `verify-full`. (AWS default is `none`.) 721 SslMode pulumi.StringPtrInput 722 // Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 723 Tags pulumi.StringMapInput 724 // Column to add with timestamp information to the endpoint data for an Amazon S3 target. 725 TimestampColumnName pulumi.StringPtrInput 726 // Whether to use `csvNoSupValue` for columns not included in the supplemental log. (Ignored for source endpoints.) 727 UseCsvNoSupValue pulumi.BoolPtrInput 728 // When set to `true`, uses the task start time as the timestamp column value instead of the time data is written to target. For full load, when set to `true`, each row of the timestamp column contains the task start time. For CDC loads, each row of the timestamp column contains the transaction commit time.When set to false, the full load timestamp in the timestamp column increments with the time data arrives at the target. Default is `false`. 729 UseTaskStartTimeForFullLoadTimestamp pulumi.BoolPtrInput 730 } 731 732 func (S3EndpointArgs) ElementType() reflect.Type { 733 return reflect.TypeOf((*s3endpointArgs)(nil)).Elem() 734 } 735 736 type S3EndpointInput interface { 737 pulumi.Input 738 739 ToS3EndpointOutput() S3EndpointOutput 740 ToS3EndpointOutputWithContext(ctx context.Context) S3EndpointOutput 741 } 742 743 func (*S3Endpoint) ElementType() reflect.Type { 744 return reflect.TypeOf((**S3Endpoint)(nil)).Elem() 745 } 746 747 func (i *S3Endpoint) ToS3EndpointOutput() S3EndpointOutput { 748 return i.ToS3EndpointOutputWithContext(context.Background()) 749 } 750 751 func (i *S3Endpoint) ToS3EndpointOutputWithContext(ctx context.Context) S3EndpointOutput { 752 return pulumi.ToOutputWithContext(ctx, i).(S3EndpointOutput) 753 } 754 755 // S3EndpointArrayInput is an input type that accepts S3EndpointArray and S3EndpointArrayOutput values. 756 // You can construct a concrete instance of `S3EndpointArrayInput` via: 757 // 758 // S3EndpointArray{ S3EndpointArgs{...} } 759 type S3EndpointArrayInput interface { 760 pulumi.Input 761 762 ToS3EndpointArrayOutput() S3EndpointArrayOutput 763 ToS3EndpointArrayOutputWithContext(context.Context) S3EndpointArrayOutput 764 } 765 766 type S3EndpointArray []S3EndpointInput 767 768 func (S3EndpointArray) ElementType() reflect.Type { 769 return reflect.TypeOf((*[]*S3Endpoint)(nil)).Elem() 770 } 771 772 func (i S3EndpointArray) ToS3EndpointArrayOutput() S3EndpointArrayOutput { 773 return i.ToS3EndpointArrayOutputWithContext(context.Background()) 774 } 775 776 func (i S3EndpointArray) ToS3EndpointArrayOutputWithContext(ctx context.Context) S3EndpointArrayOutput { 777 return pulumi.ToOutputWithContext(ctx, i).(S3EndpointArrayOutput) 778 } 779 780 // S3EndpointMapInput is an input type that accepts S3EndpointMap and S3EndpointMapOutput values. 781 // You can construct a concrete instance of `S3EndpointMapInput` via: 782 // 783 // S3EndpointMap{ "key": S3EndpointArgs{...} } 784 type S3EndpointMapInput interface { 785 pulumi.Input 786 787 ToS3EndpointMapOutput() S3EndpointMapOutput 788 ToS3EndpointMapOutputWithContext(context.Context) S3EndpointMapOutput 789 } 790 791 type S3EndpointMap map[string]S3EndpointInput 792 793 func (S3EndpointMap) ElementType() reflect.Type { 794 return reflect.TypeOf((*map[string]*S3Endpoint)(nil)).Elem() 795 } 796 797 func (i S3EndpointMap) ToS3EndpointMapOutput() S3EndpointMapOutput { 798 return i.ToS3EndpointMapOutputWithContext(context.Background()) 799 } 800 801 func (i S3EndpointMap) ToS3EndpointMapOutputWithContext(ctx context.Context) S3EndpointMapOutput { 802 return pulumi.ToOutputWithContext(ctx, i).(S3EndpointMapOutput) 803 } 804 805 type S3EndpointOutput struct{ *pulumi.OutputState } 806 807 func (S3EndpointOutput) ElementType() reflect.Type { 808 return reflect.TypeOf((**S3Endpoint)(nil)).Elem() 809 } 810 811 func (o S3EndpointOutput) ToS3EndpointOutput() S3EndpointOutput { 812 return o 813 } 814 815 func (o S3EndpointOutput) ToS3EndpointOutputWithContext(ctx context.Context) S3EndpointOutput { 816 return o 817 } 818 819 // Whether to add column name information to the .csv output file. Default is `false`. 820 func (o S3EndpointOutput) AddColumnName() pulumi.BoolPtrOutput { 821 return o.ApplyT(func(v *S3Endpoint) pulumi.BoolPtrOutput { return v.AddColumnName }).(pulumi.BoolPtrOutput) 822 } 823 824 // Whether to add padding. Default is `false`. (Ignored for source endpoints.) 825 func (o S3EndpointOutput) AddTrailingPaddingCharacter() pulumi.BoolPtrOutput { 826 return o.ApplyT(func(v *S3Endpoint) pulumi.BoolPtrOutput { return v.AddTrailingPaddingCharacter }).(pulumi.BoolPtrOutput) 827 } 828 829 // S3 object prefix. 830 func (o S3EndpointOutput) BucketFolder() pulumi.StringPtrOutput { 831 return o.ApplyT(func(v *S3Endpoint) pulumi.StringPtrOutput { return v.BucketFolder }).(pulumi.StringPtrOutput) 832 } 833 834 // S3 bucket name. 835 func (o S3EndpointOutput) BucketName() pulumi.StringOutput { 836 return o.ApplyT(func(v *S3Endpoint) pulumi.StringOutput { return v.BucketName }).(pulumi.StringOutput) 837 } 838 839 // Predefined (canned) access control list for objects created in an S3 bucket. Valid values include `none`, `private`, `public-read`, `public-read-write`, `authenticated-read`, `aws-exec-read`, `bucket-owner-read`, and `bucket-owner-full-control`. Default is `none`. 840 func (o S3EndpointOutput) CannedAclForObjects() pulumi.StringPtrOutput { 841 return o.ApplyT(func(v *S3Endpoint) pulumi.StringPtrOutput { return v.CannedAclForObjects }).(pulumi.StringPtrOutput) 842 } 843 844 // Whether to write insert and update operations to .csv or .parquet output files. Default is `false`. 845 func (o S3EndpointOutput) CdcInsertsAndUpdates() pulumi.BoolPtrOutput { 846 return o.ApplyT(func(v *S3Endpoint) pulumi.BoolPtrOutput { return v.CdcInsertsAndUpdates }).(pulumi.BoolPtrOutput) 847 } 848 849 // Whether to write insert operations to .csv or .parquet output files. Default is `false`. 850 func (o S3EndpointOutput) CdcInsertsOnly() pulumi.BoolPtrOutput { 851 return o.ApplyT(func(v *S3Endpoint) pulumi.BoolPtrOutput { return v.CdcInsertsOnly }).(pulumi.BoolPtrOutput) 852 } 853 854 // Maximum length of the interval, defined in seconds, after which to output a file to Amazon S3. (AWS default is `60`.) 855 func (o S3EndpointOutput) CdcMaxBatchInterval() pulumi.IntPtrOutput { 856 return o.ApplyT(func(v *S3Endpoint) pulumi.IntPtrOutput { return v.CdcMaxBatchInterval }).(pulumi.IntPtrOutput) 857 } 858 859 // Minimum file size condition as defined in kilobytes to output a file to Amazon S3. (AWS default is 32000 KB.) 860 func (o S3EndpointOutput) CdcMinFileSize() pulumi.IntPtrOutput { 861 return o.ApplyT(func(v *S3Endpoint) pulumi.IntPtrOutput { return v.CdcMinFileSize }).(pulumi.IntPtrOutput) 862 } 863 864 // Folder path of CDC files. If `cdcPath` is set, AWS DMS reads CDC files from this path and replicates the data changes to the target endpoint. Supported in AWS DMS versions 3.4.2 and later. 865 func (o S3EndpointOutput) CdcPath() pulumi.StringPtrOutput { 866 return o.ApplyT(func(v *S3Endpoint) pulumi.StringPtrOutput { return v.CdcPath }).(pulumi.StringPtrOutput) 867 } 868 869 // ARN for the certificate. 870 func (o S3EndpointOutput) CertificateArn() pulumi.StringOutput { 871 return o.ApplyT(func(v *S3Endpoint) pulumi.StringOutput { return v.CertificateArn }).(pulumi.StringOutput) 872 } 873 874 // Set to compress target files. Valid values are `GZIP` and `NONE`. Default is `NONE`. (Ignored for source endpoints.) 875 func (o S3EndpointOutput) CompressionType() pulumi.StringPtrOutput { 876 return o.ApplyT(func(v *S3Endpoint) pulumi.StringPtrOutput { return v.CompressionType }).(pulumi.StringPtrOutput) 877 } 878 879 // Delimiter used to separate columns in the source files. Default is `,`. 880 func (o S3EndpointOutput) CsvDelimiter() pulumi.StringPtrOutput { 881 return o.ApplyT(func(v *S3Endpoint) pulumi.StringPtrOutput { return v.CsvDelimiter }).(pulumi.StringPtrOutput) 882 } 883 884 // Only applies if output files for a CDC load are written in .csv format. If `useCsvNoSupValue` is set to `true`, string to use for all columns not included in the supplemental log. If you do not specify a string value, DMS uses the null value for these columns regardless of `useCsvNoSupValue`. (Ignored for source endpoints.) 885 func (o S3EndpointOutput) CsvNoSupValue() pulumi.StringPtrOutput { 886 return o.ApplyT(func(v *S3Endpoint) pulumi.StringPtrOutput { return v.CsvNoSupValue }).(pulumi.StringPtrOutput) 887 } 888 889 // String to as null when writing to the target. (AWS default is `NULL`.) 890 func (o S3EndpointOutput) CsvNullValue() pulumi.StringPtrOutput { 891 return o.ApplyT(func(v *S3Endpoint) pulumi.StringPtrOutput { return v.CsvNullValue }).(pulumi.StringPtrOutput) 892 } 893 894 // Delimiter used to separate rows in the source files. Default is newline (_i.e._, `\n`). 895 func (o S3EndpointOutput) CsvRowDelimiter() pulumi.StringPtrOutput { 896 return o.ApplyT(func(v *S3Endpoint) pulumi.StringPtrOutput { return v.CsvRowDelimiter }).(pulumi.StringPtrOutput) 897 } 898 899 // Output format for the files that AWS DMS uses to create S3 objects. Valid values are `csv` and `parquet`. (Ignored for source endpoints -- only `csv` is valid.) 900 func (o S3EndpointOutput) DataFormat() pulumi.StringPtrOutput { 901 return o.ApplyT(func(v *S3Endpoint) pulumi.StringPtrOutput { return v.DataFormat }).(pulumi.StringPtrOutput) 902 } 903 904 // Size of one data page in bytes. (AWS default is 1 MiB, _i.e._, `1048576`.) 905 func (o S3EndpointOutput) DataPageSize() pulumi.IntPtrOutput { 906 return o.ApplyT(func(v *S3Endpoint) pulumi.IntPtrOutput { return v.DataPageSize }).(pulumi.IntPtrOutput) 907 } 908 909 // Date separating delimiter to use during folder partitioning. Valid values are `SLASH`, `UNDERSCORE`, `DASH`, and `NONE`. (AWS default is `SLASH`.) (Ignored for source endpoints.) 910 func (o S3EndpointOutput) DatePartitionDelimiter() pulumi.StringPtrOutput { 911 return o.ApplyT(func(v *S3Endpoint) pulumi.StringPtrOutput { return v.DatePartitionDelimiter }).(pulumi.StringPtrOutput) 912 } 913 914 // Partition S3 bucket folders based on transaction commit dates. Default is `false`. (Ignored for source endpoints.) 915 func (o S3EndpointOutput) DatePartitionEnabled() pulumi.BoolPtrOutput { 916 return o.ApplyT(func(v *S3Endpoint) pulumi.BoolPtrOutput { return v.DatePartitionEnabled }).(pulumi.BoolPtrOutput) 917 } 918 919 // Date format to use during folder partitioning. Use this parameter when `datePartitionEnabled` is set to true. Valid values are `YYYYMMDD`, `YYYYMMDDHH`, `YYYYMM`, `MMYYYYDD`, and `DDMMYYYY`. (AWS default is `YYYYMMDD`.) (Ignored for source endpoints.) 920 func (o S3EndpointOutput) DatePartitionSequence() pulumi.StringPtrOutput { 921 return o.ApplyT(func(v *S3Endpoint) pulumi.StringPtrOutput { return v.DatePartitionSequence }).(pulumi.StringPtrOutput) 922 } 923 924 // Convert the current UTC time to a timezone. The conversion occurs when a date partition folder is created and a CDC filename is generated. The timezone format is Area/Location (_e.g._, `Europe/Paris`). Use this when `datePartitionEnabled` is `true`. (Ignored for source endpoints.) 925 func (o S3EndpointOutput) DatePartitionTimezone() pulumi.StringPtrOutput { 926 return o.ApplyT(func(v *S3Endpoint) pulumi.StringPtrOutput { return v.DatePartitionTimezone }).(pulumi.StringPtrOutput) 927 } 928 929 // Undocumented argument for use as directed by AWS Support. 930 func (o S3EndpointOutput) DetachTargetOnLobLookupFailureParquet() pulumi.BoolPtrOutput { 931 return o.ApplyT(func(v *S3Endpoint) pulumi.BoolPtrOutput { return v.DetachTargetOnLobLookupFailureParquet }).(pulumi.BoolPtrOutput) 932 } 933 934 // Maximum size in bytes of an encoded dictionary page of a column. (AWS default is 1 MiB, _i.e._, `1048576`.) 935 func (o S3EndpointOutput) DictPageSizeLimit() pulumi.IntPtrOutput { 936 return o.ApplyT(func(v *S3Endpoint) pulumi.IntPtrOutput { return v.DictPageSizeLimit }).(pulumi.IntPtrOutput) 937 } 938 939 // Whether to enable statistics for Parquet pages and row groups. Default is `true`. 940 func (o S3EndpointOutput) EnableStatistics() pulumi.BoolPtrOutput { 941 return o.ApplyT(func(v *S3Endpoint) pulumi.BoolPtrOutput { return v.EnableStatistics }).(pulumi.BoolPtrOutput) 942 } 943 944 // Type of encoding to use. Value values are `rleDictionary`, `plain`, and `plainDictionary`. (AWS default is `rleDictionary`.) 945 func (o S3EndpointOutput) EncodingType() pulumi.StringPtrOutput { 946 return o.ApplyT(func(v *S3Endpoint) pulumi.StringPtrOutput { return v.EncodingType }).(pulumi.StringPtrOutput) 947 } 948 949 // Server-side encryption mode that you want to encrypt your .csv or .parquet object files copied to S3. Valid values are `SSE_S3` and `SSE_KMS`. (AWS default is `SSE_S3`.) (Ignored for source endpoints -- only `SSE_S3` is valid.) 950 func (o S3EndpointOutput) EncryptionMode() pulumi.StringPtrOutput { 951 return o.ApplyT(func(v *S3Endpoint) pulumi.StringPtrOutput { return v.EncryptionMode }).(pulumi.StringPtrOutput) 952 } 953 954 // ARN for the endpoint. 955 func (o S3EndpointOutput) EndpointArn() pulumi.StringOutput { 956 return o.ApplyT(func(v *S3Endpoint) pulumi.StringOutput { return v.EndpointArn }).(pulumi.StringOutput) 957 } 958 959 // Database endpoint identifier. Identifiers must contain from 1 to 255 alphanumeric characters or hyphens, begin with a letter, contain only ASCII letters, digits, and hyphens, not end with a hyphen, and not contain two consecutive hyphens. 960 func (o S3EndpointOutput) EndpointId() pulumi.StringOutput { 961 return o.ApplyT(func(v *S3Endpoint) pulumi.StringOutput { return v.EndpointId }).(pulumi.StringOutput) 962 } 963 964 // Type of endpoint. Valid values are `source`, `target`. 965 func (o S3EndpointOutput) EndpointType() pulumi.StringOutput { 966 return o.ApplyT(func(v *S3Endpoint) pulumi.StringOutput { return v.EndpointType }).(pulumi.StringOutput) 967 } 968 969 // Expanded name for the engine name. 970 func (o S3EndpointOutput) EngineDisplayName() pulumi.StringOutput { 971 return o.ApplyT(func(v *S3Endpoint) pulumi.StringOutput { return v.EngineDisplayName }).(pulumi.StringOutput) 972 } 973 974 // Bucket owner to prevent sniping. Value is an AWS account ID. 975 func (o S3EndpointOutput) ExpectedBucketOwner() pulumi.StringPtrOutput { 976 return o.ApplyT(func(v *S3Endpoint) pulumi.StringPtrOutput { return v.ExpectedBucketOwner }).(pulumi.StringPtrOutput) 977 } 978 979 // Can be used for cross-account validation. Use it in another account with `dms.S3Endpoint` to create the endpoint cross-account. 980 func (o S3EndpointOutput) ExternalId() pulumi.StringOutput { 981 return o.ApplyT(func(v *S3Endpoint) pulumi.StringOutput { return v.ExternalId }).(pulumi.StringOutput) 982 } 983 984 // JSON document that describes how AWS DMS should interpret the data. 985 func (o S3EndpointOutput) ExternalTableDefinition() pulumi.StringPtrOutput { 986 return o.ApplyT(func(v *S3Endpoint) pulumi.StringPtrOutput { return v.ExternalTableDefinition }).(pulumi.StringPtrOutput) 987 } 988 989 // Whether to integrate AWS Glue Data Catalog with an Amazon S3 target. See [Using AWS Glue Data Catalog with an Amazon S3 target for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.S3.html#CHAP_Target.S3.GlueCatalog) for more information. Default is `false`. 990 func (o S3EndpointOutput) GlueCatalogGeneration() pulumi.BoolPtrOutput { 991 return o.ApplyT(func(v *S3Endpoint) pulumi.BoolPtrOutput { return v.GlueCatalogGeneration }).(pulumi.BoolPtrOutput) 992 } 993 994 // When this value is set to `1`, DMS ignores the first row header in a .csv file. (AWS default is `0`.) 995 func (o S3EndpointOutput) IgnoreHeaderRows() pulumi.IntPtrOutput { 996 return o.ApplyT(func(v *S3Endpoint) pulumi.IntPtrOutput { return v.IgnoreHeaderRows }).(pulumi.IntPtrOutput) 997 } 998 999 // Whether to enable a full load to write INSERT operations to the .csv output files only to indicate how the rows were added to the source database. Default is `false`. 1000 func (o S3EndpointOutput) IncludeOpForFullLoad() pulumi.BoolPtrOutput { 1001 return o.ApplyT(func(v *S3Endpoint) pulumi.BoolPtrOutput { return v.IncludeOpForFullLoad }).(pulumi.BoolPtrOutput) 1002 } 1003 1004 // ARN for the KMS key that will be used to encrypt the connection parameters. If you do not specify a value for `kmsKeyArn`, then AWS DMS will use your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS region. 1005 func (o S3EndpointOutput) KmsKeyArn() pulumi.StringOutput { 1006 return o.ApplyT(func(v *S3Endpoint) pulumi.StringOutput { return v.KmsKeyArn }).(pulumi.StringOutput) 1007 } 1008 1009 // Maximum size (in KB) of any .csv file to be created while migrating to an S3 target during full load. Valid values are from `1` to `1048576`. (AWS default is 1 GB, _i.e._, `1048576`.) 1010 func (o S3EndpointOutput) MaxFileSize() pulumi.IntPtrOutput { 1011 return o.ApplyT(func(v *S3Endpoint) pulumi.IntPtrOutput { return v.MaxFileSize }).(pulumi.IntPtrOutput) 1012 } 1013 1014 // Specifies the precision of any TIMESTAMP column values written to an S3 object file in .parquet format. Default is `false`. (Ignored for source endpoints.) 1015 func (o S3EndpointOutput) ParquetTimestampInMillisecond() pulumi.BoolPtrOutput { 1016 return o.ApplyT(func(v *S3Endpoint) pulumi.BoolPtrOutput { return v.ParquetTimestampInMillisecond }).(pulumi.BoolPtrOutput) 1017 } 1018 1019 // Version of the .parquet file format. Valid values are `parquet-1-0` and `parquet-2-0`. (AWS default is `parquet-1-0`.) (Ignored for source endpoints.) 1020 func (o S3EndpointOutput) ParquetVersion() pulumi.StringPtrOutput { 1021 return o.ApplyT(func(v *S3Endpoint) pulumi.StringPtrOutput { return v.ParquetVersion }).(pulumi.StringPtrOutput) 1022 } 1023 1024 // Whether DMS saves the transaction order for a CDC load on the S3 target specified by `cdcPath`. Default is `false`. (Ignored for source endpoints.) 1025 func (o S3EndpointOutput) PreserveTransactions() pulumi.BoolPtrOutput { 1026 return o.ApplyT(func(v *S3Endpoint) pulumi.BoolPtrOutput { return v.PreserveTransactions }).(pulumi.BoolPtrOutput) 1027 } 1028 1029 // For an S3 source, whether each leading double quotation mark has to be followed by an ending double quotation mark. Default is `true`. 1030 func (o S3EndpointOutput) Rfc4180() pulumi.BoolPtrOutput { 1031 return o.ApplyT(func(v *S3Endpoint) pulumi.BoolPtrOutput { return v.Rfc4180 }).(pulumi.BoolPtrOutput) 1032 } 1033 1034 // Number of rows in a row group. (AWS default is `10000`.) 1035 func (o S3EndpointOutput) RowGroupLength() pulumi.IntPtrOutput { 1036 return o.ApplyT(func(v *S3Endpoint) pulumi.IntPtrOutput { return v.RowGroupLength }).(pulumi.IntPtrOutput) 1037 } 1038 1039 // When `encryptionMode` is `SSE_KMS`, ARN for the AWS KMS key. (Ignored for source endpoints -- only `SSE_S3` `encryptionMode` is valid.) 1040 func (o S3EndpointOutput) ServerSideEncryptionKmsKeyId() pulumi.StringPtrOutput { 1041 return o.ApplyT(func(v *S3Endpoint) pulumi.StringPtrOutput { return v.ServerSideEncryptionKmsKeyId }).(pulumi.StringPtrOutput) 1042 } 1043 1044 // ARN of the IAM role with permissions to the S3 Bucket. 1045 // 1046 // The following arguments are optional: 1047 func (o S3EndpointOutput) ServiceAccessRoleArn() pulumi.StringOutput { 1048 return o.ApplyT(func(v *S3Endpoint) pulumi.StringOutput { return v.ServiceAccessRoleArn }).(pulumi.StringOutput) 1049 } 1050 1051 // SSL mode to use for the connection. Valid values are `none`, `require`, `verify-ca`, `verify-full`. (AWS default is `none`.) 1052 func (o S3EndpointOutput) SslMode() pulumi.StringOutput { 1053 return o.ApplyT(func(v *S3Endpoint) pulumi.StringOutput { return v.SslMode }).(pulumi.StringOutput) 1054 } 1055 1056 // Status of the endpoint. 1057 func (o S3EndpointOutput) Status() pulumi.StringOutput { 1058 return o.ApplyT(func(v *S3Endpoint) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) 1059 } 1060 1061 // Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 1062 func (o S3EndpointOutput) Tags() pulumi.StringMapOutput { 1063 return o.ApplyT(func(v *S3Endpoint) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) 1064 } 1065 1066 // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 1067 // 1068 // Deprecated: Please use `tags` instead. 1069 func (o S3EndpointOutput) TagsAll() pulumi.StringMapOutput { 1070 return o.ApplyT(func(v *S3Endpoint) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) 1071 } 1072 1073 // Column to add with timestamp information to the endpoint data for an Amazon S3 target. 1074 func (o S3EndpointOutput) TimestampColumnName() pulumi.StringPtrOutput { 1075 return o.ApplyT(func(v *S3Endpoint) pulumi.StringPtrOutput { return v.TimestampColumnName }).(pulumi.StringPtrOutput) 1076 } 1077 1078 // Whether to use `csvNoSupValue` for columns not included in the supplemental log. (Ignored for source endpoints.) 1079 func (o S3EndpointOutput) UseCsvNoSupValue() pulumi.BoolPtrOutput { 1080 return o.ApplyT(func(v *S3Endpoint) pulumi.BoolPtrOutput { return v.UseCsvNoSupValue }).(pulumi.BoolPtrOutput) 1081 } 1082 1083 // When set to `true`, uses the task start time as the timestamp column value instead of the time data is written to target. For full load, when set to `true`, each row of the timestamp column contains the task start time. For CDC loads, each row of the timestamp column contains the transaction commit time.When set to false, the full load timestamp in the timestamp column increments with the time data arrives at the target. Default is `false`. 1084 func (o S3EndpointOutput) UseTaskStartTimeForFullLoadTimestamp() pulumi.BoolPtrOutput { 1085 return o.ApplyT(func(v *S3Endpoint) pulumi.BoolPtrOutput { return v.UseTaskStartTimeForFullLoadTimestamp }).(pulumi.BoolPtrOutput) 1086 } 1087 1088 type S3EndpointArrayOutput struct{ *pulumi.OutputState } 1089 1090 func (S3EndpointArrayOutput) ElementType() reflect.Type { 1091 return reflect.TypeOf((*[]*S3Endpoint)(nil)).Elem() 1092 } 1093 1094 func (o S3EndpointArrayOutput) ToS3EndpointArrayOutput() S3EndpointArrayOutput { 1095 return o 1096 } 1097 1098 func (o S3EndpointArrayOutput) ToS3EndpointArrayOutputWithContext(ctx context.Context) S3EndpointArrayOutput { 1099 return o 1100 } 1101 1102 func (o S3EndpointArrayOutput) Index(i pulumi.IntInput) S3EndpointOutput { 1103 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *S3Endpoint { 1104 return vs[0].([]*S3Endpoint)[vs[1].(int)] 1105 }).(S3EndpointOutput) 1106 } 1107 1108 type S3EndpointMapOutput struct{ *pulumi.OutputState } 1109 1110 func (S3EndpointMapOutput) ElementType() reflect.Type { 1111 return reflect.TypeOf((*map[string]*S3Endpoint)(nil)).Elem() 1112 } 1113 1114 func (o S3EndpointMapOutput) ToS3EndpointMapOutput() S3EndpointMapOutput { 1115 return o 1116 } 1117 1118 func (o S3EndpointMapOutput) ToS3EndpointMapOutputWithContext(ctx context.Context) S3EndpointMapOutput { 1119 return o 1120 } 1121 1122 func (o S3EndpointMapOutput) MapIndex(k pulumi.StringInput) S3EndpointOutput { 1123 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *S3Endpoint { 1124 return vs[0].(map[string]*S3Endpoint)[vs[1].(string)] 1125 }).(S3EndpointOutput) 1126 } 1127 1128 func init() { 1129 pulumi.RegisterInputType(reflect.TypeOf((*S3EndpointInput)(nil)).Elem(), &S3Endpoint{}) 1130 pulumi.RegisterInputType(reflect.TypeOf((*S3EndpointArrayInput)(nil)).Elem(), S3EndpointArray{}) 1131 pulumi.RegisterInputType(reflect.TypeOf((*S3EndpointMapInput)(nil)).Elem(), S3EndpointMap{}) 1132 pulumi.RegisterOutputType(S3EndpointOutput{}) 1133 pulumi.RegisterOutputType(S3EndpointArrayOutput{}) 1134 pulumi.RegisterOutputType(S3EndpointMapOutput{}) 1135 }