// expandHealthCheckConfig expands the Check block. func expandHealthCheckConfig(data interface{}) (*spotinst.HealthCheckConfig, error) { if list := data.(*schema.Set).List(); len(list) != 1 { return nil, fmt.Errorf("Only a single check block is expected") } else { m := list[0].(map[string]interface{}) check := &spotinst.HealthCheckConfig{} if v, ok := m["protocol"].(string); ok && v != "" { check.Protocol = spotinst.String(v) } if v, ok := m["endpoint"].(string); ok && v != "" { check.Endpoint = spotinst.String(v) } if v, ok := m["port"].(int); ok && v >= 0 { check.Port = spotinst.Int(v) } if v, ok := m["interval"].(int); ok && v >= 0 { check.Interval = spotinst.Int(v) } if v, ok := m["timeout"].(int); ok && v >= 0 { check.Timeout = spotinst.Int(v) } log.Printf("[DEBUG] HealthCheck check configuration: %#v\n", check) return check, nil } }
// expandHealthCheckThreshold expands the Threshold block. func expandHealthCheckThreshold(data interface{}) (*spotinst.HealthCheckThreshold, error) { if list := data.(*schema.Set).List(); len(list) != 1 { return nil, fmt.Errorf("Only a single threshold block is expected") } else { m := list[0].(map[string]interface{}) threshold := &spotinst.HealthCheckThreshold{} if v, ok := m["healthy"].(int); ok && v >= 0 { threshold.Healthy = spotinst.Int(v) } if v, ok := m["unhealthy"].(int); ok && v >= 0 { threshold.Unhealthy = spotinst.Int(v) } log.Printf("[DEBUG] HealthCheck threshold configuration: %#v\n", threshold) return threshold, nil } }
// expandHealthCheckProxy expands the Proxy block. func expandHealthCheckProxy(data interface{}) (*spotinst.HealthCheckProxy, error) { if list := data.(*schema.Set).List(); len(list) != 1 { return nil, fmt.Errorf("Only a single proxy block is expected") } else { m := list[0].(map[string]interface{}) proxy := &spotinst.HealthCheckProxy{} if v, ok := m["addr"].(string); ok && v != "" { proxy.Addr = spotinst.String(v) } if v, ok := m["port"].(int); ok && v > 0 { proxy.Port = spotinst.Int(v) } log.Printf("[DEBUG] HealthCheck proxy configuration: %#v\n", proxy) return proxy, nil } }