1 package mysqlflexibleservers
2
3
4
5
6
7
8
9 import (
10 "context"
11 "github.com/Azure/go-autorest/autorest"
12 "github.com/Azure/go-autorest/autorest/azure"
13 "github.com/Azure/go-autorest/autorest/validation"
14 "github.com/Azure/go-autorest/tracing"
15 "net/http"
16 )
17
18
19
20
21 type BackupsClient struct {
22 BaseClient
23 }
24
25
26 func NewBackupsClient(subscriptionID string) BackupsClient {
27 return NewBackupsClientWithBaseURI(DefaultBaseURI, subscriptionID)
28 }
29
30
31
32 func NewBackupsClientWithBaseURI(baseURI string, subscriptionID string) BackupsClient {
33 return BackupsClient{NewWithBaseURI(baseURI, subscriptionID)}
34 }
35
36
37
38
39
40
41 func (client BackupsClient) Get(ctx context.Context, resourceGroupName string, serverName string, backupName string) (result ServerBackup, err error) {
42 if tracing.IsEnabled() {
43 ctx = tracing.StartSpan(ctx, fqdn+"/BackupsClient.Get")
44 defer func() {
45 sc := -1
46 if result.Response.Response != nil {
47 sc = result.Response.Response.StatusCode
48 }
49 tracing.EndSpan(ctx, sc, err)
50 }()
51 }
52 if err := validation.Validate([]validation.Validation{
53 {TargetValue: client.SubscriptionID,
54 Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.MinLength, Rule: 1, Chain: nil}}},
55 {TargetValue: resourceGroupName,
56 Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
57 {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil {
58 return result, validation.NewError("mysqlflexibleservers.BackupsClient", "Get", err.Error())
59 }
60
61 req, err := client.GetPreparer(ctx, resourceGroupName, serverName, backupName)
62 if err != nil {
63 err = autorest.NewErrorWithError(err, "mysqlflexibleservers.BackupsClient", "Get", nil, "Failure preparing request")
64 return
65 }
66
67 resp, err := client.GetSender(req)
68 if err != nil {
69 result.Response = autorest.Response{Response: resp}
70 err = autorest.NewErrorWithError(err, "mysqlflexibleservers.BackupsClient", "Get", resp, "Failure sending request")
71 return
72 }
73
74 result, err = client.GetResponder(resp)
75 if err != nil {
76 err = autorest.NewErrorWithError(err, "mysqlflexibleservers.BackupsClient", "Get", resp, "Failure responding to request")
77 return
78 }
79
80 return
81 }
82
83
84 func (client BackupsClient) GetPreparer(ctx context.Context, resourceGroupName string, serverName string, backupName string) (*http.Request, error) {
85 pathParameters := map[string]interface{}{
86 "backupName": autorest.Encode("path", backupName),
87 "resourceGroupName": autorest.Encode("path", resourceGroupName),
88 "serverName": autorest.Encode("path", serverName),
89 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
90 }
91
92 const APIVersion = "2021-05-01-preview"
93 queryParameters := map[string]interface{}{
94 "api-version": APIVersion,
95 }
96
97 preparer := autorest.CreatePreparer(
98 autorest.AsGet(),
99 autorest.WithBaseURL(client.BaseURI),
100 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/backups/{backupName}", pathParameters),
101 autorest.WithQueryParameters(queryParameters))
102 return preparer.Prepare((&http.Request{}).WithContext(ctx))
103 }
104
105
106
107 func (client BackupsClient) GetSender(req *http.Request) (*http.Response, error) {
108 return client.Send(req, azure.DoRetryWithRegistration(client.Client))
109 }
110
111
112
113 func (client BackupsClient) GetResponder(resp *http.Response) (result ServerBackup, err error) {
114 err = autorest.Respond(
115 resp,
116 azure.WithErrorUnlessStatusCode(http.StatusOK),
117 autorest.ByUnmarshallingJSON(&result),
118 autorest.ByClosing())
119 result.Response = autorest.Response{Response: resp}
120 return
121 }
122
123
124
125
126
127 func (client BackupsClient) ListByServer(ctx context.Context, resourceGroupName string, serverName string) (result ServerBackupListResultPage, err error) {
128 if tracing.IsEnabled() {
129 ctx = tracing.StartSpan(ctx, fqdn+"/BackupsClient.ListByServer")
130 defer func() {
131 sc := -1
132 if result.sblr.Response.Response != nil {
133 sc = result.sblr.Response.Response.StatusCode
134 }
135 tracing.EndSpan(ctx, sc, err)
136 }()
137 }
138 if err := validation.Validate([]validation.Validation{
139 {TargetValue: client.SubscriptionID,
140 Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.MinLength, Rule: 1, Chain: nil}}},
141 {TargetValue: resourceGroupName,
142 Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
143 {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil {
144 return result, validation.NewError("mysqlflexibleservers.BackupsClient", "ListByServer", err.Error())
145 }
146
147 result.fn = client.listByServerNextResults
148 req, err := client.ListByServerPreparer(ctx, resourceGroupName, serverName)
149 if err != nil {
150 err = autorest.NewErrorWithError(err, "mysqlflexibleservers.BackupsClient", "ListByServer", nil, "Failure preparing request")
151 return
152 }
153
154 resp, err := client.ListByServerSender(req)
155 if err != nil {
156 result.sblr.Response = autorest.Response{Response: resp}
157 err = autorest.NewErrorWithError(err, "mysqlflexibleservers.BackupsClient", "ListByServer", resp, "Failure sending request")
158 return
159 }
160
161 result.sblr, err = client.ListByServerResponder(resp)
162 if err != nil {
163 err = autorest.NewErrorWithError(err, "mysqlflexibleservers.BackupsClient", "ListByServer", resp, "Failure responding to request")
164 return
165 }
166 if result.sblr.hasNextLink() && result.sblr.IsEmpty() {
167 err = result.NextWithContext(ctx)
168 return
169 }
170
171 return
172 }
173
174
175 func (client BackupsClient) ListByServerPreparer(ctx context.Context, resourceGroupName string, serverName string) (*http.Request, error) {
176 pathParameters := map[string]interface{}{
177 "resourceGroupName": autorest.Encode("path", resourceGroupName),
178 "serverName": autorest.Encode("path", serverName),
179 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
180 }
181
182 const APIVersion = "2021-05-01-preview"
183 queryParameters := map[string]interface{}{
184 "api-version": APIVersion,
185 }
186
187 preparer := autorest.CreatePreparer(
188 autorest.AsGet(),
189 autorest.WithBaseURL(client.BaseURI),
190 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/backups", pathParameters),
191 autorest.WithQueryParameters(queryParameters))
192 return preparer.Prepare((&http.Request{}).WithContext(ctx))
193 }
194
195
196
197 func (client BackupsClient) ListByServerSender(req *http.Request) (*http.Response, error) {
198 return client.Send(req, azure.DoRetryWithRegistration(client.Client))
199 }
200
201
202
203 func (client BackupsClient) ListByServerResponder(resp *http.Response) (result ServerBackupListResult, err error) {
204 err = autorest.Respond(
205 resp,
206 azure.WithErrorUnlessStatusCode(http.StatusOK),
207 autorest.ByUnmarshallingJSON(&result),
208 autorest.ByClosing())
209 result.Response = autorest.Response{Response: resp}
210 return
211 }
212
213
214 func (client BackupsClient) listByServerNextResults(ctx context.Context, lastResults ServerBackupListResult) (result ServerBackupListResult, err error) {
215 req, err := lastResults.serverBackupListResultPreparer(ctx)
216 if err != nil {
217 return result, autorest.NewErrorWithError(err, "mysqlflexibleservers.BackupsClient", "listByServerNextResults", nil, "Failure preparing next results request")
218 }
219 if req == nil {
220 return
221 }
222 resp, err := client.ListByServerSender(req)
223 if err != nil {
224 result.Response = autorest.Response{Response: resp}
225 return result, autorest.NewErrorWithError(err, "mysqlflexibleservers.BackupsClient", "listByServerNextResults", resp, "Failure sending next results request")
226 }
227 result, err = client.ListByServerResponder(resp)
228 if err != nil {
229 err = autorest.NewErrorWithError(err, "mysqlflexibleservers.BackupsClient", "listByServerNextResults", resp, "Failure responding to next results request")
230 }
231 return
232 }
233
234
235 func (client BackupsClient) ListByServerComplete(ctx context.Context, resourceGroupName string, serverName string) (result ServerBackupListResultIterator, err error) {
236 if tracing.IsEnabled() {
237 ctx = tracing.StartSpan(ctx, fqdn+"/BackupsClient.ListByServer")
238 defer func() {
239 sc := -1
240 if result.Response().Response.Response != nil {
241 sc = result.page.Response().Response.Response.StatusCode
242 }
243 tracing.EndSpan(ctx, sc, err)
244 }()
245 }
246 result.page, err = client.ListByServer(ctx, resourceGroupName, serverName)
247 return
248 }
249
View as plain text