in cloudformation/serverless/function_properties.go [26:83]
func (r Function_Properties) value() interface{} {
ret := []interface{}{}
if r.S3Event != nil {
ret = append(ret, *r.S3Event)
}
if r.SNSEvent != nil {
ret = append(ret, *r.SNSEvent)
}
if r.SQSEvent != nil {
ret = append(ret, *r.SQSEvent)
}
if r.KinesisEvent != nil {
ret = append(ret, *r.KinesisEvent)
}
if r.DynamoDBEvent != nil {
ret = append(ret, *r.DynamoDBEvent)
}
if r.ApiEvent != nil {
ret = append(ret, *r.ApiEvent)
}
if r.ScheduleEvent != nil {
ret = append(ret, *r.ScheduleEvent)
}
if r.CloudWatchEventEvent != nil {
ret = append(ret, *r.CloudWatchEventEvent)
}
if r.CloudWatchLogsEvent != nil {
ret = append(ret, *r.CloudWatchLogsEvent)
}
if r.IoTRuleEvent != nil {
ret = append(ret, *r.IoTRuleEvent)
}
if r.AlexaSkillEvent != nil {
ret = append(ret, *r.AlexaSkillEvent)
}
if r.EventBridgeRuleEvent != nil {
ret = append(ret, *r.EventBridgeRuleEvent)
}
sort.Sort(utils.ByJSONLength(ret)) // Heuristic to select best attribute
if len(ret) > 0 {
return ret[0]
}
return nil
}