Skip to content

Fn.GetAtt Expected Scalar got Intrinsic #4870

@joekiller

Description

@joekiller

This might be another example of #2005. When I am trying to use values from CfnInclude resources I get jsii.errors.JSIIError: Expected Scalar, got {"$jsii.byref":"@aws-cdk/core.Intrinsic@10003"}

Reproduction Steps

from aws_cdk import (
    core
)

app = core.App()
stack = core.Stack(app, "stack")
core.CfnInclude(stack, "RawStack", template={
    "Resources": {
        "MySnsTopic": {
            "Type": "AWS::SNS:Topic"
        }
    }
}
)
core.CfnOutput(stack, "TopicName", value=core.Fn.get_att('MySnsTopic', 'TopicName'))
app.synth()

Error Log

jsii.errors.JavaScriptError: 
  Error: Expected Scalar, got {"$jsii.byref":"@aws-cdk/core.Intrinsic@10003"}
      at Object.deserialize (/tmp/test/venv/lib/python3.7/site-packages/jsii/_embedded/jsii/jsii-runtime.js:12601:23)
      at Kernel._toSandbox (/tmp/test/venv/lib/python3.7/site-packages/jsii/_embedded/jsii/jsii-runtime.js:7353:61)
      at /tmp/test/venv/lib/python3.7/site-packages/jsii/_embedded/jsii/jsii-runtime.js:12777:29
      at mapValues (/tmp/test/venv/lib/python3.7/site-packages/jsii/_embedded/jsii/jsii-runtime.js:13006:27)
      at Object.deserialize (/tmp/test/venv/lib/python3.7/site-packages/jsii/_embedded/jsii/jsii-runtime.js:12773:20)
      at Kernel._toSandbox (/tmp/test/venv/lib/python3.7/site-packages/jsii/_embedded/jsii/jsii-runtime.js:7353:61)
      at /tmp/test/venv/lib/python3.7/site-packages/jsii/_embedded/jsii/jsii-runtime.js:7406:33
      at Array.map (<anonymous>)
      at Kernel._boxUnboxParameters (/tmp/test/venv/lib/python3.7/site-packages/jsii/_embedded/jsii/jsii-runtime.js:7406:19)
      at Kernel._wrapSandboxCode (/tmp/test/venv/lib/python3.7/site-packages/jsii/_embedded/jsii/jsii-runtime.js:7447:19)
      at Kernel._create (/tmp/test/venv/lib/python3.7/site-packages/jsii/_embedded/jsii/jsii-runtime.js:6992:26)
      at Kernel.create (/tmp/test/venv/lib/python3.7/site-packages/jsii/_embedded/jsii/jsii-runtime.js:6746:21)
      at KernelHost.processRequest (/tmp/test/venv/lib/python3.7/site-packages/jsii/_embedded/jsii/jsii-runtime.js:6521:28)
      at KernelHost.run (/tmp/test/venv/lib/python3.7/site-packages/jsii/_embedded/jsii/jsii-runtime.js:6464:14)
      at Immediate._onImmediate (/tmp/test/venv/lib/python3.7/site-packages/jsii/_embedded/jsii/jsii-runtime.js:6467:37)
      at processImmediate (internal/timers.js:439:21)

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "app.py", line 15, in <module>
    core.CfnOutput(stack, "TopicName", value=core.Fn.get_att('MySnsTopic', 'TopicName'))
  File "/tmp/test/venv/lib/python3.7/site-packages/jsii/_runtime.py", line 66, in __call__
    inst = super().__call__(*args, **kwargs)
  File "/tmp/test/venv/lib/python3.7/site-packages/aws_cdk/core/__init__.py", line 3189, in __init__
    jsii.create(CfnOutput, self, [scope, id, props])
  File "/tmp/test/venv/lib/python3.7/site-packages/jsii/_kernel/__init__.py", line 214, in create
    overrides=overrides,
  File "/tmp/test/venv/lib/python3.7/site-packages/jsii/_kernel/providers/process.py", line 331, in create
    return self._process.send(request, CreateResponse)
  File "/tmp/test/venv/lib/python3.7/site-packages/jsii/_kernel/providers/process.py", line 316, in send
    raise JSIIError(resp.error) from JavaScriptError(resp.stack)
jsii.errors.JSIIError: Expected Scalar, got {"$jsii.byref":"@aws-cdk/core.Intrinsic@10003"}

Environment

  • CLI Version : 1.15.0 (build bdbe3aa)
  • Framework Version: 1.15.0
  • OS : Arch Linux
  • Language : Python 3.7

Other

This really holds up being able to integrate or build upon old stacks.


This is 🐛 Bug Report

Metadata

Metadata

Assignees

Labels

bugThis issue is a bug.language/pythonRelated to Python bindingsneeds-triageThis issue or PR still needs to be triaged.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions