func determineParams()

in custom-targets/terraform/terraform-deployer/params.go [58:97]


func determineParams() (*params, error) {
	backendBucket := os.Getenv(backendBucketEnvKey)
	if len(backendBucket) == 0 {
		return nil, fmt.Errorf("parameter %q is required", backendBucketEnvKey)
	}
	backendPrefix := os.Getenv(backendPrefixEnvKey)
	if len(backendPrefix) == 0 {
		return nil, fmt.Errorf("parameter %q is required", backendPrefixEnvKey)
	}

	enablePlan := false
	ep, ok := os.LookupEnv(enableRenderPlanEnvKey)
	if ok {
		var err error
		enablePlan, err = strconv.ParseBool(ep)
		if err != nil {
			return nil, fmt.Errorf("failed to parse parameter %q: %v", enableRenderPlanEnvKey, err)
		}
	}

	var applyParallelism int
	ap, ok := os.LookupEnv(applyParallelismEnvKey)
	if ok {
		var err error
		applyParallelism, err = strconv.Atoi(ap)
		if err != nil {
			return nil, fmt.Errorf("failed to parse parameter %q: %v", applyParallelismEnvKey, err)
		}
	}

	return &params{
		backendBucket:    backendBucket,
		backendPrefix:    backendPrefix,
		configPath:       os.Getenv(configPathEnvKey),
		variablePath:     os.Getenv(variablePathEnvKey),
		enableRenderPlan: enablePlan,
		lockTimeout:      os.Getenv(lockTimeoutEnvKey),
		applyParallelism: applyParallelism,
	}, nil
}