-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Closed
Labels
area/buildsam build commandsam build commandarea/intrinsicsRef, If, Sub, GetAtt, ...Ref, If, Sub, GetAtt, ...
Description
Description
Sam build fails when more than one DynamoDB resource uses conditional !If intrinsic functions combined with !Ref AWS::NoValue
Steps to reproduce
- Install aws sam cli version 0.21.0
git clone https://github.com/danludwig/aws-sam-cli-bug-reports.gitcd ./v0.21.0/two-dynamos-with-intrinsic-tagssam buildorsam build --use-container- Examine error stack trace
More info is available in the README.md file @ https://github.com/danludwig/aws-sam-cli-bug-reports/tree/master/v0.21.0/two-dynamos-with-intrinsic-tags
Observed result
sam build --debug
Using SAM Template at C:\Users\Dan\Code\sam-inits\aws-sam-cli-bug-reports\v0.21.0\two-dynamos-with-intrinsic-tags\template.yaml
Telemetry endpoint configured to be https://aws-serverless-tools-telemetry.us-west-2.amazonaws.com/metrics
'build' command is called
Collected default values for parameters: {'ProjectName': 'my-project', 'DataBackups': 'disabled'}
Unable to process properties of DynamoDbTableOne.AWS::DynamoDB::Table
Sending Telemetry: {'metrics': [{'commandRun': {'awsProfileProvided': False, 'debugFlagProvided': True, 'region': '', 'commandName': 'sam build', 'duration': 27, 'exitReason': 'AttributeError', 'exitCode': 255, 'requestId': '62f9ecb3-cc92-44cb-b345-6b9eb6793a46', 'installationId': '250b0f37-320c-4833-8754-63acdd61926a', 'sessionId': '6b27a339-2716-40e7-88ff-8827f832b039', 'executionEnvironment': 'CLI', 'pyversion': '3.6.7', 'samcliVersion': '0.21.0'}}]}
HTTPSConnectionPool(host='aws-serverless-tools-telemetry.us-west-2.amazonaws.com', port=443): Read timed out. (read timeout=0.1)
Traceback (most recent call last):
File "runpy.py", line 193, in _run_module_as_main
File "runpy.py", line 85, in _run_code
File "C:\Program Files\Amazon\AWSSAMCLI\runtime\lib\site-packages\samcli\__main__.py", line 12, in <module>
cli(prog_name="sam")
File "C:\Program Files\Amazon\AWSSAMCLI\runtime\lib\site-packages\click\core.py", line 764, in __call__
return self.main(*args, **kwargs)
File "C:\Program Files\Amazon\AWSSAMCLI\runtime\lib\site-packages\click\core.py", line 717, in main
rv = self.invoke(ctx)
File "C:\Program Files\Amazon\AWSSAMCLI\runtime\lib\site-packages\click\core.py", line 1137, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "C:\Program Files\Amazon\AWSSAMCLI\runtime\lib\site-packages\click\core.py", line 956, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "C:\Program Files\Amazon\AWSSAMCLI\runtime\lib\site-packages\click\core.py", line 555, in invoke
return callback(*args, **kwargs)
File "C:\Program Files\Amazon\AWSSAMCLI\runtime\lib\site-packages\click\decorators.py", line 64, in new_func
return ctx.invoke(f, obj, *args, **kwargs)
File "C:\Program Files\Amazon\AWSSAMCLI\runtime\lib\site-packages\click\core.py", line 555, in invoke
return callback(*args, **kwargs)
File "C:\Program Files\Amazon\AWSSAMCLI\runtime\lib\site-packages\samcli\lib\telemetry\metrics.py", line 94, in wrapped
raise exception # pylint: disable=raising-bad-type
File "C:\Program Files\Amazon\AWSSAMCLI\runtime\lib\site-packages\samcli\lib\telemetry\metrics.py", line 65, in wrapped
return_value = func(*args, **kwargs)
File "C:\Program Files\Amazon\AWSSAMCLI\runtime\lib\site-packages\samcli\commands\build\command.py", line 105, in cli
skip_pull_image, parameter_overrides, mode) # pragma: no cover
File "C:\Program Files\Amazon\AWSSAMCLI\runtime\lib\site-packages\samcli\commands\build\command.py", line 138, in do_cli
mode=mode) as ctx:
File "C:\Program Files\Amazon\AWSSAMCLI\runtime\lib\site-packages\samcli\commands\build\build_context.py", line 65, in __enter__
self._function_provider = SamFunctionProvider(self._template_dict, self._parameter_overrides)
File "C:\Program Files\Amazon\AWSSAMCLI\runtime\lib\site-packages\samcli\commands\local\lib\sam_function_provider.py", line 46, in __init__
self.template_dict = SamBaseProvider.get_template(template_dict, parameter_overrides)
File "C:\Program Files\Amazon\AWSSAMCLI\runtime\lib\site-packages\samcli\commands\local\lib\sam_base_provider.py", line 53, in get_template
template_dict = resolver.resolve_template(ignore_errors=True)
File "C:\Program Files\Amazon\AWSSAMCLI\runtime\lib\site-packages\samcli\lib\intrinsic_resolver\intrinsic_property_resolver.py", line 240, in resolve_template
processed_template["Resources"] = self.resolve_attribute(self._resources, ignore_errors)
File "C:\Program Files\Amazon\AWSSAMCLI\runtime\lib\site-packages\samcli\lib\intrinsic_resolver\intrinsic_property_resolver.py", line 265, in resolve_attribute
processed_resource = self.intrinsic_property_resolver(val, parent_function=processed_key)
File "C:\Program Files\Amazon\AWSSAMCLI\runtime\lib\site-packages\samcli\lib\intrinsic_resolver\intrinsic_property_resolver.py", line 220, in intrinsic_property_resolver
sanitized_val = self.intrinsic_property_resolver(val, parent_function=parent_function)
File "C:\Program Files\Amazon\AWSSAMCLI\runtime\lib\site-packages\samcli\lib\intrinsic_resolver\intrinsic_property_resolver.py", line 220, in intrinsic_property_resolver
sanitized_val = self.intrinsic_property_resolver(val, parent_function=parent_function)
File "C:\Program Files\Amazon\AWSSAMCLI\runtime\lib\site-packages\samcli\lib\intrinsic_resolver\intrinsic_property_resolver.py", line 199, in intrinsic_property_resolver
return [self.intrinsic_property_resolver(item) for item in intrinsic]
File "C:\Program Files\Amazon\AWSSAMCLI\runtime\lib\site-packages\samcli\lib\intrinsic_resolver\intrinsic_property_resolver.py", line 199, in <listcomp>
return [self.intrinsic_property_resolver(item) for item in intrinsic]
File "C:\Program Files\Amazon\AWSSAMCLI\runtime\lib\site-packages\samcli\lib\intrinsic_resolver\intrinsic_property_resolver.py", line 213, in intrinsic_property_resolver
return self.conditional_key_function_map.get(key)(intrinsic_value)
File "C:\Program Files\Amazon\AWSSAMCLI\runtime\lib\site-packages\samcli\lib\intrinsic_resolver\intrinsic_property_resolver.py", line 753, in handle_fn_if
intrinsic_value, parent_function=IntrinsicResolver.FN_IF
File "C:\Program Files\Amazon\AWSSAMCLI\runtime\lib\site-packages\samcli\lib\intrinsic_resolver\intrinsic_property_resolver.py", line 199, in intrinsic_property_resolver
return [self.intrinsic_property_resolver(item) for item in intrinsic]
File "C:\Program Files\Amazon\AWSSAMCLI\runtime\lib\site-packages\samcli\lib\intrinsic_resolver\intrinsic_property_resolver.py", line 199, in <listcomp>
return [self.intrinsic_property_resolver(item) for item in intrinsic]
File "C:\Program Files\Amazon\AWSSAMCLI\runtime\lib\site-packages\samcli\lib\intrinsic_resolver\intrinsic_property_resolver.py", line 210, in intrinsic_property_resolver
return self.intrinsic_key_function_map.get(key)(intrinsic_value)
File "C:\Program Files\Amazon\AWSSAMCLI\runtime\lib\site-packages\samcli\lib\intrinsic_resolver\intrinsic_property_resolver.py", line 659, in handle_fn_ref
return self._symbol_resolver.resolve_symbols(arguments, IntrinsicResolver.REF)
File "C:\Program Files\Amazon\AWSSAMCLI\runtime\lib\site-packages\samcli\lib\intrinsic_resolver\intrinsics_symbol_table.py", line 217, in resolve_symbols
translated = self.get_translation(logical_id, resource_attribute)
File "C:\Program Files\Amazon\AWSSAMCLI\runtime\lib\site-packages\samcli\lib\intrinsic_resolver\intrinsics_symbol_table.py", line 323, in get_translation
return logical_id_item.get(resource_attributes)
AttributeError: 'NoneType' object has no attribute 'get'
Expected result
$ sam build
Building resource 'HelloWorldFunction'
Running NodejsNpmBuilder:NpmPack
Running NodejsNpmBuilder:CopyNpmrc
Running NodejsNpmBuilder:CopySource
Running NodejsNpmBuilder:NpmInstall
Running NodejsNpmBuilder:CleanUpNpmrc
Build Succeeded
Built Artifacts : .aws-sam\build
Built Template : .aws-sam\build\template.yaml
Commands you can use next
=========================
[*] Invoke Function: sam local invoke
[*] Package: sam package --s3-bucket <yourbucket>
Additional environment details (Ex: Windows, Mac, Amazon Linux etc)
- OS: Windows 10
sam --version: 0.21.0
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
area/buildsam build commandsam build commandarea/intrinsicsRef, If, Sub, GetAtt, ...Ref, If, Sub, GetAtt, ...