Skip to content

Commit

Permalink
rebase to new style and add support for case insensitive
Browse files Browse the repository at this point in the history
  • Loading branch information
njuCZ committed Apr 10, 2020
1 parent d262c83 commit 56f4749
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 20 deletions.
Expand Up @@ -9,6 +9,7 @@ import (
"github.com/hashicorp/terraform-plugin-sdk/helper/validation"
"github.com/terraform-providers/terraform-provider-azurerm/azurerm/helpers/azure"
"github.com/terraform-providers/terraform-provider-azurerm/azurerm/internal/clients"
"github.com/terraform-providers/terraform-provider-azurerm/azurerm/internal/location"
"github.com/terraform-providers/terraform-provider-azurerm/azurerm/internal/tags"
"github.com/terraform-providers/terraform-provider-azurerm/azurerm/internal/timeouts"
"github.com/terraform-providers/terraform-provider-azurerm/azurerm/utils"
Expand Down Expand Up @@ -58,7 +59,7 @@ func dataSourceArmMaintenanceConfigurationRead(d *schema.ResourceData, meta inte
d.SetId("")
return nil
}
return fmt.Errorf("Error retrieving MaintenanceConfiguration %q (Resource Group %q): %+v", name, resGroup, err)
return fmt.Errorf("failure retrieving MaintenanceConfiguration %q (Resource Group %q): %+v", name, resGroup, err)
}

if id := resp.ID; id != nil {
Expand All @@ -67,11 +68,7 @@ func dataSourceArmMaintenanceConfigurationRead(d *schema.ResourceData, meta inte

d.Set("name", name)
d.Set("resource_group_name", resGroup)

if location := resp.Location; location != nil {
d.Set("location", azure.NormalizeLocation(*location))
}

d.Set("location", location.NormalizeNilable(resp.Location))
if props := resp.ConfigurationProperties; props != nil {
d.Set("scope", props.MaintenanceScope)
}
Expand Down
Expand Up @@ -21,9 +21,16 @@ func MaintenanceConfigurationID(input string) (*MaintenanceConfigurationId, erro
ResourceGroup: id.ResourceGroup,
}

if maintenanceConfiguration.Name, err = id.PopSegment("maintenanceconfigurations"); err != nil {
return nil, err
if name, err := id.PopSegment("maintenanceconfigurations"); err != nil {
if name, err = id.PopSegment("maintenanceConfigurations"); err != nil {
return nil, fmt.Errorf("[ERROR] Unable to parse maintenanceconfigurations/maintenanceConfigurations element %q: %+v", input, err)
} else {
maintenanceConfiguration.Name = name
}
} else {
maintenanceConfiguration.Name = name
}

if err := id.ValidateNoEmptySegments(input); err != nil {
return nil, err
}
Expand Down
Expand Up @@ -11,7 +11,7 @@ import (
"github.com/terraform-providers/terraform-provider-azurerm/azurerm/helpers/azure"
"github.com/terraform-providers/terraform-provider-azurerm/azurerm/helpers/tf"
"github.com/terraform-providers/terraform-provider-azurerm/azurerm/internal/clients"
"github.com/terraform-providers/terraform-provider-azurerm/azurerm/internal/features"
"github.com/terraform-providers/terraform-provider-azurerm/azurerm/internal/location"
"github.com/terraform-providers/terraform-provider-azurerm/azurerm/internal/services/maintenance/parse"
"github.com/terraform-providers/terraform-provider-azurerm/azurerm/internal/tags"
azSchema "github.com/terraform-providers/terraform-provider-azurerm/azurerm/internal/tf/schema"
Expand Down Expand Up @@ -78,11 +78,11 @@ func resourceArmMaintenanceConfigurationCreateUpdate(d *schema.ResourceData, met
name := d.Get("name").(string)
resGroup := d.Get("resource_group_name").(string)

if features.ShouldResourcesBeImported() && d.IsNewResource() {
if d.IsNewResource() {
existing, err := client.Get(ctx, resGroup, name)
if err != nil {
if !utils.ResponseWasNotFound(existing.Response) {
return fmt.Errorf("Error checking for present of existing MaintenanceConfiguration %q (Resource Group %q): %+v", name, resGroup, err)
return fmt.Errorf("failure checking for present of existing MaintenanceConfiguration %q (Resource Group %q): %+v", name, resGroup, err)
}
}
if existing.ID != nil && *existing.ID != "" {
Expand All @@ -104,16 +104,16 @@ func resourceArmMaintenanceConfigurationCreateUpdate(d *schema.ResourceData, met
}

if _, err := client.CreateOrUpdate(ctx, resGroup, name, configuration); err != nil {
return fmt.Errorf("Error creating/updating MaintenanceConfiguration %q (Resource Group %q): %+v", name, resGroup, err)
return fmt.Errorf("failure creating/updating MaintenanceConfiguration %q (Resource Group %q): %+v", name, resGroup, err)
}

resp, err := client.Get(ctx, resGroup, name)
if err != nil {
return fmt.Errorf("Error retrieving MaintenanceConfiguration %q (Resource Group %q): %+v", name, resGroup, err)
return fmt.Errorf("failure retrieving MaintenanceConfiguration %q (Resource Group %q): %+v", name, resGroup, err)
}

if resp.ID == nil || *resp.ID == "" {
return fmt.Errorf("Cannot read MaintenanceConfiguration %q (Resource Group %q) ID", name, resGroup)
return fmt.Errorf("cannot read MaintenanceConfiguration %q (Resource Group %q) ID", name, resGroup)
}

d.SetId(*resp.ID)
Expand All @@ -137,15 +137,12 @@ func resourceArmMaintenanceConfigurationRead(d *schema.ResourceData, meta interf
d.SetId("")
return nil
}
return fmt.Errorf("Error retrieving MaintenanceConfiguration %q (Resource Group %q): %+v", id.Name, id.ResourceGroup, err)
return fmt.Errorf("failure retrieving MaintenanceConfiguration %q (Resource Group %q): %+v", id.Name, id.ResourceGroup, err)
}

d.Set("name", resp.Name)
d.Set("resource_group_name", id.ResourceGroup)
if location := resp.Location; location != nil {
d.Set("location", azure.NormalizeLocation(*location))
}

d.Set("location", location.NormalizeNilable(resp.Location))
if props := resp.ConfigurationProperties; props != nil {
d.Set("scope", props.MaintenanceScope)
}
Expand All @@ -163,7 +160,7 @@ func resourceArmMaintenanceConfigurationDelete(d *schema.ResourceData, meta inte
}

if _, err := client.Delete(ctx, id.ResourceGroup, id.Name); err != nil {
return fmt.Errorf("Error deleting MaintenanceConfiguration %q (Resource Group %q): %+v", id.Name, id.ResourceGroup, err)
return fmt.Errorf("failure deleting MaintenanceConfiguration %q (Resource Group %q): %+v", id.Name, id.ResourceGroup, err)
}
return nil
}
2 changes: 2 additions & 0 deletions website/docs/r/maintenance_configuration.html.markdown
Expand Up @@ -48,6 +48,8 @@ The following arguments are supported:

* `tags` - (Optional) A mapping of tags to assign to the resource.

~> **NOTE** Because of restriction by the Maintenance backend service, the key in `tags` will be converted to small case. To avoid diff, please use lower case letters for the key.

## Attributes Reference

The following attributes are exported:
Expand Down

0 comments on commit 56f4749

Please sign in to comment.