-
Notifications
You must be signed in to change notification settings - Fork 40
/
model_restorerequest.go
149 lines (127 loc) · 4.88 KB
/
model_restorerequest.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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
package restores
import (
"encoding/json"
"fmt"
"strings"
)
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See NOTICE.txt in the project root for license information.
type RestoreRequest interface {
}
// RawRestoreRequestImpl is returned when the Discriminated Value
// doesn't match any of the defined types
// NOTE: this should only be used when a type isn't defined for this type of Object (as a workaround)
// and is used only for Deserialization (e.g. this cannot be used as a Request Payload).
type RawRestoreRequestImpl struct {
Type string
Values map[string]interface{}
}
func unmarshalRestoreRequestImplementation(input []byte) (RestoreRequest, error) {
if input == nil {
return nil, nil
}
var temp map[string]interface{}
if err := json.Unmarshal(input, &temp); err != nil {
return nil, fmt.Errorf("unmarshaling RestoreRequest into map[string]interface: %+v", err)
}
value, ok := temp["objectType"].(string)
if !ok {
return nil, nil
}
if strings.EqualFold(value, "AzureFileShareRestoreRequest") {
var out AzureFileShareRestoreRequest
if err := json.Unmarshal(input, &out); err != nil {
return nil, fmt.Errorf("unmarshaling into AzureFileShareRestoreRequest: %+v", err)
}
return out, nil
}
if strings.EqualFold(value, "AzureWorkloadPointInTimeRestoreRequest") {
var out AzureWorkloadPointInTimeRestoreRequest
if err := json.Unmarshal(input, &out); err != nil {
return nil, fmt.Errorf("unmarshaling into AzureWorkloadPointInTimeRestoreRequest: %+v", err)
}
return out, nil
}
if strings.EqualFold(value, "AzureWorkloadRestoreRequest") {
var out AzureWorkloadRestoreRequest
if err := json.Unmarshal(input, &out); err != nil {
return nil, fmt.Errorf("unmarshaling into AzureWorkloadRestoreRequest: %+v", err)
}
return out, nil
}
if strings.EqualFold(value, "AzureWorkloadSAPHanaPointInTimeRestoreRequest") {
var out AzureWorkloadSAPHanaPointInTimeRestoreRequest
if err := json.Unmarshal(input, &out); err != nil {
return nil, fmt.Errorf("unmarshaling into AzureWorkloadSAPHanaPointInTimeRestoreRequest: %+v", err)
}
return out, nil
}
if strings.EqualFold(value, "AzureWorkloadSAPHanaPointInTimeRestoreWithRehydrateRequest") {
var out AzureWorkloadSAPHanaPointInTimeRestoreWithRehydrateRequest
if err := json.Unmarshal(input, &out); err != nil {
return nil, fmt.Errorf("unmarshaling into AzureWorkloadSAPHanaPointInTimeRestoreWithRehydrateRequest: %+v", err)
}
return out, nil
}
if strings.EqualFold(value, "AzureWorkloadSAPHanaRestoreRequest") {
var out AzureWorkloadSAPHanaRestoreRequest
if err := json.Unmarshal(input, &out); err != nil {
return nil, fmt.Errorf("unmarshaling into AzureWorkloadSAPHanaRestoreRequest: %+v", err)
}
return out, nil
}
if strings.EqualFold(value, "AzureWorkloadSAPHanaRestoreWithRehydrateRequest") {
var out AzureWorkloadSAPHanaRestoreWithRehydrateRequest
if err := json.Unmarshal(input, &out); err != nil {
return nil, fmt.Errorf("unmarshaling into AzureWorkloadSAPHanaRestoreWithRehydrateRequest: %+v", err)
}
return out, nil
}
if strings.EqualFold(value, "AzureWorkloadSQLPointInTimeRestoreRequest") {
var out AzureWorkloadSQLPointInTimeRestoreRequest
if err := json.Unmarshal(input, &out); err != nil {
return nil, fmt.Errorf("unmarshaling into AzureWorkloadSQLPointInTimeRestoreRequest: %+v", err)
}
return out, nil
}
if strings.EqualFold(value, "AzureWorkloadSQLPointInTimeRestoreWithRehydrateRequest") {
var out AzureWorkloadSQLPointInTimeRestoreWithRehydrateRequest
if err := json.Unmarshal(input, &out); err != nil {
return nil, fmt.Errorf("unmarshaling into AzureWorkloadSQLPointInTimeRestoreWithRehydrateRequest: %+v", err)
}
return out, nil
}
if strings.EqualFold(value, "AzureWorkloadSQLRestoreRequest") {
var out AzureWorkloadSQLRestoreRequest
if err := json.Unmarshal(input, &out); err != nil {
return nil, fmt.Errorf("unmarshaling into AzureWorkloadSQLRestoreRequest: %+v", err)
}
return out, nil
}
if strings.EqualFold(value, "AzureWorkloadSQLRestoreWithRehydrateRequest") {
var out AzureWorkloadSQLRestoreWithRehydrateRequest
if err := json.Unmarshal(input, &out); err != nil {
return nil, fmt.Errorf("unmarshaling into AzureWorkloadSQLRestoreWithRehydrateRequest: %+v", err)
}
return out, nil
}
if strings.EqualFold(value, "IaasVMRestoreRequest") {
var out IaasVMRestoreRequest
if err := json.Unmarshal(input, &out); err != nil {
return nil, fmt.Errorf("unmarshaling into IaasVMRestoreRequest: %+v", err)
}
return out, nil
}
if strings.EqualFold(value, "IaasVMRestoreWithRehydrationRequest") {
var out IaasVMRestoreWithRehydrationRequest
if err := json.Unmarshal(input, &out); err != nil {
return nil, fmt.Errorf("unmarshaling into IaasVMRestoreWithRehydrationRequest: %+v", err)
}
return out, nil
}
out := RawRestoreRequestImpl{
Type: value,
Values: temp,
}
return out, nil
}