github.com/diggerhq/digger/libs@v0.0.0-20240604170430-9d61cdf01cc5/digger_config/terragrunt/atlantis/config.go (about)

     1  package atlantis
     2  
     3  // Represents an entire digger_config file
     4  type AtlantisConfig struct {
     5  	// Version of the digger_config syntax
     6  	Version int `json:"version"`
     7  
     8  	// If Atlantis should merge after finishing `atlantis apply`
     9  	AutoMerge bool `json:"automerge"`
    10  
    11  	// If Atlantis should allow plans to occur in parallel
    12  	ParallelPlan bool `json:"parallel_plan"`
    13  
    14  	// If Atlantis should allow applies to occur in parallel
    15  	ParallelApply bool `json:"parallel_apply"`
    16  
    17  	// The project settings
    18  	Projects []AtlantisProject `json:"projects,omitempty"`
    19  
    20  	// Workflows, which are not managed by this library other than
    21  	// the fact that this library preserves any existing workflows
    22  	Workflows interface{} `json:"workflows,omitempty"`
    23  }
    24  
    25  // Represents an Atlantis Project directory
    26  type AtlantisProject struct {
    27  	// The directory with the terragrunt.hcl file
    28  	Dir string `json:"dir"`
    29  
    30  	// Define workflow name
    31  	Workflow string `json:"workflow,omitempty"`
    32  
    33  	// Define workspace name
    34  	Workspace string `json:"workspace,omitempty"`
    35  
    36  	// Define project name
    37  	Name string `json:"name,omitempty"`
    38  
    39  	// Autoplan settings for which plans affect other plans
    40  	Autoplan AutoplanConfig `json:"autoplan"`
    41  
    42  	// The terraform version to use for this project
    43  	TerraformVersion string `json:"terraform_version,omitempty"`
    44  
    45  	// We only want to output `apply_requirements` if explicitly stated in a local value
    46  	ApplyRequirements *[]string `json:"apply_requirements,omitempty"`
    47  
    48  	// Atlantis use ExecutionOrderGroup for sort projects before applying/planning
    49  	ExecutionOrderGroup int `json:"execution_order_group,omitempty"`
    50  }
    51  
    52  type AutoplanConfig struct {
    53  	// Relative paths from this modules directory to modules it depends on
    54  	WhenModified []string `json:"when_modified"`
    55  
    56  	// If autoplan should be enabled for this dir
    57  	Enabled bool `json:"enabled"`
    58  }