-
Notifications
You must be signed in to change notification settings - Fork 262
Closed
Labels
Description
🐛 Bug Report
Affected Languages
-
TypeScriptorJavascript -
Python -
Java - .NET (
C#,F#, ...) -
Go
General Information
- JSII Version: ^1.27.0 (CDK 1.97.0)
- Platform: 20.3.0 Darwin Kernel Version 20.3.0: Thu Jan 21 00:07:06 PST 2021; root:xnu-7195.81.3~1/RELEASE_X86_64 x86_64
What is the problem?
I am currently starting to play with the Golang version of CDK and I have hard time to create a PolicyStatement .
It panics with the error panic: "Expected object reference, got {}"
To reproduce you can run this CDK stack:
package main
import (
"github.com/aws/aws-cdk-go/awscdk"
"github.com/aws/aws-cdk-go/awscdk/awsiam"
"github.com/aws/constructs-go/constructs/v3"
"github.com/aws/jsii-runtime-go"
"os"
"strings"
)
type CdkGoStackProps struct {
awscdk.StackProps
}
func NewCdkGoStack(scope constructs.Construct, id string, props *CdkGoStackProps) awscdk.Stack {
var sprops awscdk.StackProps
if props != nil {
sprops = props.StackProps
}
stack := awscdk.NewStack(scope, &id, &sprops)
region:= stack.Region()
account:=stack.Account()
domainName:="test-domain"
awsiam.NewPolicyStatement(&awsiam.PolicyStatementProps{
Actions: &[]*string{
jsii.String("es:*"),
},
Effect: awsiam.Effect_ALLOW,
Principals: &[]awsiam.IPrincipal{
awsiam.NewAnyPrincipal(),
},
Resources: &[]*string{
jsii.String(strings.Join([]string{"arn","aws","es",*region,*account,":domain/"+domainName+"/*"}, ":")),
},
})
return stack
}
func main() {
app := awscdk.NewApp(nil)
NewCdkGoStack(app, "CdkGoStack", &CdkGoStackProps{
awscdk.StackProps{
Env: env(),
},
})
app.Synth(nil)
}
// env determines the AWS environment (account+region) in which our stack is to
// be deployed. For more information see: https://docs.aws.amazon.com/cdk/latest/guide/environments.html
func env() *awscdk.Environment {
return &awscdk.Environment{
Account: jsii.String(os.Getenv("CDK_DEFAULT_ACCOUNT")),
Region: jsii.String(os.Getenv("CDK_DEFAULT_REGION")),
}
}Verbose Log
panic: "Expected object reference, got {}"
goroutine 1 [running]:
github.com/aws/jsii-runtime-go.Create(0x1292d08, 0x1f, 0xc00014dd98, 0x1, 0x1, 0x127ddc0, 0xc00001c9e8)
/Users/thomas.poignant/Documents/dev/temp/cdk_go/vendor/github.com/aws/jsii-runtime-go/runtime.go:172 +0xb53
github.com/aws/aws-cdk-go/awscdk/awsiam.NewPolicyStatement(0xc000078190, 0xc00000e190, 0xc00001c96c)
/Users/thomas.poignant/Documents/dev/temp/cdk_go/vendor/github.com/aws/aws-cdk-go/awscdk/awsiam/awsiam.go:14407 +0xa5
main.NewCdkGoStack(0xbc710a0, 0xc00006c1b0, 0x128a9ef, 0xa, 0xc00014df38, 0xc00008e000, 0xc000044748)
/Users/thomas.poignant/Documents/dev/temp/cdk_go/cdk_go.go:26 +0x510
main.main()
/Users/thomas.poignant/Documents/dev/temp/cdk_go/cdk_go.go:45 +0xdd
exit status 2
Subprocess exited with error 1
Reactions are currently unavailable