pulumi / pulumi-aws

An Amazon Web Services (AWS) Pulumi resource package, providing multi-language access to AWS
Apache License 2.0
430 stars 151 forks source link

Pulumi AWS SDK does not accept CloudFront http2and3 settings #3230

Open mickey0425 opened 6 months ago

mickey0425 commented 6 months ago

What happened?

Try setting http2and3 as HttpVersion in Pulumi for AWS CloudFront distribution. This setting was expected to be accepted since the AWS API supports it, but an error was encountered stating that http_version can only be http1.1 or http2.

Example

$ pulumi preview --stack liveconnect-dashboard-prod                   
Previewing update (liveconnect-dashboard-prod):
     Type                            Name                                   Plan       Info
     pulumi:pulumi:Stack             web-liveconnect-dashboard-prod                    
 ~   ├─ aws:s3:Bucket                cloundfront-access-logs                update     [diff: -serverSideEncryptionConfiguration]
 ~   ├─ aws:s3:Bucket                liveconnect-dashboard-prod             update     [diff: -serverSideEncryptionConfiguration,tags]
 +   ├─ aws:cloudfront:CachePolicy   prod-default-CdnCachePolicyCors        create     
 ~   ├─ aws:s3:Bucket                liveconnect-dashboard-prod-access-log  update     [diff: -serverSideEncryptionConfiguration]
 +   ├─ command:local:Command        rm-liveconnect-dashboard-prod-command  create     
 +   ├─ command:local:Command        cp-liveconnect-dashboard-prod-command  create     
     └─ aws:cloudfront:Distribution  dashboard                                         1 error

Diagnostics:
  aws:cloudfront:Distribution (dashboard):
    error: aws:cloudfront/distribution:Distribution resource 'dashboard' has a problem: expected http_version to be one of [http1.1 http2], got http2and3. Examine values at 'Distribution.HttpVersion'.

Output of pulumi about

pulumi about                                     
CLI          
Version      3.96.2
Go Version   go1.21.4
Go Compiler  gc

Plugins
NAME  VERSION
go    unknown

Host     
OS       darwin
Version  13.4
Arch     arm64

This project is written in go: executable='/Users/mickey/.gvm/gos/go1.21.1/bin/go' version='go version go1.21.1 darwin/arm64'

Current Stack: organization/web/liveconnect-dashboard-prod

TYPE                                                    URN
pulumi:pulumi:Stack                                     urn:pulumi:liveconnect-dashboard-prod::web::pulumi:pulumi:Stack::web-liveconnect-dashboard-prod
pulumi:providers:aws                                    urn:pulumi:liveconnect-dashboard-prod::web::pulumi:providers:aws::default
aws:s3/bucket:Bucket                                    urn:pulumi:liveconnect-dashboard-prod::web::aws:s3/bucket:Bucket::cloundfront-access-logs
pulumi:providers:pulumi                                 urn:pulumi:liveconnect-dashboard-prod::web::pulumi:providers:pulumi::default
aws:s3/bucket:Bucket                                    urn:pulumi:liveconnect-dashboard-prod::web::aws:s3/bucket:Bucket::liveconnect-dashboard-prod
aws:s3/bucket:Bucket                                    urn:pulumi:liveconnect-dashboard-prod::web::aws:s3/bucket:Bucket::liveconnect-dashboard-prod-access-log
pulumi:pulumi:StackReference                            urn:pulumi:liveconnect-dashboard-prod::web::pulumi:pulumi:StackReference::organization/certificate/prod-us-east-1
aws:s3/bucketPublicAccessBlock:BucketPublicAccessBlock  urn:pulumi:liveconnect-dashboard-prod::web::aws:s3/bucketPublicAccessBlock:BucketPublicAccessBlock::liveconnect-dashboard-prod-bucket-public-access-block
aws:s3/bucketPolicy:BucketPolicy                        urn:pulumi:liveconnect-dashboard-prod::web::aws:s3/bucketPolicy:BucketPolicy::liveconnect-dashboard-prod-policy

Additional context

Pulumi AWS SDK: https://github.com/pulumi/pulumi-aws AWS CloudFront API Reference: https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CreateDistribution.html Go version: 1.21.1 Pulumi SDK version: 3.96.2 Pulumi AWS SDK version: 6.14.0 (later updated to 6.17.0)

Contributing

Vote on this issue by adding a 👍 reaction. To contribute a fix for this issue, leave a comment (and link to your pull request, if you've opened one already).

iwahbe commented 6 months ago

Hi @mickey0425. Thanks for reporting this. We should support http2and3.

Examining our code, it seems like it already should, so this is definitely a bug.