Skip to content

Commit

Permalink
Feat: environment resource with sub_environment_configuration is miss… (
Browse files Browse the repository at this point in the history
#663)

* Feat: environment resource with sub_environment_configuration is missing workspace

* fix test
  • Loading branch information
TomerHeber committed Jun 27, 2023
1 parent 615f3c3 commit 147ccd9
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 2 deletions.
8 changes: 8 additions & 0 deletions env0/resource_environment.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ type SubEnvironment struct {
Id string
Alias string
Revision string
Workflow string
Workspace string
Configuration client.ConfigurationChanges `tfschema:"-"`
}

Expand Down Expand Up @@ -300,6 +302,11 @@ func resourceEnvironment() *schema.Resource {
Description: "sub environment revision",
Required: true,
},
"workspace": {
Type: schema.TypeString,
Description: "sub environment workspace (overrides the configurtion in the yml file)",
Optional: true,
},
"configuration": {
Type: schema.TypeList,
Description: "sub environment configuration variables",
Expand Down Expand Up @@ -665,6 +672,7 @@ func deploy(d *schema.ResourceData, apiClient client.ApiClientInterface) diag.Di

deployPayload.SubEnvironments[subEnvironment.Alias] = client.SubEnvironment{
Revision: subEnvironment.Revision,
Workspace: subEnvironment.Workspace,
ConfigurationChanges: configurationChanges,
}
}
Expand Down
12 changes: 10 additions & 2 deletions env0/resource_environment_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -1755,8 +1755,9 @@ func TestUnitEnvironmentWithSubEnvironment(t *testing.T) {
}

subEnvironment := SubEnvironment{
Alias: "alias1",
Revision: "revision1",
Alias: "alias1",
Revision: "revision1",
Workspace: "workspace1",
Configuration: client.ConfigurationChanges{
{
Name: "name",
Expand Down Expand Up @@ -1830,6 +1831,7 @@ func TestUnitEnvironmentWithSubEnvironment(t *testing.T) {
SubEnvironments: map[string]client.SubEnvironment{
subEnvironment.Alias: {
Revision: subEnvironment.Revision,
Workspace: subEnvironment.Workspace,
ConfigurationChanges: updatedSubEnvironment.Configuration,
},
},
Expand All @@ -1848,6 +1850,7 @@ func TestUnitEnvironmentWithSubEnvironment(t *testing.T) {
sub_environment_configuration {
alias = "%s"
revision = "%s"
workspace = "%s"
configuration {
name = "%s"
value = "%s"
Expand All @@ -1860,6 +1863,7 @@ func TestUnitEnvironmentWithSubEnvironment(t *testing.T) {
environment.BlueprintId,
subEnvironment.Alias,
subEnvironment.Revision,
subEnvironment.Workspace,
subEnvironment.Configuration[0].Name,
subEnvironment.Configuration[0].Value,
),
Expand All @@ -1871,6 +1875,7 @@ func TestUnitEnvironmentWithSubEnvironment(t *testing.T) {
resource.TestCheckResourceAttr(accessor, "sub_environment_configuration.0.id", workflowSubEnvironment.EnvironmentId),
resource.TestCheckResourceAttr(accessor, "sub_environment_configuration.0.alias", subEnvironment.Alias),
resource.TestCheckResourceAttr(accessor, "sub_environment_configuration.0.revision", subEnvironment.Revision),
resource.TestCheckResourceAttr(accessor, "sub_environment_configuration.0.workspace", subEnvironment.Workspace),
resource.TestCheckResourceAttr(accessor, "sub_environment_configuration.0.configuration.0.name", subEnvironment.Configuration[0].Name),
resource.TestCheckResourceAttr(accessor, "sub_environment_configuration.0.configuration.0.value", subEnvironment.Configuration[0].Value),
),
Expand All @@ -1885,6 +1890,7 @@ func TestUnitEnvironmentWithSubEnvironment(t *testing.T) {
sub_environment_configuration {
alias = "%s"
revision = "%s"
workspace = "%s"
configuration {
name = "%s"
value = "%s"
Expand All @@ -1901,6 +1907,7 @@ func TestUnitEnvironmentWithSubEnvironment(t *testing.T) {
environment.BlueprintId,
subEnvironment.Alias,
subEnvironment.Revision,
subEnvironment.Workspace,
subEnvironment.Configuration[0].Name,
subEnvironment.Configuration[0].Value,
updatedSubEnvironment.Configuration[1].Name,
Expand All @@ -1914,6 +1921,7 @@ func TestUnitEnvironmentWithSubEnvironment(t *testing.T) {
resource.TestCheckResourceAttr(accessor, "sub_environment_configuration.0.id", workflowSubEnvironment.EnvironmentId),
resource.TestCheckResourceAttr(accessor, "sub_environment_configuration.0.alias", subEnvironment.Alias),
resource.TestCheckResourceAttr(accessor, "sub_environment_configuration.0.revision", subEnvironment.Revision),
resource.TestCheckResourceAttr(accessor, "sub_environment_configuration.0.workspace", subEnvironment.Workspace),
resource.TestCheckResourceAttr(accessor, "sub_environment_configuration.0.configuration.0.name", subEnvironment.Configuration[0].Name),
resource.TestCheckResourceAttr(accessor, "sub_environment_configuration.0.configuration.0.value", subEnvironment.Configuration[0].Value),
resource.TestCheckResourceAttr(accessor, "sub_environment_configuration.0.configuration.1.name", updatedSubEnvironment.Configuration[1].Name),
Expand Down

0 comments on commit 147ccd9

Please sign in to comment.