in pkg/cloudformation/cloudformation.go [37:59]
func mapApiGatewayMethodsAndResourcesFromPaths(paths []extensionsv1beta1.HTTPIngressPath) map[string]cfn.Resource {
m := map[string]cfn.Resource{}
for _, path := range paths {
parts := strings.Split(path.Path, "/")
parts = append(parts, "{proxy+}")
for idx, part := range parts {
if idx == 0 {
continue
}
ref := cfn.GetAtt("RestAPI", "RootResourceId")
if idx > 1 {
ref = cfn.Ref(fmt.Sprintf("Resource%s", toLogicalName(idx-1, parts)))
}
resourceLogicalName := fmt.Sprintf("Resource%s", toLogicalName(idx, parts))
m[resourceLogicalName] = buildAWSApiGatewayResource(ref, part)
m[fmt.Sprintf("Method%s", toLogicalName(idx, parts))] = buildAWSApiGatewayMethod(resourceLogicalName, toPath(idx, parts))
}
}
return m
}