docs: def publish_alias(self, func_data, alias):
          """Create or update an alias for the given function.
          """
          if not alias:
              return func_data['FunctionArn']
          func_name = func_data['FunctionName']
          func_version = func_data['Version']
  
          exists = resource_exists(
              self.client.get_alias, FunctionName=func_name, Name=alias)
  
          if not exists:
              log.debug("Publishing custodian lambda alias %s", alias)
              alias_result = self.client.create_alias(
                  FunctionName=func_name,
                  Name=alias,
                  FunctionVersion=func_version)
          else:
              if (exists['FunctionVersion'] == func_version and
                      exists['Name'] == alias):
                  return exists['AliasArn']
              log.debug('Updating custodian lambda alias %s', alias)
              alias_result = self.client.update_alias(
                  FunctionName=func_name,
                  Name=alias,
                  FunctionVersion=func_version)
          return alias_result['AliasArn']