/
helper.go
65 lines (54 loc) · 1.87 KB
/
helper.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
package frontdoor
import (
"fmt"
"github.com/Azure/azure-sdk-for-go/services/frontdoor/mgmt/2020-01-01/frontdoor"
)
func IsFrontDoorFrontendEndpointConfigurable(currentState frontdoor.CustomHTTPSProvisioningState, customHttpsProvisioningEnabled bool, frontendEndpointName string, resourceGroup string) error {
action := "disable"
if customHttpsProvisioningEnabled {
action = "enable"
}
switch currentState {
case frontdoor.CustomHTTPSProvisioningStateDisabling, frontdoor.CustomHTTPSProvisioningStateEnabling, frontdoor.CustomHTTPSProvisioningStateFailed:
return fmt.Errorf("Unable to %s the Front Door Frontend Endpoint %q (Resource Group %q) Custom Domain HTTPS state because the Frontend Endpoint is currently in the %q state", action, frontendEndpointName, resourceGroup, currentState)
default:
return nil
}
}
func NormalizeCustomHTTPSProvisioningStateToBool(provisioningState frontdoor.CustomHTTPSProvisioningState) bool {
isEnabled := false
if provisioningState == frontdoor.CustomHTTPSProvisioningStateEnabled || provisioningState == frontdoor.CustomHTTPSProvisioningStateEnabling {
isEnabled = true
}
return isEnabled
}
func GetFrontDoorBasicRouteConfigurationType(i interface{}) string {
_, ok := i.(frontdoor.ForwardingConfiguration)
if !ok {
_, ok := i.(frontdoor.RedirectConfiguration)
if !ok {
return ""
}
return "RedirectConfiguration"
} else {
return "ForwardingConfiguration"
}
}
func FlattenTransformSlice(input *[]frontdoor.TransformType) []interface{} {
result := make([]interface{}, 0)
if input != nil {
for _, item := range *input {
result = append(result, string(item))
}
}
return result
}
func FlattenFrontendEndpointLinkSlice(input *[]frontdoor.FrontendEndpointLink) []interface{} {
result := make([]interface{}, 0)
if input != nil {
for _, item := range *input {
result = append(result, *item.ID)
}
}
return result
}