aws-sam-cli icon indicating copy to clipboard operation
aws-sam-cli copied to clipboard

Bug: sam build - AttributeError

Open kconfire opened this issue 8 months ago • 1 comments

Description:

I am unable to run any sort of AWS SAM commands from shell

Steps to reproduce:

I tried removing all components and installing everything from scratch, but the error persists. I am fairly new to Mac OS so I'm curious if I missed or misconfigured anything from my end as well.

Observed result:

make deploy-infra sam build && aws-vault exec awskc --no-session -- sam deploy Starting Build use cache
2025-04-03 16:59:28 Plugin 'ServerlessAppPlugin' raised an exception: 'NoneType' object has no attribute 'get' Traceback (most recent call last): File "/opt/anaconda3/lib/python3.12/site-packages/samtranslator/plugins/sam_plugins.py", line 130, in act getattr(plugin, method_name)(*args, **kwargs) File "/opt/anaconda3/lib/python3.12/site-packages/samtranslator/metrics/method_decorator.py", line 117, in wrapper_cw_timer exec_result = func(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^ File "/opt/anaconda3/lib/python3.12/site-packages/samtranslator/plugins/application/serverless_app_plugin.py", line 125, in on_before_transform_template for logical_id, app in template.iterate({SamResourceType.Application.value}): File "/opt/anaconda3/lib/python3.12/site-packages/samtranslator/sdk/template.py", line 34, in iterate resource = SamResource(resource_dict) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/anaconda3/lib/python3.12/site-packages/samtranslator/sdk/resource.py", line 26, in init self.type = resource_dict.get("Type") ^^^^^^^^^^^^^^^^^ AttributeError: 'NoneType' object has no attribute 'get'

Error: 'NoneType' object has no attribute 'get' Traceback: File "/opt/anaconda3/lib/python3.12/site-packages/click/core.py", line 1082, in main rv = self.invoke(ctx) ^^^^^^^^^^^^^^^^ File "/opt/anaconda3/lib/python3.12/site-packages/click/core.py", line 1697, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/anaconda3/lib/python3.12/site-packages/click/core.py", line 1443, in invoke return ctx.invoke(self.callback, **ctx.params) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/anaconda3/lib/python3.12/site-packages/click/core.py", line 788, in invoke return __callback(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/anaconda3/lib/python3.12/site-packages/samcli/cli/cli_config_file.py", line 347, in wrapper return func(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^ File "/opt/anaconda3/lib/python3.12/site-packages/click/decorators.py", line 92, in new_func return ctx.invoke(f, obj, *args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/anaconda3/lib/python3.12/site-packages/click/core.py", line 788, in invoke return __callback(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/anaconda3/lib/python3.12/site-packages/samcli/lib/telemetry/metric.py", line 185, in wrapped raise exception # pylint: disable=raising-bad-type ^^^^^^^^^^^^^^^ File "/opt/anaconda3/lib/python3.12/site-packages/samcli/lib/telemetry/metric.py", line 150, in wrapped return_value = func(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^ File "/opt/anaconda3/lib/python3.12/site-packages/samcli/lib/utils/version_checker.py", line 43, in wrapped actual_result = func(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^ File "/opt/anaconda3/lib/python3.12/site-packages/samcli/cli/main.py", line 95, in wrapper return func(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^ File "/opt/anaconda3/lib/python3.12/site-packages/samcli/commands/build/command.py", line 172, in cli do_cli( File "/opt/anaconda3/lib/python3.12/site-packages/samcli/commands/build/command.py", line 239, in do_cli with BuildContext( File "/opt/anaconda3/lib/python3.12/site-packages/samcli/commands/build/build_context.py", line 189, in enter self.set_up() File "/opt/anaconda3/lib/python3.12/site-packages/samcli/commands/build/build_context.py", line 195, in set_up self._stacks, remote_stack_full_paths = SamLocalStackProvider.get_stacks( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/anaconda3/lib/python3.12/site-packages/samcli/lib/providers/sam_stack_provider.py", line 270, in get_stacks current = SamLocalStackProvider( ^^^^^^^^^^^^^^^^^^^^^^ File "/opt/anaconda3/lib/python3.12/site-packages/samcli/lib/providers/sam_stack_provider.py", line 62, in init self._template_dict = self.get_template( ^^^^^^^^^^^^^^^^^^ File "/opt/anaconda3/lib/python3.12/site-packages/samcli/lib/providers/sam_base_provider.py", line 193, in get_template template_dict = SamTranslatorWrapper(template_dict, parameter_values=parameters_values).run_plugins() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/anaconda3/lib/python3.12/site-packages/samcli/lib/samlib/wrapper.py", line 73, in run_plugins parser.parse(template_copy, all_plugins) # parse() will run all configured plugins ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/anaconda3/lib/python3.12/site-packages/samcli/lib/samlib/wrapper.py", line 130, in parse sam_plugins.act(LifeCycleEvents.before_transform_template, sam_template) File "/opt/anaconda3/lib/python3.12/site-packages/samtranslator/plugins/sam_plugins.py", line 136, in act raise ex File "/opt/anaconda3/lib/python3.12/site-packages/samtranslator/plugins/sam_plugins.py", line 130, in act getattr(plugin, method_name)(*args, **kwargs) File "/opt/anaconda3/lib/python3.12/site-packages/samtranslator/metrics/method_decorator.py", line 117, in wrapper_cw_timer exec_result = func(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^ File "/opt/anaconda3/lib/python3.12/site-packages/samtranslator/plugins/application/serverless_app_plugin.py", line 125, in on_before_transform_template for logical_id, app in template.iterate({SamResourceType.Application.value}): File "/opt/anaconda3/lib/python3.12/site-packages/samtranslator/sdk/template.py", line 34, in iterate resource = SamResource(resource_dict) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/anaconda3/lib/python3.12/site-packages/samtranslator/sdk/resource.py", line 26, in init self.type = resource_dict.get("Type") ^^^^^^^^^^^^^^^^^

An unexpected error was encountered while executing "sam build". Search for an existing issue: https://github.com/aws/aws-sam-cli/issues?q=is%3Aissue+is%3Aopen+Bug%3A%20sam%20build%20-%20AttributeError Or create a bug report: https://github.com/aws/aws-sam-cli/issues/new?template=Bug_report.md&title=Bug%3A%20sam%20build%20-%20AttributeError make: *** [deploy-infra] Error 1

Expected result:

Additional environment details (Ex: Windows, Mac, Amazon Linux etc)

  1. OS: Sequoia 15.4, on Apple M1
  2. sam --version: 1.136.0
  3. AWS region: us-east-1
# Paste the output of `sam --info` here

{
  "version": "1.136.0",
  "system": {
    "python": "3.12.2",
    "os": "macOS-15.4-arm64-arm-64bit"
  },
  "additional_dependencies": {
    "docker_engine": "Not available",
    "aws_cdk": "2.1007.0 (build d3f6c3c)",
    "terraform": "Not available"
  },
  "available_beta_feature_env_vars": [
    "SAM_CLI_BETA_FEATURES",
    "SAM_CLI_BETA_BUILD_PERFORMANCE",
    "SAM_CLI_BETA_TERRAFORM_SUPPORT",
    "SAM_CLI_BETA_RUST_CARGO_LAMBDA"
  ]
}

Add --debug flag to command you are running GNU Make 3.81 Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

This program built for i386-apple-darwin11.3.0 Reading makefiles... Updating goal targets.... File deploy-infra' does not exist. Must remake target deploy-infra'. sam build && aws-vault exec awskc --no-session -- sam deploy Starting Build use cache
2025-04-03 17:03:37 Plugin 'ServerlessAppPlugin' raised an exception: 'NoneType' object has no attribute 'get' Traceback (most recent call last): File "/opt/anaconda3/lib/python3.12/site-packages/samtranslator/plugins/sam_plugins.py", line 130, in act getattr(plugin, method_name)(*args, **kwargs) File "/opt/anaconda3/lib/python3.12/site-packages/samtranslator/metrics/method_decorator.py", line 117, in wrapper_cw_timer exec_result = func(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^ File "/opt/anaconda3/lib/python3.12/site-packages/samtranslator/plugins/application/serverless_app_plugin.py", line 125, in on_before_transform_template for logical_id, app in template.iterate({SamResourceType.Application.value}): File "/opt/anaconda3/lib/python3.12/site-packages/samtranslator/sdk/template.py", line 34, in iterate resource = SamResource(resource_dict) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/anaconda3/lib/python3.12/site-packages/samtranslator/sdk/resource.py", line 26, in init self.type = resource_dict.get("Type") ^^^^^^^^^^^^^^^^^ AttributeError: 'NoneType' object has no attribute 'get'

Error: 'NoneType' object has no attribute 'get' Traceback: File "/opt/anaconda3/lib/python3.12/site-packages/click/core.py", line 1082, in main rv = self.invoke(ctx) ^^^^^^^^^^^^^^^^ File "/opt/anaconda3/lib/python3.12/site-packages/click/core.py", line 1697, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/anaconda3/lib/python3.12/site-packages/click/core.py", line 1443, in invoke return ctx.invoke(self.callback, **ctx.params) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/anaconda3/lib/python3.12/site-packages/click/core.py", line 788, in invoke return __callback(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/anaconda3/lib/python3.12/site-packages/samcli/cli/cli_config_file.py", line 347, in wrapper return func(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^ File "/opt/anaconda3/lib/python3.12/site-packages/click/decorators.py", line 92, in new_func return ctx.invoke(f, obj, *args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/anaconda3/lib/python3.12/site-packages/click/core.py", line 788, in invoke return __callback(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/anaconda3/lib/python3.12/site-packages/samcli/lib/telemetry/metric.py", line 185, in wrapped raise exception # pylint: disable=raising-bad-type ^^^^^^^^^^^^^^^ File "/opt/anaconda3/lib/python3.12/site-packages/samcli/lib/telemetry/metric.py", line 150, in wrapped return_value = func(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^ File "/opt/anaconda3/lib/python3.12/site-packages/samcli/lib/utils/version_checker.py", line 43, in wrapped actual_result = func(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^ File "/opt/anaconda3/lib/python3.12/site-packages/samcli/cli/main.py", line 95, in wrapper return func(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^ File "/opt/anaconda3/lib/python3.12/site-packages/samcli/commands/build/command.py", line 172, in cli do_cli( File "/opt/anaconda3/lib/python3.12/site-packages/samcli/commands/build/command.py", line 239, in do_cli with BuildContext( File "/opt/anaconda3/lib/python3.12/site-packages/samcli/commands/build/build_context.py", line 189, in enter self.set_up() File "/opt/anaconda3/lib/python3.12/site-packages/samcli/commands/build/build_context.py", line 195, in set_up self._stacks, remote_stack_full_paths = SamLocalStackProvider.get_stacks( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/anaconda3/lib/python3.12/site-packages/samcli/lib/providers/sam_stack_provider.py", line 270, in get_stacks current = SamLocalStackProvider( ^^^^^^^^^^^^^^^^^^^^^^ File "/opt/anaconda3/lib/python3.12/site-packages/samcli/lib/providers/sam_stack_provider.py", line 62, in init self._template_dict = self.get_template( ^^^^^^^^^^^^^^^^^^ File "/opt/anaconda3/lib/python3.12/site-packages/samcli/lib/providers/sam_base_provider.py", line 193, in get_template template_dict = SamTranslatorWrapper(template_dict, parameter_values=parameters_values).run_plugins() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/anaconda3/lib/python3.12/site-packages/samcli/lib/samlib/wrapper.py", line 73, in run_plugins parser.parse(template_copy, all_plugins) # parse() will run all configured plugins ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/anaconda3/lib/python3.12/site-packages/samcli/lib/samlib/wrapper.py", line 130, in parse sam_plugins.act(LifeCycleEvents.before_transform_template, sam_template) File "/opt/anaconda3/lib/python3.12/site-packages/samtranslator/plugins/sam_plugins.py", line 136, in act raise ex File "/opt/anaconda3/lib/python3.12/site-packages/samtranslator/plugins/sam_plugins.py", line 130, in act getattr(plugin, method_name)(*args, **kwargs) File "/opt/anaconda3/lib/python3.12/site-packages/samtranslator/metrics/method_decorator.py", line 117, in wrapper_cw_timer exec_result = func(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^ File "/opt/anaconda3/lib/python3.12/site-packages/samtranslator/plugins/application/serverless_app_plugin.py", line 125, in on_before_transform_template for logical_id, app in template.iterate({SamResourceType.Application.value}): File "/opt/anaconda3/lib/python3.12/site-packages/samtranslator/sdk/template.py", line 34, in iterate resource = SamResource(resource_dict) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/anaconda3/lib/python3.12/site-packages/samtranslator/sdk/resource.py", line 26, in init self.type = resource_dict.get("Type") ^^^^^^^^^^^^^^^^^

An unexpected error was encountered while executing "sam build". Search for an existing issue: https://github.com/aws/aws-sam-cli/issues?q=is%3Aissue+is%3Aopen+Bug%3A%20sam%20build%20-%20AttributeError Or create a bug report: https://github.com/aws/aws-sam-cli/issues/new?template=Bug_report.md&title=Bug%3A%20sam%20build%20-%20AttributeError make: *** [deploy-infra] Error 1

kconfire avatar Apr 03 '25 21:04 kconfire

Sorry for the delay in the response. Did you figure this out?

Based on the error

self.type = resource_dict.get("Type")
^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'get'

From the error it looks like you might have a resource without any values inside. Something like this myFunction:

Resources:
    myFunction:

    myOtherFunction:
       Type: AWS::Serverless::Function
       Properties:
       ...

Make sure that your SAM template is correctly written. If your template seems correct, please share an example, so we can try to reproduce the issue.

valerena avatar May 27 '25 20:05 valerena