This repository has been archived by the owner on Nov 30, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 7
/
error.go
108 lines (85 loc) · 2.5 KB
/
error.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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
package subnet
import (
"strings"
"github.com/Azure/go-autorest/autorest"
"github.com/giantswarm/microerror"
)
var invalidConfigError = µerror.Error{
Kind: "invalidConfigError",
}
// IsInvalidConfigError asserts invalidConfigError.
func IsInvalidConfigError(err error) bool {
return microerror.Cause(err) == invalidConfigError
}
var notFoundError = µerror.Error{
Kind: "notFoundError",
}
// IsNotFound asserts notFoundError.
func IsNotFound(err error) bool {
if err == nil {
return false
}
c := microerror.Cause(err)
if c == notFoundError {
return true
}
{
dErr, ok := c.(autorest.DetailedError)
if ok {
if dErr.StatusCode == 404 {
return true
}
}
}
return strings.Contains(microerror.Cause(err).Error(), "ResourceNotFound") ||
strings.Contains(microerror.Cause(err).Error(), "ResourceGroupNotFound")
}
var missingOutputValueError = µerror.Error{
Kind: "missingOutputValueError",
}
// IsMissingOutputValue asserts missingOutputValueError.
func IsMissingOutputValue(err error) bool {
return microerror.Cause(err) == missingOutputValueError
}
var tooManyCredentialsError = µerror.Error{
Kind: "tooManyCredentialsError",
}
// IsTooManyCredentialsError asserts tooManyCredentialsError.
func IsTooManyCredentialsError(err error) bool {
return microerror.Cause(err) == tooManyCredentialsError
}
var missingOrganizationLabel = µerror.Error{
Kind: "missingOrganizationLabel",
}
// IsMissingOrganizationLabel asserts missingOrganizationLabel.
func IsMissingOrganizationLabel(err error) bool {
return microerror.Cause(err) == missingOrganizationLabel
}
var wrongTypeError = µerror.Error{
Kind: "wrongTypeError",
}
// IsWrongTypeError asserts wrongTypeError.
func IsWrongTypeError(err error) bool {
return microerror.Cause(err) == wrongTypeError
}
// IsSubnetInUse asserts subnet in use error from Azure API message.
func IsSubnetInUse(err error) bool {
if err == nil {
return false
}
return strings.Contains(microerror.Cause(err).Error(), "is in use by")
}
var natGatewayNotReadyError = µerror.Error{
Kind: "natGatewayNotReadyError",
}
// IsNatGatewayNotReadyError asserts natGatewayNotReadyError.
func IsNatGatewayNotReadyError(err error) bool {
return microerror.Cause(err) == natGatewayNotReadyError
}
// IsStorageAccountNotFound asserts storage account not found error from Azure API message.
func IsStorageAccountNotFound(err error) bool {
if err == nil {
return false
}
return strings.Contains(microerror.Cause(err).Error(), "StorageAccountNotFound")
}