func ServiceSpec(srvcSpecs []interface{}) api.ServiceSpec { if len(srvcSpecs) == 0 { return api.ServiceSpec{} } userServiceSpec := srvcSpecs[0].(map[string]interface{}) srvcSpec := api.ServiceSpec{ Ports: ServicePorts(userServiceSpec["ports"].([]interface{})), } if _, ok := userServiceSpec["selector"]; ok { srvcSpec.Selector = convertMapTypeToStringMap(userServiceSpec["selector"].(map[string]interface{})) } if _, ok := userServiceSpec["cluster_ip"]; ok { srvcSpec.ClusterIP = userServiceSpec["cluster_ip"].(string) } if _, ok := userServiceSpec["type"]; ok { srvcSpec.Type = api.ServiceType(userServiceSpec["type"].(string)) } if _, ok := userServiceSpec["session_affinity"]; ok { srvcSpec.SessionAffinity = api.ServiceAffinity(userServiceSpec["session_affinity"].(string)) } return srvcSpec }