@@ -50,8 +50,10 @@ def get_debug_settings(debug_port, debug_args_list, _container_env_vars, runtime
5050 if not _container_env_vars :
5151 _container_env_vars = dict ()
5252
53+ # The value of entrypoint_mapping is a callable instead of DebugSettings
54+ # so that DebugSetting objects are not always created.
5355 entrypoint_mapping = {
54- Runtime .java8 .value : DebugSettings (
56+ Runtime .java8 .value : lambda : DebugSettings (
5557 entry ,
5658 container_env_vars = {
5759 "_JAVA_OPTIONS" : "-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,quiet=y,"
@@ -61,7 +63,7 @@ def get_debug_settings(debug_port, debug_args_list, _container_env_vars, runtime
6163 ** _container_env_vars ,
6264 },
6365 ),
64- Runtime .java8al2 .value : DebugSettings (
66+ Runtime .java8al2 .value : lambda : DebugSettings (
6567 entry ,
6668 container_env_vars = {
6769 "_JAVA_OPTIONS" : "-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,quiet=y,"
@@ -71,7 +73,7 @@ def get_debug_settings(debug_port, debug_args_list, _container_env_vars, runtime
7173 ** _container_env_vars ,
7274 },
7375 ),
74- Runtime .java11 .value : DebugSettings (
76+ Runtime .java11 .value : lambda : DebugSettings (
7577 entry ,
7678 container_env_vars = {
7779 "_JAVA_OPTIONS" : "-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,quiet=y,"
@@ -81,15 +83,15 @@ def get_debug_settings(debug_port, debug_args_list, _container_env_vars, runtime
8183 ** _container_env_vars ,
8284 },
8385 ),
84- Runtime .dotnetcore21 .value : DebugSettings (
86+ Runtime .dotnetcore21 .value : lambda : DebugSettings (
8587 entry + ["/var/runtime/bootstrap" ] + debug_args_list ,
8688 container_env_vars = {"_AWS_LAMBDA_DOTNET_DEBUGGING" : "1" , ** _container_env_vars },
8789 ),
88- Runtime .dotnetcore31 .value : DebugSettings (
90+ Runtime .dotnetcore31 .value : lambda : DebugSettings (
8991 entry + ["/var/runtime/bootstrap" ] + debug_args_list ,
9092 container_env_vars = {"_AWS_LAMBDA_DOTNET_DEBUGGING" : "1" , ** _container_env_vars },
9193 ),
92- Runtime .go1x .value : DebugSettings (
94+ Runtime .go1x .value : lambda : DebugSettings (
9395 entry ,
9496 container_env_vars = {
9597 "_AWS_LAMBDA_GO_DEBUGGING" : "1" ,
@@ -99,7 +101,7 @@ def get_debug_settings(debug_port, debug_args_list, _container_env_vars, runtime
99101 ** _container_env_vars ,
100102 },
101103 ),
102- Runtime .nodejs10x .value : DebugSettings (
104+ Runtime .nodejs10x .value : lambda : DebugSettings (
103105 entry
104106 + ["/var/lang/bin/node" ]
105107 + debug_args_list
@@ -112,7 +114,7 @@ def get_debug_settings(debug_port, debug_args_list, _container_env_vars, runtime
112114 ** _container_env_vars ,
113115 },
114116 ),
115- Runtime .nodejs12x .value : DebugSettings (
117+ Runtime .nodejs12x .value : lambda : DebugSettings (
116118 entry
117119 + ["/var/lang/bin/node" ]
118120 + debug_args_list
@@ -125,7 +127,7 @@ def get_debug_settings(debug_port, debug_args_list, _container_env_vars, runtime
125127 ** _container_env_vars ,
126128 },
127129 ),
128- Runtime .nodejs14x .value : DebugSettings (
130+ Runtime .nodejs14x .value : lambda : DebugSettings (
129131 entry
130132 + ["/var/lang/bin/node" ]
131133 + debug_args_list
@@ -138,25 +140,25 @@ def get_debug_settings(debug_port, debug_args_list, _container_env_vars, runtime
138140 ** _container_env_vars ,
139141 },
140142 ),
141- Runtime .python27 .value : DebugSettings (
143+ Runtime .python27 .value : lambda : DebugSettings (
142144 entry + ["/usr/bin/python2.7" ] + debug_args_list + ["/var/runtime/awslambda/bootstrap.py" ],
143145 container_env_vars = _container_env_vars ,
144146 ),
145- Runtime .python36 .value : DebugSettings (
147+ Runtime .python36 .value : lambda : DebugSettings (
146148 entry + ["/var/lang/bin/python3.6" ] + debug_args_list + ["/var/runtime/awslambda/bootstrap.py" ],
147149 container_env_vars = _container_env_vars ,
148150 ),
149- Runtime .python37 .value : DebugSettings (
151+ Runtime .python37 .value : lambda : DebugSettings (
150152 entry + ["/var/lang/bin/python3.7" ] + debug_args_list + ["/var/runtime/bootstrap" ],
151153 container_env_vars = _container_env_vars ,
152154 ),
153- Runtime .python38 .value : DebugSettings (
155+ Runtime .python38 .value : lambda : DebugSettings (
154156 entry + ["/var/lang/bin/python3.8" ] + debug_args_list + ["/var/runtime/bootstrap.py" ],
155157 container_env_vars = _container_env_vars ,
156158 ),
157159 }
158160 try :
159- return entrypoint_mapping [runtime ]
161+ return entrypoint_mapping [runtime ]()
160162 except KeyError as ex :
161163 if not runtime :
162164 LOG .debug ("Passing entrypoint as specified in template" )
0 commit comments