Skip to content

Commit

Permalink
Merge pull request #6774 from r0bnet/analysis-services-server-ipv4-ru…
Browse files Browse the repository at this point in the history
…le-name-case-fix
  • Loading branch information
jackofallops committed May 6, 2020
2 parents 46a1cf3 + 09857dc commit 56f2f17
Showing 1 changed file with 20 additions and 5 deletions.
@@ -1,12 +1,15 @@
package analysisservices

import (
"bytes"
"fmt"
"log"
"regexp"
"strings"
"time"

"github.com/Azure/azure-sdk-for-go/services/analysisservices/mgmt/2017-08-01/analysisservices"
"github.com/hashicorp/terraform-plugin-sdk/helper/hashcode"
"github.com/hashicorp/terraform-plugin-sdk/helper/schema"
"github.com/hashicorp/terraform-plugin-sdk/helper/validation"
"github.com/terraform-providers/terraform-provider-azurerm/azurerm/helpers/azure"
Expand Down Expand Up @@ -99,6 +102,7 @@ func resourceArmAnalysisServicesServer() *schema.Resource {
},
},
},
Set: hashAnalysisServicesServerIpv4FirewallRule,
},

"querypool_connection_mode": {
Expand Down Expand Up @@ -383,19 +387,19 @@ func expandAnalysisServicesServerFirewallSettings(d *schema.ResourceData) *analy
return &firewallSettings
}

func flattenAnalysisServicesServerFirewallSettings(serverProperties *analysisservices.ServerProperties) (enablePowerBi *bool, fwRules []interface{}) {
func flattenAnalysisServicesServerFirewallSettings(serverProperties *analysisservices.ServerProperties) (*bool, *schema.Set) {
if serverProperties == nil || serverProperties.IPV4FirewallSettings == nil {
return utils.Bool(false), make([]interface{}, 0)
return utils.Bool(false), schema.NewSet(hashAnalysisServicesServerIpv4FirewallRule, make([]interface{}, 0))
}

firewallSettings := serverProperties.IPV4FirewallSettings

enablePowerBi = utils.Bool(false)
enablePowerBi := utils.Bool(false)
if firewallSettings.EnablePowerBIService != nil {
enablePowerBi = firewallSettings.EnablePowerBIService
}

fwRules = make([]interface{}, 0)
fwRules := make([]interface{}, 0)
if firewallSettings.FirewallRules != nil {
for _, fwRule := range *firewallSettings.FirewallRules {
output := make(map[string]interface{})
Expand All @@ -415,5 +419,16 @@ func flattenAnalysisServicesServerFirewallSettings(serverProperties *analysisser
}
}

return enablePowerBi, fwRules
return enablePowerBi, schema.NewSet(hashAnalysisServicesServerIpv4FirewallRule, fwRules)
}

func hashAnalysisServicesServerIpv4FirewallRule(v interface{}) int {
var buf bytes.Buffer
m := v.(map[string]interface{})

buf.WriteString(fmt.Sprintf("%s-", strings.ToLower(m["name"].(string))))
buf.WriteString(fmt.Sprintf("%s-", m["range_start"].(string)))
buf.WriteString(m["range_end"].(string))

return hashcode.String(buf.String())
}

0 comments on commit 56f2f17

Please sign in to comment.