@@ -523,6 +523,15 @@ def create_function(cfg, path_to_zip_file, use_s3=False, s3_file=None):
523523 )
524524 print ('Creating lambda function with name: {}' .format (func_name ))
525525
526+ # Handle string or list for subnet_ids and security_group_ids
527+ subnet_ids = cfg .get ('subnet_ids' , [])
528+ if type (subnet_ids ) is str :
529+ subnet_ids = subnet_ids .split (',' )
530+
531+ security_group_ids = cfg .get ('security_group_ids' , [])
532+ if type (security_group_ids ) is str :
533+ security_group_ids = security_group_ids .split (',' )
534+
526535 if use_s3 :
527536 kwargs = {
528537 'FunctionName' : func_name ,
@@ -537,8 +546,8 @@ def create_function(cfg, path_to_zip_file, use_s3=False, s3_file=None):
537546 'Timeout' : cfg .get ('timeout' , 15 ),
538547 'MemorySize' : cfg .get ('memory_size' , 512 ),
539548 'VpcConfig' : {
540- 'SubnetIds' : cfg . get ( ' subnet_ids' , []) ,
541- 'SecurityGroupIds' : cfg . get ( ' security_group_ids' , []) ,
549+ 'SubnetIds' : subnet_ids ,
550+ 'SecurityGroupIds' : security_group_ids ,
542551 },
543552 'Publish' : True ,
544553 }
@@ -553,8 +562,8 @@ def create_function(cfg, path_to_zip_file, use_s3=False, s3_file=None):
553562 'Timeout' : cfg .get ('timeout' , 15 ),
554563 'MemorySize' : cfg .get ('memory_size' , 512 ),
555564 'VpcConfig' : {
556- 'SubnetIds' : cfg . get ( ' subnet_ids' , []) ,
557- 'SecurityGroupIds' : cfg . get ( ' security_group_ids' , []) ,
565+ 'SubnetIds' : subnet_ids ,
566+ 'SecurityGroupIds' : security_group_ids ,
558567 },
559568 'Publish' : True ,
560569 }
@@ -640,19 +649,28 @@ def update_function(
640649 'MemorySize' : cfg .get ('memory_size' , 512 ),
641650 }
642651
652+ # Handle string or list for subnet_ids and security_group_ids
653+ subnet_ids = cfg .get ('subnet_ids' , [])
654+ if type (subnet_ids ) is str :
655+ subnet_ids = subnet_ids .split (',' )
656+
657+ security_group_ids = cfg .get ('security_group_ids' , [])
658+ if type (security_group_ids ) is str :
659+ security_group_ids = security_group_ids .split (',' )
660+
643661 if preserve_vpc :
644662 kwargs ['VpcConfig' ] = existing_cfg .get ('Configuration' , {}).get ('VpcConfig' )
645663 if kwargs ['VpcConfig' ] is None :
646664 kwargs ['VpcConfig' ] = {
647- 'SubnetIds' : cfg . get ( ' subnet_ids' , []) ,
648- 'SecurityGroupIds' : cfg . get ( ' security_group_ids' , []) ,
665+ 'SubnetIds' : subnet_ids ,
666+ 'SecurityGroupIds' : security_group_ids ,
649667 }
650668 else :
651669 del kwargs ['VpcConfig' ]['VpcId' ]
652670 else :
653671 kwargs ['VpcConfig' ] = {
654- 'SubnetIds' : cfg . get ( ' subnet_ids' , []) ,
655- 'SecurityGroupIds' : cfg . get ( ' security_group_ids' , []) ,
672+ 'SubnetIds' : subnet_ids ,
673+ 'SecurityGroupIds' : security_group_ids ,
656674 }
657675
658676 if 'environment_variables' in cfg :
@@ -757,4 +775,4 @@ def read_cfg(path_to_config_file, profile_name):
757775 cfg ['profile' ] = profile_name
758776 elif 'AWS_PROFILE' in os .environ :
759777 cfg ['profile' ] = os .environ ['AWS_PROFILE' ]
760- return cfg
778+ return cfg
0 commit comments