{ "layoutGenerator": "layout.generate_layout", "parameterSpec": { "WorkflowName": { "type": "String", "collection": false, "description": "Name of the ETL workflow." }, "GlueExecutionRole": { "type": "IAMRoleName", "collection": false, "description": "IAM role to execute the ETL job." }, "NetworkConnectionName": { "type": "String", "collection": false, "description": "The AWS Glue connection to extract from the source database." }, "SecretName": { "type": "String", "collection": false, "description": "The Secret to authenticate with the source database." }, "SourceTable": { "type": "String", "collection": false, "description": "Table to extract from." }, "DestinationBucketName": { "type": "String", "collection": false, "description": "Destination S3 bucket name. The destination will be S3://{bucket_name}/{database_name}/{table_name}/" }, "DestinationFileFormat": { "type": "String", "collection": false, "description": "Output file format.", "defaultValue": "parquet" }, "DestinationFileCount": { "type": "String", "collection": false, "description": "No. of output files.", "defaultValue": "" }, "DeltaColumnName": { "type": "String", "collection": false, "description": "Column identifies changing rows in the source table.", "defaultValue": "updated_at" }, "S3PartitionColumnName": { "type": "String", "collection": false, "description": "Specify the partition column as optional parameter. Output example: S3://{bucket_name}/{database_name}/{table_name}/{S3PartitionColumnName}", "defaultValue": "" }, "JobScheduleType": { "type": "String", "collection": false, "description": "Schedule type: OnDemand or Cron", "allowedValues": ["OnDemand", "Cron"], "defaultValue": "OnDemand" }, "ScheduleCronPattern": { "type": "String", "collection": false, "description": "Enter the schedule in cron expression.", "defaultValue": "10 21 * * ? *" }, "NumberOfWorkers": { "type": "Integer", "description": "Provide the number of Glue G.1X workers.", "defaultValue": 2 } } }