3 O4Â\Vã@s$ddlZddlZGdd„deƒZdS)éNc@s(eZdZdZdd„Zdd„Zdd„ZdS) ÚSamParameterValuesz2 Class representing SAM parameter values. cCstj|ƒ|_dS)z¶ Initialize the object given the parameter values as a dictionary :param dict parameter_values: Parameter value dictionary containing parameter name & value N)ÚcopyÚdeepcopyÚparameter_values)Úselfr©rúƒ/Users/sshvans/Documents/Work/Quickstart/python-virtual-environments/env/lib/python3.6/site-packages/samtranslator/sdk/parameter.pyÚ__init__ szSamParameterValues.__init__cCsh|jddƒ}| st|tƒ r$|jSx>|jƒD]2\}}||jkr.t|tƒr.d|kr.|d|j|<q.WdS)aw Method to read default values for template parameters and merge with user supplied values. Example: If the template contains the following parameters defined Parameters: Param1: Type: String Default: default_value Param2: Type: String Default: default_value And, the user explicitly provided the following parameter values: { Param2: "new value" } then, this method will grab default value for Param1 and return the following result: { Param1: "default_value", Param2: "new value" } :param dict sam_template: SAM template :param dict parameter_values: Dictionary of parameter values provided by the user :return dict: Merged parameter values Z ParametersNZDefault)ÚgetÚ isinstanceÚdictrÚitems)rZ sam_templateZparameter_definitionÚ param_nameÚvaluerrrÚadd_default_parameter_valuess " z/SamParameterValues.add_default_parameter_valuescCs d|jkrtjjƒj|jd<dS)zp Add pseudo parameter values :return: parameter values that have pseudo parameter in it z AWS::RegionN)rÚboto3ZsessionZSessionZ region_name)rrrrÚadd_pseudo_parameter_values=s z.SamParameterValues.add_pseudo_parameter_valuesN)Ú__name__Ú __module__Ú __qualname__Ú__doc__r rrrrrrrs *r)rrÚobjectrrrrrÚs