github.com/databricks/cli@v0.203.0/bundle/config/mutator/default_environment.go (about)

     1  package mutator
     2  
     3  import (
     4  	"context"
     5  	"fmt"
     6  
     7  	"github.com/databricks/cli/bundle"
     8  	"github.com/databricks/cli/bundle/config"
     9  )
    10  
    11  type defineDefaultEnvironment struct {
    12  	name string
    13  }
    14  
    15  // DefineDefaultEnvironment adds an environment named "default"
    16  // to the configuration if none have been defined.
    17  func DefineDefaultEnvironment() bundle.Mutator {
    18  	return &defineDefaultEnvironment{
    19  		name: "default",
    20  	}
    21  }
    22  
    23  func (m *defineDefaultEnvironment) Name() string {
    24  	return fmt.Sprintf("DefineDefaultEnvironment(%s)", m.name)
    25  }
    26  
    27  func (m *defineDefaultEnvironment) Apply(_ context.Context, b *bundle.Bundle) error {
    28  	// Nothing to do if the configuration has at least 1 environment.
    29  	if len(b.Config.Environments) > 0 {
    30  		return nil
    31  	}
    32  
    33  	// Define default environment.
    34  	b.Config.Environments = make(map[string]*config.Environment)
    35  	b.Config.Environments[m.name] = &config.Environment{}
    36  	return nil
    37  }