Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package terragrunt for openSUSE:Factory checked in at 2023-05-25 23:52:31 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/terragrunt (Old) and /work/SRC/openSUSE:Factory/.terragrunt.new.1533 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "terragrunt" Thu May 25 23:52:31 2023 rev:48 rq:1088951 version:0.45.16 Changes: -------- --- /work/SRC/openSUSE:Factory/terragrunt/terragrunt.changes 2023-05-22 13:14:36.750893307 +0200 +++ /work/SRC/openSUSE:Factory/.terragrunt.new.1533/terragrunt.changes 2023-05-25 23:52:42.155669412 +0200 @@ -1,0 +2,6 @@ +Thu May 25 06:19:28 UTC 2023 - ka...@b1-systems.de + +- Update to version 0.45.16: + * Add support for Disable field in generate blocks (#2497) + +------------------------------------------------------------------- Old: ---- terragrunt-0.45.15.obscpio New: ---- terragrunt-0.45.16.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ terragrunt.spec ++++++ --- /var/tmp/diff_new_pack.Tg715V/_old 2023-05-25 23:52:43.011674437 +0200 +++ /var/tmp/diff_new_pack.Tg715V/_new 2023-05-25 23:52:43.019674484 +0200 @@ -19,7 +19,7 @@ %define __arch_install_post export NO_BRP_STRIP_DEBUG=true Name: terragrunt -Version: 0.45.15 +Version: 0.45.16 Release: 0 Summary: Thin wrapper for Terraform for working with multiple Terraform modules License: MIT ++++++ _service ++++++ --- /var/tmp/diff_new_pack.Tg715V/_old 2023-05-25 23:52:43.051674672 +0200 +++ /var/tmp/diff_new_pack.Tg715V/_new 2023-05-25 23:52:43.055674695 +0200 @@ -3,7 +3,7 @@ <param name="url">https://github.com/gruntwork-io/terragrunt</param> <param name="scm">git</param> <param name="exclude">.git</param> - <param name="revision">v0.45.15</param> + <param name="revision">v0.45.16</param> <param name="versionformat">@PARENT_TAG@</param> <param name="changesgenerate">enable</param> <param name="versionrewrite-pattern">v(.*)</param> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.Tg715V/_old 2023-05-25 23:52:43.075674813 +0200 +++ /var/tmp/diff_new_pack.Tg715V/_new 2023-05-25 23:52:43.083674860 +0200 @@ -1,6 +1,6 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/gruntwork-io/terragrunt</param> - <param name="changesrevision">a9df21fae6041de444a3a66154f7ccda97548ba4</param></service></servicedata> + <param name="changesrevision">e5b394060e8eb5009b99d15195e64688614a768f</param></service></servicedata> (No newline at EOF) ++++++ terragrunt-0.45.15.obscpio -> terragrunt-0.45.16.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terragrunt-0.45.15/codegen/generate.go new/terragrunt-0.45.16/codegen/generate.go --- old/terragrunt-0.45.15/codegen/generate.go 2023-05-19 23:34:42.000000000 +0200 +++ new/terragrunt-0.45.16/codegen/generate.go 2023-05-24 21:08:10.000000000 +0200 @@ -53,6 +53,7 @@ CommentPrefix string `cty:"comment_prefix"` Contents string `cty:"contents"` DisableSignature bool `cty:"disable_signature"` + Disable bool `cty:"disable"` } // WriteToFile will generate a new file at the given target path with the given contents. If a file already exists at @@ -61,6 +62,12 @@ // - if ExistsSkip, do nothing and return // - if ExistsOverwrite, overwrite the existing file func WriteToFile(terragruntOptions *options.TerragruntOptions, basePath string, config GenerateConfig) error { + // If this GenerateConfig is disabled then skip further processing. + if config.Disable { + terragruntOptions.Logger.Debugf("Skipping generating file at %s because it is disabled", config.Path) + return nil + } + // Figure out thee target path to generate the code in. If relative, merge with basePath. var targetPath string if filepath.IsAbs(config.Path) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terragrunt-0.45.15/codegen/generate_test.go new/terragrunt-0.45.16/codegen/generate_test.go --- old/terragrunt-0.45.15/codegen/generate_test.go 2023-05-19 23:34:42.000000000 +0200 +++ new/terragrunt-0.45.16/codegen/generate_test.go 2023-05-24 21:08:10.000000000 +0200 @@ -2,8 +2,11 @@ import ( "bytes" + "fmt" "testing" + "github.com/gruntwork-io/terragrunt/options" + "github.com/gruntwork-io/terragrunt/util" "github.com/stretchr/testify/require" ) @@ -62,4 +65,57 @@ } }) } +} + +func TestGenerateDisabling(t *testing.T) { + testDir := t.TempDir() + + testCases := []struct { + name string + disabled bool + path string + contents string + ifExists GenerateConfigExists + }{ + { + "generate-disabled-true", + true, + fmt.Sprintf("%s/%s", testDir, "disabled_true"), + "this file should not be generated", + ExistsError, + }, + { + "generate-disabled-false", + false, + fmt.Sprintf("%s/%s", testDir, "disabled_false"), + "this file should be generated", + ExistsError, + }, + } + + for _, testCase := range testCases { + t.Run(testCase.name, func(t *testing.T) { + config := GenerateConfig{ + Path: testCase.path, + IfExists: testCase.ifExists, + CommentPrefix: "", + DisableSignature: false, + Contents: testCase.contents, + Disable: testCase.disabled, + } + + opts, err := options.NewTerragruntOptionsForTest("mock-path-for-test.hcl") + require.Nil(t, err) + require.NotNil(t, opts) + + err = WriteToFile(opts, "", config) + require.Nil(t, err) + + if testCase.disabled { + require.True(t, util.FileNotExists(testCase.path)) + } else { + require.True(t, util.FileExists(testCase.path)) + } + }) + } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terragrunt-0.45.15/config/config.go new/terragrunt-0.45.16/config/config.go --- old/terragrunt-0.45.15/config/config.go 2023-05-19 23:34:42.000000000 +0200 +++ new/terragrunt-0.45.16/config/config.go 2023-05-24 21:08:10.000000000 +0200 @@ -238,6 +238,7 @@ CommentPrefix *string `hcl:"comment_prefix,attr" mapstructure:"comment_prefix"` Contents string `hcl:"contents,attr" mapstructure:"contents"` DisableSignature *bool `hcl:"disable_signature,attr" mapstructure:"disable_signature"` + Disable *bool `hcl:"disable,attr" mapstructure:"disable"` } // IncludeConfig represents the configuration settings for a parent Terragrunt configuration file that you can @@ -987,6 +988,11 @@ } else { genConfig.DisableSignature = *block.DisableSignature } + if block.Disable == nil { + genConfig.Disable = false + } else { + genConfig.Disable = *block.Disable + } terragruntConfig.GenerateConfigs[block.Name] = genConfig terragruntConfig.SetFieldMetadataWithType(MetadataGenerateConfigs, block.Name, defaultMetadata) } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terragrunt-0.45.15/docs/_docs/04_reference/config-blocks-and-attributes.md new/terragrunt-0.45.16/docs/_docs/04_reference/config-blocks-and-attributes.md --- old/terragrunt-0.45.15/docs/_docs/04_reference/config-blocks-and-attributes.md 2023-05-19 23:34:42.000000000 +0200 +++ new/terragrunt-0.45.16/docs/_docs/04_reference/config-blocks-and-attributes.md 2023-05-24 21:08:10.000000000 +0200 @@ -1008,6 +1008,7 @@ there will be no difference between `overwrite_terragrunt` and `overwrite` for the `if_exists` setting. Defaults to `false`. Optional. - `contents` (attribute): The contents of the generated file. +- `disable` (attribute): Disables this generate block. Example: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terragrunt-0.45.15/test/fixture-codegen/generate-block/disable/.gitignore new/terragrunt-0.45.16/test/fixture-codegen/generate-block/disable/.gitignore --- old/terragrunt-0.45.15/test/fixture-codegen/generate-block/disable/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ new/terragrunt-0.45.16/test/fixture-codegen/generate-block/disable/.gitignore 2023-05-24 21:08:10.000000000 +0200 @@ -0,0 +1 @@ +data.txt diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terragrunt-0.45.15/test/fixture-codegen/generate-block/disable/terragrunt.hcl new/terragrunt-0.45.16/test/fixture-codegen/generate-block/disable/terragrunt.hcl --- old/terragrunt-0.45.15/test/fixture-codegen/generate-block/disable/terragrunt.hcl 1970-01-01 01:00:00.000000000 +0100 +++ new/terragrunt-0.45.16/test/fixture-codegen/generate-block/disable/terragrunt.hcl 2023-05-24 21:08:10.000000000 +0200 @@ -0,0 +1,10 @@ +generate "backend" { + path = "data.txt" + contents = "test data1" + if_exists = "error" + disable = true +} + +terraform { + source = "../../module" +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terragrunt-0.45.15/test/fixture-codegen/generate-block/enable/.gitignore new/terragrunt-0.45.16/test/fixture-codegen/generate-block/enable/.gitignore --- old/terragrunt-0.45.15/test/fixture-codegen/generate-block/enable/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ new/terragrunt-0.45.16/test/fixture-codegen/generate-block/enable/.gitignore 2023-05-24 21:08:10.000000000 +0200 @@ -0,0 +1 @@ +data.txt diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terragrunt-0.45.15/test/fixture-codegen/generate-block/enable/terragrunt.hcl new/terragrunt-0.45.16/test/fixture-codegen/generate-block/enable/terragrunt.hcl --- old/terragrunt-0.45.15/test/fixture-codegen/generate-block/enable/terragrunt.hcl 1970-01-01 01:00:00.000000000 +0100 +++ new/terragrunt-0.45.16/test/fixture-codegen/generate-block/enable/terragrunt.hcl 2023-05-24 21:08:10.000000000 +0200 @@ -0,0 +1,10 @@ +generate "backend" { + path = "data.txt" + contents = "test data1" + if_exists = "error" + disable = false +} + +terraform { + source = "../../module" +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terragrunt-0.45.15/test/integration_debug_test.go new/terragrunt-0.45.16/test/integration_debug_test.go --- old/terragrunt-0.45.15/test/integration_debug_test.go 2023-05-19 23:34:42.000000000 +0200 +++ new/terragrunt-0.45.16/test/integration_debug_test.go 2023-05-24 21:08:10.000000000 +0200 @@ -250,6 +250,7 @@ "path": "provider.tf", "comment_prefix": "# ", "disable_signature": false, + "disable": false, "if_exists": "overwrite_terragrunt", "contents": `provider "aws" { region = "us-east-1" @@ -349,6 +350,7 @@ "path": "provider.tf", "comment_prefix": "# ", "disable_signature": false, + "disable": false, "if_exists": "overwrite", "contents": "# This is just a test", }, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terragrunt-0.45.15/test/integration_test.go new/terragrunt-0.45.16/test/integration_test.go --- old/terragrunt-0.45.15/test/integration_test.go 2023-05-19 23:34:42.000000000 +0200 +++ new/terragrunt-0.45.16/test/integration_test.go 2023-05-24 21:08:10.000000000 +0200 @@ -3314,6 +3314,7 @@ "if_exists": "overwrite_terragrunt", "comment_prefix": "# ", "disable_signature": false, + "disable": false, "contents": `provider "aws" { region = "us-east-1" } @@ -3540,6 +3541,34 @@ assert.Contains(t, parsedError.BlockName, "backend2") } +func TestTerragruntGenerateBlockDisable(t *testing.T) { + t.Parallel() + + generateTestCase := filepath.Join(TEST_FIXTURE_CODEGEN_PATH, "generate-block", "disable") + cleanupTerraformFolder(t, generateTestCase) + cleanupTerragruntFolder(t, generateTestCase) + + stdout := bytes.Buffer{} + stderr := bytes.Buffer{} + err := runTerragruntCommand(t, fmt.Sprintf("terragrunt init --terragrunt-working-dir %s", generateTestCase), &stdout, &stderr) + require.NoError(t, err) + assert.False(t, fileIsInFolder(t, "data.txt", generateTestCase)) +} + +func TestTerragruntGenerateBlockEnable(t *testing.T) { + t.Parallel() + + generateTestCase := filepath.Join(TEST_FIXTURE_CODEGEN_PATH, "generate-block", "enable") + cleanupTerraformFolder(t, generateTestCase) + cleanupTerragruntFolder(t, generateTestCase) + + stdout := bytes.Buffer{} + stderr := bytes.Buffer{} + err := runTerragruntCommand(t, fmt.Sprintf("terragrunt init --terragrunt-working-dir %s", generateTestCase), &stdout, &stderr) + require.NoError(t, err) + assert.True(t, fileIsInFolder(t, "data.txt", generateTestCase)) +} + func TestTerragruntRemoteStateCodegenGeneratesBackendBlock(t *testing.T) { t.Parallel() @@ -4946,6 +4975,7 @@ "comment_prefix": "# ", "contents": "# test\n", "disable_signature": false, + "disable": false, "if_exists": "overwrite", "path": "provider.tf", }, ++++++ terragrunt.obsinfo ++++++ --- /var/tmp/diff_new_pack.Tg715V/_old 2023-05-25 23:52:43.783678969 +0200 +++ /var/tmp/diff_new_pack.Tg715V/_new 2023-05-25 23:52:43.787678993 +0200 @@ -1,5 +1,5 @@ name: terragrunt -version: 0.45.15 -mtime: 1684532082 -commit: a9df21fae6041de444a3a66154f7ccda97548ba4 +version: 0.45.16 +mtime: 1684955290 +commit: e5b394060e8eb5009b99d15195e64688614a768f ++++++ vendor.tar.gz ++++++ /work/SRC/openSUSE:Factory/terragrunt/vendor.tar.gz /work/SRC/openSUSE:Factory/.terragrunt.new.1533/vendor.tar.gz differ: char 5, line 1