code: def _fill_parameters(self):
          
          self._parameters = self._config.get('parameters', {})
          self._fill_defaults()
  
          for k in self._parameters.keys():
              try:
                  if self._parameters[k].startswith(self.SSM) and self._parameters[k].endswith(']'):
                      parts = self._parameters[k].split(':')
                      tmp = parts[1].replace(']', '')
                      val = self._get_ssm_parameter(tmp)
                      if val:
                          self._parameters[k] = val
                      else:
                          logging.error('SSM parameter {} not found'.format(tmp))
                          return False
                  elif self._parameters[k] == self.ASK:
                      val = None
                      a1 = '__x___'
                      a2 = '__y___'
                      prompt1 = "Enter value for '{}': ".format(k)
                      prompt2 = "Confirm value for '{}': ".format(k)
                      while a1 != a2:
                          a1 = getpass.getpass(prompt=prompt1)
                          a2 = getpass.getpass(prompt=prompt2)
                          if a1 == a2:
                              val = a1
                          else:
                              print('values do not match, try again')
                      self._parameters[k] = val
              except:
                  pass
  
          return True
docs: Fill in the _parameters dict from the properties file.
  
          Args:
              None
  
          Returns:
              True
  
          Todo:
              Figure out what could go wrong and at least acknowledge the the
              fact that Murphy was an optimist.