func FnFindInMap(name string, input interface{}, template interface{}) interface{} {
	if arr, ok := input.([]interface{}); ok {
		if mapname, ok := arr[0].(string); ok {
			if key1, ok := arr[1].(string); ok {
				if key2, ok := arr[2].(string); ok {
					if tmpl, ok := template.(map[string]interface{}); ok {
						if mappings, ok := tmpl["Mappings"]; ok {
							if mapmap, ok := mappings.(map[string]interface{}); ok {
								if found, ok := mapmap[mapname]; ok {
									if foundmap, ok := found.(map[string]interface{}); ok {
										if foundkey1, ok := foundmap[key1]; ok {
											if foundkey1map, ok := foundkey1.(map[string]interface{}); ok {
												if foundkey2, ok := foundkey1map[key2]; ok {
													return foundkey2
												}
											}
										}
									}
								}
							}
						}
					}
				}
			}
		}
	}
	return nil
}
FnFindInMap resolves the 'Fn::FindInMap' AWS CloudFormation intrinsic function.
See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-findinmap.html
package intrinsics