Skip to content

Commit c137a25

Browse files
deepcopy and ignore case
1 parent c86240c commit c137a25

File tree

1 file changed

+15
-10
lines changed

1 file changed

+15
-10
lines changed

src/sagemaker/config/config_utils.py

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import re
2222
import sys
2323
from typing import Callable
24+
from copy import deepcopy
2425

2526

2627
def get_sagemaker_config_logger():
@@ -70,15 +71,19 @@ def _log_sagemaker_config_single_substitution(source_value, config_value, config
7071

7172
# sensitive_keywords = re.compile(r'(secret|password|key)', re.IGNORECASE)
7273

73-
if isinstance(source_value, dict):
74-
for key in source_value.keys():
74+
source_value_log_copy = deepcopy(source_value)
75+
config_value_log_copy = deepcopy(config_value)
76+
77+
78+
if isinstance(source_value_log_copy, dict):
79+
for key in source_value_log_copy.keys():
7580
if re.search(r'(secret|password|key)', key, re.IGNORECASE):
76-
source_value[key] = '***'
81+
source_value_log_copy[key] = '***'
7782

78-
if isinstance(config_value, dict):
79-
for key in config_value.keys():
83+
if isinstance(config_value_log_copy, dict):
84+
for key in config_value_log_copy.keys():
8085
if re.search(r'(secret|password|key)', key, re.IGNORECASE):
81-
config_value[key] = '***'
86+
config_value_log_copy[key] = '***'
8287

8388
if config_value is not None:
8489

@@ -115,8 +120,8 @@ def _log_sagemaker_config_single_substitution(source_value, config_value, config
115120
" source value that will be used = %s"
116121
),
117122
config_key_path,
118-
config_value,
119-
source_value,
123+
config_value_log_copy,
124+
source_value_log_copy,
120125
)
121126
elif source_value is not None and config_value != source_value:
122127
# Sagemaker Config had a value defined that is NOT going to be used
@@ -130,8 +135,8 @@ def _log_sagemaker_config_single_substitution(source_value, config_value, config
130135
" source value that will be used = %s",
131136
),
132137
config_key_path,
133-
config_value,
134-
source_value,
138+
config_value_log_copy,
139+
source_value_log_copy,
135140
)
136141
else:
137142
# nothing was specified in the config and nothing is being automatically applied

0 commit comments

Comments
 (0)