aws / aws/aws-cdk

transfer : CopyStepDetailsProperty Wrong CloudFormation Mapping

Open
#28,410 1 comment 0 reactions 0 assignees View on GitHub
@aws-cdk/aws-transfer bug effort/small jsii p3
Dominant language
TypeScript
Stars
12.9k
Forks
4.6k
Avg merge
2d 3h
Merged PRs (30d)
83

Description

### Describe the bug

AWS::Transfer::Workflow CopyStepDetails is generated with camel case. AWS API requires Properties in Pascal Case:

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-workflow-copystepdetails.html
{
"DestinationFileLocation" : S3FileLocation,
"Name" : String,
"OverwriteExisting" : String,
"SourceFileLocation" : String
}

Python code:
Screenshot 2023-12-18 at 16 32 12

### Expected Behavior

Json Template output with pascal case properties

### Current Behavior

Json Template output with camel case properties.

### Reproduction Steps

`

copy_step_details_property = transfer.CfnWorkflow.CopyStepDetailsProperty(
destination_file_location=transfer.CfnWorkflow.S3FileLocationProperty(
s3_file_location=transfer.CfnWorkflow.S3InputFileLocationProperty(
bucket=bucket.bucket_name,
key="csv"
)
),
name=cp_to_s3,
overwrite_existing="TRUE",
source_file_location="${original.file}"
)

cfn_workflow = transfer.CfnWorkflow(
self,
"CopyToS3",
steps=[
transfer.CfnWorkflow.WorkflowStepProperty(
copy_step_details=copy_step_details_property
)
],
description='copy_to_s3'

)
`

### Possible Solution

_No response_

### Additional Information/Context

_No response_

### CDK CLI Version

2.110.0

### Framework Version

_No response_

### Node.js Version

v21.3.0

### OS

macOS Monterey Version 12.6

### Language

Python

### Language Version

Python (3.11)

### Other information

Screenshot 2023-12-18 at 16 18 30
Screenshot 2023-12-18 at 16 19 32

Contributor guide

Open the contributing guide

Research direction

Start at the transfer.CfnWorkflow.CopyStepDetailsProperty entry point and reproduce the Python example to inspect the synthesized JSON. Compare its property names with the linked AWS CloudFormation documentation; done means DestinationFileLocation, Name, OverwriteExisting, and SourceFileLocation are emitted in PascalCase.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws, python, typescript
Domain
cloud, infrastructure
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.