1 package documentdb
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 type DatabaseAccountsClient struct {
20 BaseClient
21 }
22
23
24 func NewDatabaseAccountsClient(subscriptionID string) DatabaseAccountsClient {
25 return NewDatabaseAccountsClientWithBaseURI(DefaultBaseURI, subscriptionID)
26 }
27
28
29
30
31 func NewDatabaseAccountsClientWithBaseURI(baseURI string, subscriptionID string) DatabaseAccountsClient {
32 return DatabaseAccountsClient{NewWithBaseURI(baseURI, subscriptionID)}
33 }
34
35
36
37
38
39 func (client DatabaseAccountsClient) CheckNameExists(ctx context.Context, accountName string) (result autorest.Response, err error) {
40 if tracing.IsEnabled() {
41 ctx = tracing.StartSpan(ctx, fqdn+"/DatabaseAccountsClient.CheckNameExists")
42 defer func() {
43 sc := -1
44 if result.Response != nil {
45 sc = result.Response.StatusCode
46 }
47 tracing.EndSpan(ctx, sc, err)
48 }()
49 }
50 if err := validation.Validate([]validation.Validation{
51 {TargetValue: accountName,
52 Constraints: []validation.Constraint{{Target: "accountName", Name: validation.MaxLength, Rule: 50, Chain: nil},
53 {Target: "accountName", Name: validation.MinLength, Rule: 3, Chain: nil},
54 {Target: "accountName", Name: validation.Pattern, Rule: `^[a-z0-9]+(-[a-z0-9]+)*`, Chain: nil}}}}); err != nil {
55 return result, validation.NewError("documentdb.DatabaseAccountsClient", "CheckNameExists", err.Error())
56 }
57
58 req, err := client.CheckNameExistsPreparer(ctx, accountName)
59 if err != nil {
60 err = autorest.NewErrorWithError(err, "documentdb.DatabaseAccountsClient", "CheckNameExists", nil, "Failure preparing request")
61 return
62 }
63
64 resp, err := client.CheckNameExistsSender(req)
65 if err != nil {
66 result.Response = resp
67 err = autorest.NewErrorWithError(err, "documentdb.DatabaseAccountsClient", "CheckNameExists", resp, "Failure sending request")
68 return
69 }
70
71 result, err = client.CheckNameExistsResponder(resp)
72 if err != nil {
73 err = autorest.NewErrorWithError(err, "documentdb.DatabaseAccountsClient", "CheckNameExists", resp, "Failure responding to request")
74 return
75 }
76
77 return
78 }
79
80
81 func (client DatabaseAccountsClient) CheckNameExistsPreparer(ctx context.Context, accountName string) (*http.Request, error) {
82 pathParameters := map[string]interface{}{
83 "accountName": autorest.Encode("path", accountName),
84 }
85
86 const APIVersion = "2021-04-01-preview"
87 queryParameters := map[string]interface{}{
88 "api-version": APIVersion,
89 }
90
91 preparer := autorest.CreatePreparer(
92 autorest.AsHead(),
93 autorest.WithBaseURL(client.BaseURI),
94 autorest.WithPathParameters("/providers/Microsoft.DocumentDB/databaseAccountNames/{accountName}", pathParameters),
95 autorest.WithQueryParameters(queryParameters))
96 return preparer.Prepare((&http.Request{}).WithContext(ctx))
97 }
98
99
100
101 func (client DatabaseAccountsClient) CheckNameExistsSender(req *http.Request) (*http.Response, error) {
102 return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
103 }
104
105
106
107 func (client DatabaseAccountsClient) CheckNameExistsResponder(resp *http.Response) (result autorest.Response, err error) {
108 err = autorest.Respond(
109 resp,
110 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound),
111 autorest.ByClosing())
112 result.Response = resp
113 return
114 }
115
116
117
118
119
120
121
122 func (client DatabaseAccountsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, accountName string, createUpdateParameters DatabaseAccountCreateUpdateParameters) (result DatabaseAccountsCreateOrUpdateFuture, err error) {
123 if tracing.IsEnabled() {
124 ctx = tracing.StartSpan(ctx, fqdn+"/DatabaseAccountsClient.CreateOrUpdate")
125 defer func() {
126 sc := -1
127 if result.FutureAPI != nil && result.FutureAPI.Response() != nil {
128 sc = result.FutureAPI.Response().StatusCode
129 }
130 tracing.EndSpan(ctx, sc, err)
131 }()
132 }
133 if err := validation.Validate([]validation.Validation{
134 {TargetValue: client.SubscriptionID,
135 Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.MinLength, Rule: 1, Chain: nil}}},
136 {TargetValue: resourceGroupName,
137 Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
138 {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
139 {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}},
140 {TargetValue: accountName,
141 Constraints: []validation.Constraint{{Target: "accountName", Name: validation.MaxLength, Rule: 50, Chain: nil},
142 {Target: "accountName", Name: validation.MinLength, Rule: 3, Chain: nil},
143 {Target: "accountName", Name: validation.Pattern, Rule: `^[a-z0-9]+(-[a-z0-9]+)*`, Chain: nil}}}}); err != nil {
144 return result, validation.NewError("documentdb.DatabaseAccountsClient", "CreateOrUpdate", err.Error())
145 }
146
147 req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, accountName, createUpdateParameters)
148 if err != nil {
149 err = autorest.NewErrorWithError(err, "documentdb.DatabaseAccountsClient", "CreateOrUpdate", nil, "Failure preparing request")
150 return
151 }
152
153 result, err = client.CreateOrUpdateSender(req)
154 if err != nil {
155 err = autorest.NewErrorWithError(err, "documentdb.DatabaseAccountsClient", "CreateOrUpdate", result.Response(), "Failure sending request")
156 return
157 }
158
159 return
160 }
161
162
163 func (client DatabaseAccountsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, accountName string, createUpdateParameters DatabaseAccountCreateUpdateParameters) (*http.Request, error) {
164 pathParameters := map[string]interface{}{
165 "accountName": autorest.Encode("path", accountName),
166 "resourceGroupName": autorest.Encode("path", resourceGroupName),
167 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
168 }
169
170 const APIVersion = "2021-04-01-preview"
171 queryParameters := map[string]interface{}{
172 "api-version": APIVersion,
173 }
174
175 preparer := autorest.CreatePreparer(
176 autorest.AsContentType("application/json; charset=utf-8"),
177 autorest.AsPut(),
178 autorest.WithBaseURL(client.BaseURI),
179 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}", pathParameters),
180 autorest.WithJSON(createUpdateParameters),
181 autorest.WithQueryParameters(queryParameters))
182 return preparer.Prepare((&http.Request{}).WithContext(ctx))
183 }
184
185
186
187 func (client DatabaseAccountsClient) CreateOrUpdateSender(req *http.Request) (future DatabaseAccountsCreateOrUpdateFuture, err error) {
188 var resp *http.Response
189 future.FutureAPI = &azure.Future{}
190 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client))
191 if err != nil {
192 return
193 }
194 var azf azure.Future
195 azf, err = azure.NewFutureFromResponse(resp)
196 future.FutureAPI = &azf
197 future.Result = future.result
198 return
199 }
200
201
202
203 func (client DatabaseAccountsClient) CreateOrUpdateResponder(resp *http.Response) (result DatabaseAccountGetResults, 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
215
216
217 func (client DatabaseAccountsClient) Delete(ctx context.Context, resourceGroupName string, accountName string) (result DatabaseAccountsDeleteFuture, err error) {
218 if tracing.IsEnabled() {
219 ctx = tracing.StartSpan(ctx, fqdn+"/DatabaseAccountsClient.Delete")
220 defer func() {
221 sc := -1
222 if result.FutureAPI != nil && result.FutureAPI.Response() != nil {
223 sc = result.FutureAPI.Response().StatusCode
224 }
225 tracing.EndSpan(ctx, sc, err)
226 }()
227 }
228 if err := validation.Validate([]validation.Validation{
229 {TargetValue: client.SubscriptionID,
230 Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.MinLength, Rule: 1, Chain: nil}}},
231 {TargetValue: resourceGroupName,
232 Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
233 {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
234 {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}},
235 {TargetValue: accountName,
236 Constraints: []validation.Constraint{{Target: "accountName", Name: validation.MaxLength, Rule: 50, Chain: nil},
237 {Target: "accountName", Name: validation.MinLength, Rule: 3, Chain: nil},
238 {Target: "accountName", Name: validation.Pattern, Rule: `^[a-z0-9]+(-[a-z0-9]+)*`, Chain: nil}}}}); err != nil {
239 return result, validation.NewError("documentdb.DatabaseAccountsClient", "Delete", err.Error())
240 }
241
242 req, err := client.DeletePreparer(ctx, resourceGroupName, accountName)
243 if err != nil {
244 err = autorest.NewErrorWithError(err, "documentdb.DatabaseAccountsClient", "Delete", nil, "Failure preparing request")
245 return
246 }
247
248 result, err = client.DeleteSender(req)
249 if err != nil {
250 err = autorest.NewErrorWithError(err, "documentdb.DatabaseAccountsClient", "Delete", result.Response(), "Failure sending request")
251 return
252 }
253
254 return
255 }
256
257
258 func (client DatabaseAccountsClient) DeletePreparer(ctx context.Context, resourceGroupName string, accountName string) (*http.Request, error) {
259 pathParameters := map[string]interface{}{
260 "accountName": autorest.Encode("path", accountName),
261 "resourceGroupName": autorest.Encode("path", resourceGroupName),
262 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
263 }
264
265 const APIVersion = "2021-04-01-preview"
266 queryParameters := map[string]interface{}{
267 "api-version": APIVersion,
268 }
269
270 preparer := autorest.CreatePreparer(
271 autorest.AsDelete(),
272 autorest.WithBaseURL(client.BaseURI),
273 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}", pathParameters),
274 autorest.WithQueryParameters(queryParameters))
275 return preparer.Prepare((&http.Request{}).WithContext(ctx))
276 }
277
278
279
280 func (client DatabaseAccountsClient) DeleteSender(req *http.Request) (future DatabaseAccountsDeleteFuture, err error) {
281 var resp *http.Response
282 future.FutureAPI = &azure.Future{}
283 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client))
284 if err != nil {
285 return
286 }
287 var azf azure.Future
288 azf, err = azure.NewFutureFromResponse(resp)
289 future.FutureAPI = &azf
290 future.Result = future.result
291 return
292 }
293
294
295
296 func (client DatabaseAccountsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) {
297 err = autorest.Respond(
298 resp,
299 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent),
300 autorest.ByClosing())
301 result.Response = resp
302 return
303 }
304
305
306
307
308
309
310
311
312 func (client DatabaseAccountsClient) FailoverPriorityChange(ctx context.Context, resourceGroupName string, accountName string, failoverParameters FailoverPolicies) (result DatabaseAccountsFailoverPriorityChangeFuture, err error) {
313 if tracing.IsEnabled() {
314 ctx = tracing.StartSpan(ctx, fqdn+"/DatabaseAccountsClient.FailoverPriorityChange")
315 defer func() {
316 sc := -1
317 if result.FutureAPI != nil && result.FutureAPI.Response() != nil {
318 sc = result.FutureAPI.Response().StatusCode
319 }
320 tracing.EndSpan(ctx, sc, err)
321 }()
322 }
323 if err := validation.Validate([]validation.Validation{
324 {TargetValue: client.SubscriptionID,
325 Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.MinLength, Rule: 1, Chain: nil}}},
326 {TargetValue: resourceGroupName,
327 Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
328 {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
329 {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}},
330 {TargetValue: accountName,
331 Constraints: []validation.Constraint{{Target: "accountName", Name: validation.MaxLength, Rule: 50, Chain: nil},
332 {Target: "accountName", Name: validation.MinLength, Rule: 3, Chain: nil},
333 {Target: "accountName", Name: validation.Pattern, Rule: `^[a-z0-9]+(-[a-z0-9]+)*`, Chain: nil}}},
334 {TargetValue: failoverParameters,
335 Constraints: []validation.Constraint{{Target: "failoverParameters.FailoverPolicies", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil {
336 return result, validation.NewError("documentdb.DatabaseAccountsClient", "FailoverPriorityChange", err.Error())
337 }
338
339 req, err := client.FailoverPriorityChangePreparer(ctx, resourceGroupName, accountName, failoverParameters)
340 if err != nil {
341 err = autorest.NewErrorWithError(err, "documentdb.DatabaseAccountsClient", "FailoverPriorityChange", nil, "Failure preparing request")
342 return
343 }
344
345 result, err = client.FailoverPriorityChangeSender(req)
346 if err != nil {
347 err = autorest.NewErrorWithError(err, "documentdb.DatabaseAccountsClient", "FailoverPriorityChange", result.Response(), "Failure sending request")
348 return
349 }
350
351 return
352 }
353
354
355 func (client DatabaseAccountsClient) FailoverPriorityChangePreparer(ctx context.Context, resourceGroupName string, accountName string, failoverParameters FailoverPolicies) (*http.Request, error) {
356 pathParameters := map[string]interface{}{
357 "accountName": autorest.Encode("path", accountName),
358 "resourceGroupName": autorest.Encode("path", resourceGroupName),
359 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
360 }
361
362 const APIVersion = "2021-04-01-preview"
363 queryParameters := map[string]interface{}{
364 "api-version": APIVersion,
365 }
366
367 preparer := autorest.CreatePreparer(
368 autorest.AsContentType("application/json; charset=utf-8"),
369 autorest.AsPost(),
370 autorest.WithBaseURL(client.BaseURI),
371 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/failoverPriorityChange", pathParameters),
372 autorest.WithJSON(failoverParameters),
373 autorest.WithQueryParameters(queryParameters))
374 return preparer.Prepare((&http.Request{}).WithContext(ctx))
375 }
376
377
378
379 func (client DatabaseAccountsClient) FailoverPriorityChangeSender(req *http.Request) (future DatabaseAccountsFailoverPriorityChangeFuture, err error) {
380 var resp *http.Response
381 future.FutureAPI = &azure.Future{}
382 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client))
383 if err != nil {
384 return
385 }
386 var azf azure.Future
387 azf, err = azure.NewFutureFromResponse(resp)
388 future.FutureAPI = &azf
389 future.Result = future.result
390 return
391 }
392
393
394
395 func (client DatabaseAccountsClient) FailoverPriorityChangeResponder(resp *http.Response) (result autorest.Response, err error) {
396 err = autorest.Respond(
397 resp,
398 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent),
399 autorest.ByClosing())
400 result.Response = resp
401 return
402 }
403
404
405
406
407
408 func (client DatabaseAccountsClient) Get(ctx context.Context, resourceGroupName string, accountName string) (result DatabaseAccountGetResults, err error) {
409 if tracing.IsEnabled() {
410 ctx = tracing.StartSpan(ctx, fqdn+"/DatabaseAccountsClient.Get")
411 defer func() {
412 sc := -1
413 if result.Response.Response != nil {
414 sc = result.Response.Response.StatusCode
415 }
416 tracing.EndSpan(ctx, sc, err)
417 }()
418 }
419 if err := validation.Validate([]validation.Validation{
420 {TargetValue: client.SubscriptionID,
421 Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.MinLength, Rule: 1, Chain: nil}}},
422 {TargetValue: resourceGroupName,
423 Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
424 {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
425 {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}},
426 {TargetValue: accountName,
427 Constraints: []validation.Constraint{{Target: "accountName", Name: validation.MaxLength, Rule: 50, Chain: nil},
428 {Target: "accountName", Name: validation.MinLength, Rule: 3, Chain: nil},
429 {Target: "accountName", Name: validation.Pattern, Rule: `^[a-z0-9]+(-[a-z0-9]+)*`, Chain: nil}}}}); err != nil {
430 return result, validation.NewError("documentdb.DatabaseAccountsClient", "Get", err.Error())
431 }
432
433 req, err := client.GetPreparer(ctx, resourceGroupName, accountName)
434 if err != nil {
435 err = autorest.NewErrorWithError(err, "documentdb.DatabaseAccountsClient", "Get", nil, "Failure preparing request")
436 return
437 }
438
439 resp, err := client.GetSender(req)
440 if err != nil {
441 result.Response = autorest.Response{Response: resp}
442 err = autorest.NewErrorWithError(err, "documentdb.DatabaseAccountsClient", "Get", resp, "Failure sending request")
443 return
444 }
445
446 result, err = client.GetResponder(resp)
447 if err != nil {
448 err = autorest.NewErrorWithError(err, "documentdb.DatabaseAccountsClient", "Get", resp, "Failure responding to request")
449 return
450 }
451
452 return
453 }
454
455
456 func (client DatabaseAccountsClient) GetPreparer(ctx context.Context, resourceGroupName string, accountName string) (*http.Request, error) {
457 pathParameters := map[string]interface{}{
458 "accountName": autorest.Encode("path", accountName),
459 "resourceGroupName": autorest.Encode("path", resourceGroupName),
460 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
461 }
462
463 const APIVersion = "2021-04-01-preview"
464 queryParameters := map[string]interface{}{
465 "api-version": APIVersion,
466 }
467
468 preparer := autorest.CreatePreparer(
469 autorest.AsGet(),
470 autorest.WithBaseURL(client.BaseURI),
471 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}", pathParameters),
472 autorest.WithQueryParameters(queryParameters))
473 return preparer.Prepare((&http.Request{}).WithContext(ctx))
474 }
475
476
477
478 func (client DatabaseAccountsClient) GetSender(req *http.Request) (*http.Response, error) {
479 return client.Send(req, azure.DoRetryWithRegistration(client.Client))
480 }
481
482
483
484 func (client DatabaseAccountsClient) GetResponder(resp *http.Response) (result DatabaseAccountGetResults, err error) {
485 err = autorest.Respond(
486 resp,
487 azure.WithErrorUnlessStatusCode(http.StatusOK),
488 autorest.ByUnmarshallingJSON(&result),
489 autorest.ByClosing())
490 result.Response = autorest.Response{Response: resp}
491 return
492 }
493
494
495
496
497
498 func (client DatabaseAccountsClient) GetReadOnlyKeys(ctx context.Context, resourceGroupName string, accountName string) (result DatabaseAccountListReadOnlyKeysResult, err error) {
499 if tracing.IsEnabled() {
500 ctx = tracing.StartSpan(ctx, fqdn+"/DatabaseAccountsClient.GetReadOnlyKeys")
501 defer func() {
502 sc := -1
503 if result.Response.Response != nil {
504 sc = result.Response.Response.StatusCode
505 }
506 tracing.EndSpan(ctx, sc, err)
507 }()
508 }
509 if err := validation.Validate([]validation.Validation{
510 {TargetValue: client.SubscriptionID,
511 Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.MinLength, Rule: 1, Chain: nil}}},
512 {TargetValue: resourceGroupName,
513 Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
514 {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
515 {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}},
516 {TargetValue: accountName,
517 Constraints: []validation.Constraint{{Target: "accountName", Name: validation.MaxLength, Rule: 50, Chain: nil},
518 {Target: "accountName", Name: validation.MinLength, Rule: 3, Chain: nil},
519 {Target: "accountName", Name: validation.Pattern, Rule: `^[a-z0-9]+(-[a-z0-9]+)*`, Chain: nil}}}}); err != nil {
520 return result, validation.NewError("documentdb.DatabaseAccountsClient", "GetReadOnlyKeys", err.Error())
521 }
522
523 req, err := client.GetReadOnlyKeysPreparer(ctx, resourceGroupName, accountName)
524 if err != nil {
525 err = autorest.NewErrorWithError(err, "documentdb.DatabaseAccountsClient", "GetReadOnlyKeys", nil, "Failure preparing request")
526 return
527 }
528
529 resp, err := client.GetReadOnlyKeysSender(req)
530 if err != nil {
531 result.Response = autorest.Response{Response: resp}
532 err = autorest.NewErrorWithError(err, "documentdb.DatabaseAccountsClient", "GetReadOnlyKeys", resp, "Failure sending request")
533 return
534 }
535
536 result, err = client.GetReadOnlyKeysResponder(resp)
537 if err != nil {
538 err = autorest.NewErrorWithError(err, "documentdb.DatabaseAccountsClient", "GetReadOnlyKeys", resp, "Failure responding to request")
539 return
540 }
541
542 return
543 }
544
545
546 func (client DatabaseAccountsClient) GetReadOnlyKeysPreparer(ctx context.Context, resourceGroupName string, accountName string) (*http.Request, error) {
547 pathParameters := map[string]interface{}{
548 "accountName": autorest.Encode("path", accountName),
549 "resourceGroupName": autorest.Encode("path", resourceGroupName),
550 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
551 }
552
553 const APIVersion = "2021-04-01-preview"
554 queryParameters := map[string]interface{}{
555 "api-version": APIVersion,
556 }
557
558 preparer := autorest.CreatePreparer(
559 autorest.AsGet(),
560 autorest.WithBaseURL(client.BaseURI),
561 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/readonlykeys", pathParameters),
562 autorest.WithQueryParameters(queryParameters))
563 return preparer.Prepare((&http.Request{}).WithContext(ctx))
564 }
565
566
567
568 func (client DatabaseAccountsClient) GetReadOnlyKeysSender(req *http.Request) (*http.Response, error) {
569 return client.Send(req, azure.DoRetryWithRegistration(client.Client))
570 }
571
572
573
574 func (client DatabaseAccountsClient) GetReadOnlyKeysResponder(resp *http.Response) (result DatabaseAccountListReadOnlyKeysResult, err error) {
575 err = autorest.Respond(
576 resp,
577 azure.WithErrorUnlessStatusCode(http.StatusOK),
578 autorest.ByUnmarshallingJSON(&result),
579 autorest.ByClosing())
580 result.Response = autorest.Response{Response: resp}
581 return
582 }
583
584
585 func (client DatabaseAccountsClient) List(ctx context.Context) (result DatabaseAccountsListResult, err error) {
586 if tracing.IsEnabled() {
587 ctx = tracing.StartSpan(ctx, fqdn+"/DatabaseAccountsClient.List")
588 defer func() {
589 sc := -1
590 if result.Response.Response != nil {
591 sc = result.Response.Response.StatusCode
592 }
593 tracing.EndSpan(ctx, sc, err)
594 }()
595 }
596 if err := validation.Validate([]validation.Validation{
597 {TargetValue: client.SubscriptionID,
598 Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil {
599 return result, validation.NewError("documentdb.DatabaseAccountsClient", "List", err.Error())
600 }
601
602 req, err := client.ListPreparer(ctx)
603 if err != nil {
604 err = autorest.NewErrorWithError(err, "documentdb.DatabaseAccountsClient", "List", nil, "Failure preparing request")
605 return
606 }
607
608 resp, err := client.ListSender(req)
609 if err != nil {
610 result.Response = autorest.Response{Response: resp}
611 err = autorest.NewErrorWithError(err, "documentdb.DatabaseAccountsClient", "List", resp, "Failure sending request")
612 return
613 }
614
615 result, err = client.ListResponder(resp)
616 if err != nil {
617 err = autorest.NewErrorWithError(err, "documentdb.DatabaseAccountsClient", "List", resp, "Failure responding to request")
618 return
619 }
620
621 return
622 }
623
624
625 func (client DatabaseAccountsClient) ListPreparer(ctx context.Context) (*http.Request, error) {
626 pathParameters := map[string]interface{}{
627 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
628 }
629
630 const APIVersion = "2021-04-01-preview"
631 queryParameters := map[string]interface{}{
632 "api-version": APIVersion,
633 }
634
635 preparer := autorest.CreatePreparer(
636 autorest.AsGet(),
637 autorest.WithBaseURL(client.BaseURI),
638 autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/databaseAccounts", pathParameters),
639 autorest.WithQueryParameters(queryParameters))
640 return preparer.Prepare((&http.Request{}).WithContext(ctx))
641 }
642
643
644
645 func (client DatabaseAccountsClient) ListSender(req *http.Request) (*http.Response, error) {
646 return client.Send(req, azure.DoRetryWithRegistration(client.Client))
647 }
648
649
650
651 func (client DatabaseAccountsClient) ListResponder(resp *http.Response) (result DatabaseAccountsListResult, err error) {
652 err = autorest.Respond(
653 resp,
654 azure.WithErrorUnlessStatusCode(http.StatusOK),
655 autorest.ByUnmarshallingJSON(&result),
656 autorest.ByClosing())
657 result.Response = autorest.Response{Response: resp}
658 return
659 }
660
661
662
663
664 func (client DatabaseAccountsClient) ListByResourceGroup(ctx context.Context, resourceGroupName string) (result DatabaseAccountsListResult, err error) {
665 if tracing.IsEnabled() {
666 ctx = tracing.StartSpan(ctx, fqdn+"/DatabaseAccountsClient.ListByResourceGroup")
667 defer func() {
668 sc := -1
669 if result.Response.Response != nil {
670 sc = result.Response.Response.StatusCode
671 }
672 tracing.EndSpan(ctx, sc, err)
673 }()
674 }
675 if err := validation.Validate([]validation.Validation{
676 {TargetValue: resourceGroupName,
677 Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
678 {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
679 {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}},
680 {TargetValue: client.SubscriptionID,
681 Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil {
682 return result, validation.NewError("documentdb.DatabaseAccountsClient", "ListByResourceGroup", err.Error())
683 }
684
685 req, err := client.ListByResourceGroupPreparer(ctx, resourceGroupName)
686 if err != nil {
687 err = autorest.NewErrorWithError(err, "documentdb.DatabaseAccountsClient", "ListByResourceGroup", nil, "Failure preparing request")
688 return
689 }
690
691 resp, err := client.ListByResourceGroupSender(req)
692 if err != nil {
693 result.Response = autorest.Response{Response: resp}
694 err = autorest.NewErrorWithError(err, "documentdb.DatabaseAccountsClient", "ListByResourceGroup", resp, "Failure sending request")
695 return
696 }
697
698 result, err = client.ListByResourceGroupResponder(resp)
699 if err != nil {
700 err = autorest.NewErrorWithError(err, "documentdb.DatabaseAccountsClient", "ListByResourceGroup", resp, "Failure responding to request")
701 return
702 }
703
704 return
705 }
706
707
708 func (client DatabaseAccountsClient) ListByResourceGroupPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) {
709 pathParameters := map[string]interface{}{
710 "resourceGroupName": autorest.Encode("path", resourceGroupName),
711 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
712 }
713
714 const APIVersion = "2021-04-01-preview"
715 queryParameters := map[string]interface{}{
716 "api-version": APIVersion,
717 }
718
719 preparer := autorest.CreatePreparer(
720 autorest.AsGet(),
721 autorest.WithBaseURL(client.BaseURI),
722 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts", pathParameters),
723 autorest.WithQueryParameters(queryParameters))
724 return preparer.Prepare((&http.Request{}).WithContext(ctx))
725 }
726
727
728
729 func (client DatabaseAccountsClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) {
730 return client.Send(req, azure.DoRetryWithRegistration(client.Client))
731 }
732
733
734
735 func (client DatabaseAccountsClient) ListByResourceGroupResponder(resp *http.Response) (result DatabaseAccountsListResult, err error) {
736 err = autorest.Respond(
737 resp,
738 azure.WithErrorUnlessStatusCode(http.StatusOK),
739 autorest.ByUnmarshallingJSON(&result),
740 autorest.ByClosing())
741 result.Response = autorest.Response{Response: resp}
742 return
743 }
744
745
746
747
748
749 func (client DatabaseAccountsClient) ListConnectionStrings(ctx context.Context, resourceGroupName string, accountName string) (result DatabaseAccountListConnectionStringsResult, err error) {
750 if tracing.IsEnabled() {
751 ctx = tracing.StartSpan(ctx, fqdn+"/DatabaseAccountsClient.ListConnectionStrings")
752 defer func() {
753 sc := -1
754 if result.Response.Response != nil {
755 sc = result.Response.Response.StatusCode
756 }
757 tracing.EndSpan(ctx, sc, err)
758 }()
759 }
760 if err := validation.Validate([]validation.Validation{
761 {TargetValue: client.SubscriptionID,
762 Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.MinLength, Rule: 1, Chain: nil}}},
763 {TargetValue: resourceGroupName,
764 Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
765 {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
766 {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}},
767 {TargetValue: accountName,
768 Constraints: []validation.Constraint{{Target: "accountName", Name: validation.MaxLength, Rule: 50, Chain: nil},
769 {Target: "accountName", Name: validation.MinLength, Rule: 3, Chain: nil},
770 {Target: "accountName", Name: validation.Pattern, Rule: `^[a-z0-9]+(-[a-z0-9]+)*`, Chain: nil}}}}); err != nil {
771 return result, validation.NewError("documentdb.DatabaseAccountsClient", "ListConnectionStrings", err.Error())
772 }
773
774 req, err := client.ListConnectionStringsPreparer(ctx, resourceGroupName, accountName)
775 if err != nil {
776 err = autorest.NewErrorWithError(err, "documentdb.DatabaseAccountsClient", "ListConnectionStrings", nil, "Failure preparing request")
777 return
778 }
779
780 resp, err := client.ListConnectionStringsSender(req)
781 if err != nil {
782 result.Response = autorest.Response{Response: resp}
783 err = autorest.NewErrorWithError(err, "documentdb.DatabaseAccountsClient", "ListConnectionStrings", resp, "Failure sending request")
784 return
785 }
786
787 result, err = client.ListConnectionStringsResponder(resp)
788 if err != nil {
789 err = autorest.NewErrorWithError(err, "documentdb.DatabaseAccountsClient", "ListConnectionStrings", resp, "Failure responding to request")
790 return
791 }
792
793 return
794 }
795
796
797 func (client DatabaseAccountsClient) ListConnectionStringsPreparer(ctx context.Context, resourceGroupName string, accountName string) (*http.Request, error) {
798 pathParameters := map[string]interface{}{
799 "accountName": autorest.Encode("path", accountName),
800 "resourceGroupName": autorest.Encode("path", resourceGroupName),
801 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
802 }
803
804 const APIVersion = "2021-04-01-preview"
805 queryParameters := map[string]interface{}{
806 "api-version": APIVersion,
807 }
808
809 preparer := autorest.CreatePreparer(
810 autorest.AsPost(),
811 autorest.WithBaseURL(client.BaseURI),
812 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/listConnectionStrings", pathParameters),
813 autorest.WithQueryParameters(queryParameters))
814 return preparer.Prepare((&http.Request{}).WithContext(ctx))
815 }
816
817
818
819 func (client DatabaseAccountsClient) ListConnectionStringsSender(req *http.Request) (*http.Response, error) {
820 return client.Send(req, azure.DoRetryWithRegistration(client.Client))
821 }
822
823
824
825 func (client DatabaseAccountsClient) ListConnectionStringsResponder(resp *http.Response) (result DatabaseAccountListConnectionStringsResult, err error) {
826 err = autorest.Respond(
827 resp,
828 azure.WithErrorUnlessStatusCode(http.StatusOK),
829 autorest.ByUnmarshallingJSON(&result),
830 autorest.ByClosing())
831 result.Response = autorest.Response{Response: resp}
832 return
833 }
834
835
836
837
838
839 func (client DatabaseAccountsClient) ListKeys(ctx context.Context, resourceGroupName string, accountName string) (result DatabaseAccountListKeysResult, err error) {
840 if tracing.IsEnabled() {
841 ctx = tracing.StartSpan(ctx, fqdn+"/DatabaseAccountsClient.ListKeys")
842 defer func() {
843 sc := -1
844 if result.Response.Response != nil {
845 sc = result.Response.Response.StatusCode
846 }
847 tracing.EndSpan(ctx, sc, err)
848 }()
849 }
850 if err := validation.Validate([]validation.Validation{
851 {TargetValue: client.SubscriptionID,
852 Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.MinLength, Rule: 1, Chain: nil}}},
853 {TargetValue: resourceGroupName,
854 Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
855 {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
856 {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}},
857 {TargetValue: accountName,
858 Constraints: []validation.Constraint{{Target: "accountName", Name: validation.MaxLength, Rule: 50, Chain: nil},
859 {Target: "accountName", Name: validation.MinLength, Rule: 3, Chain: nil},
860 {Target: "accountName", Name: validation.Pattern, Rule: `^[a-z0-9]+(-[a-z0-9]+)*`, Chain: nil}}}}); err != nil {
861 return result, validation.NewError("documentdb.DatabaseAccountsClient", "ListKeys", err.Error())
862 }
863
864 req, err := client.ListKeysPreparer(ctx, resourceGroupName, accountName)
865 if err != nil {
866 err = autorest.NewErrorWithError(err, "documentdb.DatabaseAccountsClient", "ListKeys", nil, "Failure preparing request")
867 return
868 }
869
870 resp, err := client.ListKeysSender(req)
871 if err != nil {
872 result.Response = autorest.Response{Response: resp}
873 err = autorest.NewErrorWithError(err, "documentdb.DatabaseAccountsClient", "ListKeys", resp, "Failure sending request")
874 return
875 }
876
877 result, err = client.ListKeysResponder(resp)
878 if err != nil {
879 err = autorest.NewErrorWithError(err, "documentdb.DatabaseAccountsClient", "ListKeys", resp, "Failure responding to request")
880 return
881 }
882
883 return
884 }
885
886
887 func (client DatabaseAccountsClient) ListKeysPreparer(ctx context.Context, resourceGroupName string, accountName string) (*http.Request, error) {
888 pathParameters := map[string]interface{}{
889 "accountName": autorest.Encode("path", accountName),
890 "resourceGroupName": autorest.Encode("path", resourceGroupName),
891 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
892 }
893
894 const APIVersion = "2021-04-01-preview"
895 queryParameters := map[string]interface{}{
896 "api-version": APIVersion,
897 }
898
899 preparer := autorest.CreatePreparer(
900 autorest.AsPost(),
901 autorest.WithBaseURL(client.BaseURI),
902 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/listKeys", pathParameters),
903 autorest.WithQueryParameters(queryParameters))
904 return preparer.Prepare((&http.Request{}).WithContext(ctx))
905 }
906
907
908
909 func (client DatabaseAccountsClient) ListKeysSender(req *http.Request) (*http.Response, error) {
910 return client.Send(req, azure.DoRetryWithRegistration(client.Client))
911 }
912
913
914
915 func (client DatabaseAccountsClient) ListKeysResponder(resp *http.Response) (result DatabaseAccountListKeysResult, err error) {
916 err = autorest.Respond(
917 resp,
918 azure.WithErrorUnlessStatusCode(http.StatusOK),
919 autorest.ByUnmarshallingJSON(&result),
920 autorest.ByClosing())
921 result.Response = autorest.Response{Response: resp}
922 return
923 }
924
925
926
927
928
929 func (client DatabaseAccountsClient) ListMetricDefinitions(ctx context.Context, resourceGroupName string, accountName string) (result MetricDefinitionsListResult, err error) {
930 if tracing.IsEnabled() {
931 ctx = tracing.StartSpan(ctx, fqdn+"/DatabaseAccountsClient.ListMetricDefinitions")
932 defer func() {
933 sc := -1
934 if result.Response.Response != nil {
935 sc = result.Response.Response.StatusCode
936 }
937 tracing.EndSpan(ctx, sc, err)
938 }()
939 }
940 if err := validation.Validate([]validation.Validation{
941 {TargetValue: client.SubscriptionID,
942 Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.MinLength, Rule: 1, Chain: nil}}},
943 {TargetValue: resourceGroupName,
944 Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
945 {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
946 {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}},
947 {TargetValue: accountName,
948 Constraints: []validation.Constraint{{Target: "accountName", Name: validation.MaxLength, Rule: 50, Chain: nil},
949 {Target: "accountName", Name: validation.MinLength, Rule: 3, Chain: nil},
950 {Target: "accountName", Name: validation.Pattern, Rule: `^[a-z0-9]+(-[a-z0-9]+)*`, Chain: nil}}}}); err != nil {
951 return result, validation.NewError("documentdb.DatabaseAccountsClient", "ListMetricDefinitions", err.Error())
952 }
953
954 req, err := client.ListMetricDefinitionsPreparer(ctx, resourceGroupName, accountName)
955 if err != nil {
956 err = autorest.NewErrorWithError(err, "documentdb.DatabaseAccountsClient", "ListMetricDefinitions", nil, "Failure preparing request")
957 return
958 }
959
960 resp, err := client.ListMetricDefinitionsSender(req)
961 if err != nil {
962 result.Response = autorest.Response{Response: resp}
963 err = autorest.NewErrorWithError(err, "documentdb.DatabaseAccountsClient", "ListMetricDefinitions", resp, "Failure sending request")
964 return
965 }
966
967 result, err = client.ListMetricDefinitionsResponder(resp)
968 if err != nil {
969 err = autorest.NewErrorWithError(err, "documentdb.DatabaseAccountsClient", "ListMetricDefinitions", resp, "Failure responding to request")
970 return
971 }
972
973 return
974 }
975
976
977 func (client DatabaseAccountsClient) ListMetricDefinitionsPreparer(ctx context.Context, resourceGroupName string, accountName string) (*http.Request, error) {
978 pathParameters := map[string]interface{}{
979 "accountName": autorest.Encode("path", accountName),
980 "resourceGroupName": autorest.Encode("path", resourceGroupName),
981 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
982 }
983
984 const APIVersion = "2021-04-01-preview"
985 queryParameters := map[string]interface{}{
986 "api-version": APIVersion,
987 }
988
989 preparer := autorest.CreatePreparer(
990 autorest.AsGet(),
991 autorest.WithBaseURL(client.BaseURI),
992 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/metricDefinitions", pathParameters),
993 autorest.WithQueryParameters(queryParameters))
994 return preparer.Prepare((&http.Request{}).WithContext(ctx))
995 }
996
997
998
999 func (client DatabaseAccountsClient) ListMetricDefinitionsSender(req *http.Request) (*http.Response, error) {
1000 return client.Send(req, azure.DoRetryWithRegistration(client.Client))
1001 }
1002
1003
1004
1005 func (client DatabaseAccountsClient) ListMetricDefinitionsResponder(resp *http.Response) (result MetricDefinitionsListResult, err error) {
1006 err = autorest.Respond(
1007 resp,
1008 azure.WithErrorUnlessStatusCode(http.StatusOK),
1009 autorest.ByUnmarshallingJSON(&result),
1010 autorest.ByClosing())
1011 result.Response = autorest.Response{Response: resp}
1012 return
1013 }
1014
1015
1016
1017
1018
1019
1020
1021
1022 func (client DatabaseAccountsClient) ListMetrics(ctx context.Context, resourceGroupName string, accountName string, filter string) (result MetricListResult, err error) {
1023 if tracing.IsEnabled() {
1024 ctx = tracing.StartSpan(ctx, fqdn+"/DatabaseAccountsClient.ListMetrics")
1025 defer func() {
1026 sc := -1
1027 if result.Response.Response != nil {
1028 sc = result.Response.Response.StatusCode
1029 }
1030 tracing.EndSpan(ctx, sc, err)
1031 }()
1032 }
1033 if err := validation.Validate([]validation.Validation{
1034 {TargetValue: client.SubscriptionID,
1035 Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.MinLength, Rule: 1, Chain: nil}}},
1036 {TargetValue: resourceGroupName,
1037 Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
1038 {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
1039 {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}},
1040 {TargetValue: accountName,
1041 Constraints: []validation.Constraint{{Target: "accountName", Name: validation.MaxLength, Rule: 50, Chain: nil},
1042 {Target: "accountName", Name: validation.MinLength, Rule: 3, Chain: nil},
1043 {Target: "accountName", Name: validation.Pattern, Rule: `^[a-z0-9]+(-[a-z0-9]+)*`, Chain: nil}}}}); err != nil {
1044 return result, validation.NewError("documentdb.DatabaseAccountsClient", "ListMetrics", err.Error())
1045 }
1046
1047 req, err := client.ListMetricsPreparer(ctx, resourceGroupName, accountName, filter)
1048 if err != nil {
1049 err = autorest.NewErrorWithError(err, "documentdb.DatabaseAccountsClient", "ListMetrics", nil, "Failure preparing request")
1050 return
1051 }
1052
1053 resp, err := client.ListMetricsSender(req)
1054 if err != nil {
1055 result.Response = autorest.Response{Response: resp}
1056 err = autorest.NewErrorWithError(err, "documentdb.DatabaseAccountsClient", "ListMetrics", resp, "Failure sending request")
1057 return
1058 }
1059
1060 result, err = client.ListMetricsResponder(resp)
1061 if err != nil {
1062 err = autorest.NewErrorWithError(err, "documentdb.DatabaseAccountsClient", "ListMetrics", resp, "Failure responding to request")
1063 return
1064 }
1065
1066 return
1067 }
1068
1069
1070 func (client DatabaseAccountsClient) ListMetricsPreparer(ctx context.Context, resourceGroupName string, accountName string, filter string) (*http.Request, error) {
1071 pathParameters := map[string]interface{}{
1072 "accountName": autorest.Encode("path", accountName),
1073 "resourceGroupName": autorest.Encode("path", resourceGroupName),
1074 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
1075 }
1076
1077 const APIVersion = "2021-04-01-preview"
1078 queryParameters := map[string]interface{}{
1079 "$filter": autorest.Encode("query", filter),
1080 "api-version": APIVersion,
1081 }
1082
1083 preparer := autorest.CreatePreparer(
1084 autorest.AsGet(),
1085 autorest.WithBaseURL(client.BaseURI),
1086 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/metrics", pathParameters),
1087 autorest.WithQueryParameters(queryParameters))
1088 return preparer.Prepare((&http.Request{}).WithContext(ctx))
1089 }
1090
1091
1092
1093 func (client DatabaseAccountsClient) ListMetricsSender(req *http.Request) (*http.Response, error) {
1094 return client.Send(req, azure.DoRetryWithRegistration(client.Client))
1095 }
1096
1097
1098
1099 func (client DatabaseAccountsClient) ListMetricsResponder(resp *http.Response) (result MetricListResult, err error) {
1100 err = autorest.Respond(
1101 resp,
1102 azure.WithErrorUnlessStatusCode(http.StatusOK),
1103 autorest.ByUnmarshallingJSON(&result),
1104 autorest.ByClosing())
1105 result.Response = autorest.Response{Response: resp}
1106 return
1107 }
1108
1109
1110
1111
1112
1113 func (client DatabaseAccountsClient) ListReadOnlyKeys(ctx context.Context, resourceGroupName string, accountName string) (result DatabaseAccountListReadOnlyKeysResult, err error) {
1114 if tracing.IsEnabled() {
1115 ctx = tracing.StartSpan(ctx, fqdn+"/DatabaseAccountsClient.ListReadOnlyKeys")
1116 defer func() {
1117 sc := -1
1118 if result.Response.Response != nil {
1119 sc = result.Response.Response.StatusCode
1120 }
1121 tracing.EndSpan(ctx, sc, err)
1122 }()
1123 }
1124 if err := validation.Validate([]validation.Validation{
1125 {TargetValue: client.SubscriptionID,
1126 Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.MinLength, Rule: 1, Chain: nil}}},
1127 {TargetValue: resourceGroupName,
1128 Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
1129 {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
1130 {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}},
1131 {TargetValue: accountName,
1132 Constraints: []validation.Constraint{{Target: "accountName", Name: validation.MaxLength, Rule: 50, Chain: nil},
1133 {Target: "accountName", Name: validation.MinLength, Rule: 3, Chain: nil},
1134 {Target: "accountName", Name: validation.Pattern, Rule: `^[a-z0-9]+(-[a-z0-9]+)*`, Chain: nil}}}}); err != nil {
1135 return result, validation.NewError("documentdb.DatabaseAccountsClient", "ListReadOnlyKeys", err.Error())
1136 }
1137
1138 req, err := client.ListReadOnlyKeysPreparer(ctx, resourceGroupName, accountName)
1139 if err != nil {
1140 err = autorest.NewErrorWithError(err, "documentdb.DatabaseAccountsClient", "ListReadOnlyKeys", nil, "Failure preparing request")
1141 return
1142 }
1143
1144 resp, err := client.ListReadOnlyKeysSender(req)
1145 if err != nil {
1146 result.Response = autorest.Response{Response: resp}
1147 err = autorest.NewErrorWithError(err, "documentdb.DatabaseAccountsClient", "ListReadOnlyKeys", resp, "Failure sending request")
1148 return
1149 }
1150
1151 result, err = client.ListReadOnlyKeysResponder(resp)
1152 if err != nil {
1153 err = autorest.NewErrorWithError(err, "documentdb.DatabaseAccountsClient", "ListReadOnlyKeys", resp, "Failure responding to request")
1154 return
1155 }
1156
1157 return
1158 }
1159
1160
1161 func (client DatabaseAccountsClient) ListReadOnlyKeysPreparer(ctx context.Context, resourceGroupName string, accountName string) (*http.Request, error) {
1162 pathParameters := map[string]interface{}{
1163 "accountName": autorest.Encode("path", accountName),
1164 "resourceGroupName": autorest.Encode("path", resourceGroupName),
1165 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
1166 }
1167
1168 const APIVersion = "2021-04-01-preview"
1169 queryParameters := map[string]interface{}{
1170 "api-version": APIVersion,
1171 }
1172
1173 preparer := autorest.CreatePreparer(
1174 autorest.AsPost(),
1175 autorest.WithBaseURL(client.BaseURI),
1176 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/readonlykeys", pathParameters),
1177 autorest.WithQueryParameters(queryParameters))
1178 return preparer.Prepare((&http.Request{}).WithContext(ctx))
1179 }
1180
1181
1182
1183 func (client DatabaseAccountsClient) ListReadOnlyKeysSender(req *http.Request) (*http.Response, error) {
1184 return client.Send(req, azure.DoRetryWithRegistration(client.Client))
1185 }
1186
1187
1188
1189 func (client DatabaseAccountsClient) ListReadOnlyKeysResponder(resp *http.Response) (result DatabaseAccountListReadOnlyKeysResult, err error) {
1190 err = autorest.Respond(
1191 resp,
1192 azure.WithErrorUnlessStatusCode(http.StatusOK),
1193 autorest.ByUnmarshallingJSON(&result),
1194 autorest.ByClosing())
1195 result.Response = autorest.Response{Response: resp}
1196 return
1197 }
1198
1199
1200
1201
1202
1203
1204
1205 func (client DatabaseAccountsClient) ListUsages(ctx context.Context, resourceGroupName string, accountName string, filter string) (result UsagesResult, err error) {
1206 if tracing.IsEnabled() {
1207 ctx = tracing.StartSpan(ctx, fqdn+"/DatabaseAccountsClient.ListUsages")
1208 defer func() {
1209 sc := -1
1210 if result.Response.Response != nil {
1211 sc = result.Response.Response.StatusCode
1212 }
1213 tracing.EndSpan(ctx, sc, err)
1214 }()
1215 }
1216 if err := validation.Validate([]validation.Validation{
1217 {TargetValue: client.SubscriptionID,
1218 Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.MinLength, Rule: 1, Chain: nil}}},
1219 {TargetValue: resourceGroupName,
1220 Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
1221 {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
1222 {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}},
1223 {TargetValue: accountName,
1224 Constraints: []validation.Constraint{{Target: "accountName", Name: validation.MaxLength, Rule: 50, Chain: nil},
1225 {Target: "accountName", Name: validation.MinLength, Rule: 3, Chain: nil},
1226 {Target: "accountName", Name: validation.Pattern, Rule: `^[a-z0-9]+(-[a-z0-9]+)*`, Chain: nil}}}}); err != nil {
1227 return result, validation.NewError("documentdb.DatabaseAccountsClient", "ListUsages", err.Error())
1228 }
1229
1230 req, err := client.ListUsagesPreparer(ctx, resourceGroupName, accountName, filter)
1231 if err != nil {
1232 err = autorest.NewErrorWithError(err, "documentdb.DatabaseAccountsClient", "ListUsages", nil, "Failure preparing request")
1233 return
1234 }
1235
1236 resp, err := client.ListUsagesSender(req)
1237 if err != nil {
1238 result.Response = autorest.Response{Response: resp}
1239 err = autorest.NewErrorWithError(err, "documentdb.DatabaseAccountsClient", "ListUsages", resp, "Failure sending request")
1240 return
1241 }
1242
1243 result, err = client.ListUsagesResponder(resp)
1244 if err != nil {
1245 err = autorest.NewErrorWithError(err, "documentdb.DatabaseAccountsClient", "ListUsages", resp, "Failure responding to request")
1246 return
1247 }
1248
1249 return
1250 }
1251
1252
1253 func (client DatabaseAccountsClient) ListUsagesPreparer(ctx context.Context, resourceGroupName string, accountName string, filter string) (*http.Request, error) {
1254 pathParameters := map[string]interface{}{
1255 "accountName": autorest.Encode("path", accountName),
1256 "resourceGroupName": autorest.Encode("path", resourceGroupName),
1257 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
1258 }
1259
1260 const APIVersion = "2021-04-01-preview"
1261 queryParameters := map[string]interface{}{
1262 "api-version": APIVersion,
1263 }
1264 if len(filter) > 0 {
1265 queryParameters["$filter"] = autorest.Encode("query", filter)
1266 }
1267
1268 preparer := autorest.CreatePreparer(
1269 autorest.AsGet(),
1270 autorest.WithBaseURL(client.BaseURI),
1271 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/usages", pathParameters),
1272 autorest.WithQueryParameters(queryParameters))
1273 return preparer.Prepare((&http.Request{}).WithContext(ctx))
1274 }
1275
1276
1277
1278 func (client DatabaseAccountsClient) ListUsagesSender(req *http.Request) (*http.Response, error) {
1279 return client.Send(req, azure.DoRetryWithRegistration(client.Client))
1280 }
1281
1282
1283
1284 func (client DatabaseAccountsClient) ListUsagesResponder(resp *http.Response) (result UsagesResult, err error) {
1285 err = autorest.Respond(
1286 resp,
1287 azure.WithErrorUnlessStatusCode(http.StatusOK),
1288 autorest.ByUnmarshallingJSON(&result),
1289 autorest.ByClosing())
1290 result.Response = autorest.Response{Response: resp}
1291 return
1292 }
1293
1294
1295
1296
1297
1298
1299 func (client DatabaseAccountsClient) OfflineRegion(ctx context.Context, resourceGroupName string, accountName string, regionParameterForOffline RegionForOnlineOffline) (result DatabaseAccountsOfflineRegionFuture, err error) {
1300 if tracing.IsEnabled() {
1301 ctx = tracing.StartSpan(ctx, fqdn+"/DatabaseAccountsClient.OfflineRegion")
1302 defer func() {
1303 sc := -1
1304 if result.FutureAPI != nil && result.FutureAPI.Response() != nil {
1305 sc = result.FutureAPI.Response().StatusCode
1306 }
1307 tracing.EndSpan(ctx, sc, err)
1308 }()
1309 }
1310 if err := validation.Validate([]validation.Validation{
1311 {TargetValue: client.SubscriptionID,
1312 Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.MinLength, Rule: 1, Chain: nil}}},
1313 {TargetValue: resourceGroupName,
1314 Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
1315 {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
1316 {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}},
1317 {TargetValue: accountName,
1318 Constraints: []validation.Constraint{{Target: "accountName", Name: validation.MaxLength, Rule: 50, Chain: nil},
1319 {Target: "accountName", Name: validation.MinLength, Rule: 3, Chain: nil},
1320 {Target: "accountName", Name: validation.Pattern, Rule: `^[a-z0-9]+(-[a-z0-9]+)*`, Chain: nil}}},
1321 {TargetValue: regionParameterForOffline,
1322 Constraints: []validation.Constraint{{Target: "regionParameterForOffline.Region", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil {
1323 return result, validation.NewError("documentdb.DatabaseAccountsClient", "OfflineRegion", err.Error())
1324 }
1325
1326 req, err := client.OfflineRegionPreparer(ctx, resourceGroupName, accountName, regionParameterForOffline)
1327 if err != nil {
1328 err = autorest.NewErrorWithError(err, "documentdb.DatabaseAccountsClient", "OfflineRegion", nil, "Failure preparing request")
1329 return
1330 }
1331
1332 result, err = client.OfflineRegionSender(req)
1333 if err != nil {
1334 err = autorest.NewErrorWithError(err, "documentdb.DatabaseAccountsClient", "OfflineRegion", result.Response(), "Failure sending request")
1335 return
1336 }
1337
1338 return
1339 }
1340
1341
1342 func (client DatabaseAccountsClient) OfflineRegionPreparer(ctx context.Context, resourceGroupName string, accountName string, regionParameterForOffline RegionForOnlineOffline) (*http.Request, error) {
1343 pathParameters := map[string]interface{}{
1344 "accountName": autorest.Encode("path", accountName),
1345 "resourceGroupName": autorest.Encode("path", resourceGroupName),
1346 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
1347 }
1348
1349 const APIVersion = "2021-04-01-preview"
1350 queryParameters := map[string]interface{}{
1351 "api-version": APIVersion,
1352 }
1353
1354 preparer := autorest.CreatePreparer(
1355 autorest.AsContentType("application/json; charset=utf-8"),
1356 autorest.AsPost(),
1357 autorest.WithBaseURL(client.BaseURI),
1358 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/offlineRegion", pathParameters),
1359 autorest.WithJSON(regionParameterForOffline),
1360 autorest.WithQueryParameters(queryParameters))
1361 return preparer.Prepare((&http.Request{}).WithContext(ctx))
1362 }
1363
1364
1365
1366 func (client DatabaseAccountsClient) OfflineRegionSender(req *http.Request) (future DatabaseAccountsOfflineRegionFuture, err error) {
1367 var resp *http.Response
1368 future.FutureAPI = &azure.Future{}
1369 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client))
1370 if err != nil {
1371 return
1372 }
1373 var azf azure.Future
1374 azf, err = azure.NewFutureFromResponse(resp)
1375 future.FutureAPI = &azf
1376 future.Result = future.result
1377 return
1378 }
1379
1380
1381
1382 func (client DatabaseAccountsClient) OfflineRegionResponder(resp *http.Response) (result autorest.Response, err error) {
1383 err = autorest.Respond(
1384 resp,
1385 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted),
1386 autorest.ByClosing())
1387 result.Response = resp
1388 return
1389 }
1390
1391
1392
1393
1394
1395
1396 func (client DatabaseAccountsClient) OnlineRegion(ctx context.Context, resourceGroupName string, accountName string, regionParameterForOnline RegionForOnlineOffline) (result DatabaseAccountsOnlineRegionFuture, err error) {
1397 if tracing.IsEnabled() {
1398 ctx = tracing.StartSpan(ctx, fqdn+"/DatabaseAccountsClient.OnlineRegion")
1399 defer func() {
1400 sc := -1
1401 if result.FutureAPI != nil && result.FutureAPI.Response() != nil {
1402 sc = result.FutureAPI.Response().StatusCode
1403 }
1404 tracing.EndSpan(ctx, sc, err)
1405 }()
1406 }
1407 if err := validation.Validate([]validation.Validation{
1408 {TargetValue: client.SubscriptionID,
1409 Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.MinLength, Rule: 1, Chain: nil}}},
1410 {TargetValue: resourceGroupName,
1411 Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
1412 {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
1413 {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}},
1414 {TargetValue: accountName,
1415 Constraints: []validation.Constraint{{Target: "accountName", Name: validation.MaxLength, Rule: 50, Chain: nil},
1416 {Target: "accountName", Name: validation.MinLength, Rule: 3, Chain: nil},
1417 {Target: "accountName", Name: validation.Pattern, Rule: `^[a-z0-9]+(-[a-z0-9]+)*`, Chain: nil}}},
1418 {TargetValue: regionParameterForOnline,
1419 Constraints: []validation.Constraint{{Target: "regionParameterForOnline.Region", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil {
1420 return result, validation.NewError("documentdb.DatabaseAccountsClient", "OnlineRegion", err.Error())
1421 }
1422
1423 req, err := client.OnlineRegionPreparer(ctx, resourceGroupName, accountName, regionParameterForOnline)
1424 if err != nil {
1425 err = autorest.NewErrorWithError(err, "documentdb.DatabaseAccountsClient", "OnlineRegion", nil, "Failure preparing request")
1426 return
1427 }
1428
1429 result, err = client.OnlineRegionSender(req)
1430 if err != nil {
1431 err = autorest.NewErrorWithError(err, "documentdb.DatabaseAccountsClient", "OnlineRegion", result.Response(), "Failure sending request")
1432 return
1433 }
1434
1435 return
1436 }
1437
1438
1439 func (client DatabaseAccountsClient) OnlineRegionPreparer(ctx context.Context, resourceGroupName string, accountName string, regionParameterForOnline RegionForOnlineOffline) (*http.Request, error) {
1440 pathParameters := map[string]interface{}{
1441 "accountName": autorest.Encode("path", accountName),
1442 "resourceGroupName": autorest.Encode("path", resourceGroupName),
1443 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
1444 }
1445
1446 const APIVersion = "2021-04-01-preview"
1447 queryParameters := map[string]interface{}{
1448 "api-version": APIVersion,
1449 }
1450
1451 preparer := autorest.CreatePreparer(
1452 autorest.AsContentType("application/json; charset=utf-8"),
1453 autorest.AsPost(),
1454 autorest.WithBaseURL(client.BaseURI),
1455 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/onlineRegion", pathParameters),
1456 autorest.WithJSON(regionParameterForOnline),
1457 autorest.WithQueryParameters(queryParameters))
1458 return preparer.Prepare((&http.Request{}).WithContext(ctx))
1459 }
1460
1461
1462
1463 func (client DatabaseAccountsClient) OnlineRegionSender(req *http.Request) (future DatabaseAccountsOnlineRegionFuture, err error) {
1464 var resp *http.Response
1465 future.FutureAPI = &azure.Future{}
1466 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client))
1467 if err != nil {
1468 return
1469 }
1470 var azf azure.Future
1471 azf, err = azure.NewFutureFromResponse(resp)
1472 future.FutureAPI = &azf
1473 future.Result = future.result
1474 return
1475 }
1476
1477
1478
1479 func (client DatabaseAccountsClient) OnlineRegionResponder(resp *http.Response) (result autorest.Response, err error) {
1480 err = autorest.Respond(
1481 resp,
1482 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted),
1483 autorest.ByClosing())
1484 result.Response = resp
1485 return
1486 }
1487
1488
1489
1490
1491
1492
1493 func (client DatabaseAccountsClient) RegenerateKey(ctx context.Context, resourceGroupName string, accountName string, keyToRegenerate DatabaseAccountRegenerateKeyParameters) (result DatabaseAccountsRegenerateKeyFuture, err error) {
1494 if tracing.IsEnabled() {
1495 ctx = tracing.StartSpan(ctx, fqdn+"/DatabaseAccountsClient.RegenerateKey")
1496 defer func() {
1497 sc := -1
1498 if result.FutureAPI != nil && result.FutureAPI.Response() != nil {
1499 sc = result.FutureAPI.Response().StatusCode
1500 }
1501 tracing.EndSpan(ctx, sc, err)
1502 }()
1503 }
1504 if err := validation.Validate([]validation.Validation{
1505 {TargetValue: client.SubscriptionID,
1506 Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.MinLength, Rule: 1, Chain: nil}}},
1507 {TargetValue: resourceGroupName,
1508 Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
1509 {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
1510 {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}},
1511 {TargetValue: accountName,
1512 Constraints: []validation.Constraint{{Target: "accountName", Name: validation.MaxLength, Rule: 50, Chain: nil},
1513 {Target: "accountName", Name: validation.MinLength, Rule: 3, Chain: nil},
1514 {Target: "accountName", Name: validation.Pattern, Rule: `^[a-z0-9]+(-[a-z0-9]+)*`, Chain: nil}}}}); err != nil {
1515 return result, validation.NewError("documentdb.DatabaseAccountsClient", "RegenerateKey", err.Error())
1516 }
1517
1518 req, err := client.RegenerateKeyPreparer(ctx, resourceGroupName, accountName, keyToRegenerate)
1519 if err != nil {
1520 err = autorest.NewErrorWithError(err, "documentdb.DatabaseAccountsClient", "RegenerateKey", nil, "Failure preparing request")
1521 return
1522 }
1523
1524 result, err = client.RegenerateKeySender(req)
1525 if err != nil {
1526 err = autorest.NewErrorWithError(err, "documentdb.DatabaseAccountsClient", "RegenerateKey", result.Response(), "Failure sending request")
1527 return
1528 }
1529
1530 return
1531 }
1532
1533
1534 func (client DatabaseAccountsClient) RegenerateKeyPreparer(ctx context.Context, resourceGroupName string, accountName string, keyToRegenerate DatabaseAccountRegenerateKeyParameters) (*http.Request, error) {
1535 pathParameters := map[string]interface{}{
1536 "accountName": autorest.Encode("path", accountName),
1537 "resourceGroupName": autorest.Encode("path", resourceGroupName),
1538 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
1539 }
1540
1541 const APIVersion = "2021-04-01-preview"
1542 queryParameters := map[string]interface{}{
1543 "api-version": APIVersion,
1544 }
1545
1546 preparer := autorest.CreatePreparer(
1547 autorest.AsContentType("application/json; charset=utf-8"),
1548 autorest.AsPost(),
1549 autorest.WithBaseURL(client.BaseURI),
1550 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/regenerateKey", pathParameters),
1551 autorest.WithJSON(keyToRegenerate),
1552 autorest.WithQueryParameters(queryParameters))
1553 return preparer.Prepare((&http.Request{}).WithContext(ctx))
1554 }
1555
1556
1557
1558 func (client DatabaseAccountsClient) RegenerateKeySender(req *http.Request) (future DatabaseAccountsRegenerateKeyFuture, err error) {
1559 var resp *http.Response
1560 future.FutureAPI = &azure.Future{}
1561 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client))
1562 if err != nil {
1563 return
1564 }
1565 var azf azure.Future
1566 azf, err = azure.NewFutureFromResponse(resp)
1567 future.FutureAPI = &azf
1568 future.Result = future.result
1569 return
1570 }
1571
1572
1573
1574 func (client DatabaseAccountsClient) RegenerateKeyResponder(resp *http.Response) (result autorest.Response, err error) {
1575 err = autorest.Respond(
1576 resp,
1577 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted),
1578 autorest.ByClosing())
1579 result.Response = resp
1580 return
1581 }
1582
1583
1584
1585
1586
1587
1588 func (client DatabaseAccountsClient) Update(ctx context.Context, resourceGroupName string, accountName string, updateParameters DatabaseAccountUpdateParameters) (result DatabaseAccountsUpdateFuture, err error) {
1589 if tracing.IsEnabled() {
1590 ctx = tracing.StartSpan(ctx, fqdn+"/DatabaseAccountsClient.Update")
1591 defer func() {
1592 sc := -1
1593 if result.FutureAPI != nil && result.FutureAPI.Response() != nil {
1594 sc = result.FutureAPI.Response().StatusCode
1595 }
1596 tracing.EndSpan(ctx, sc, err)
1597 }()
1598 }
1599 if err := validation.Validate([]validation.Validation{
1600 {TargetValue: client.SubscriptionID,
1601 Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.MinLength, Rule: 1, Chain: nil}}},
1602 {TargetValue: resourceGroupName,
1603 Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
1604 {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
1605 {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}},
1606 {TargetValue: accountName,
1607 Constraints: []validation.Constraint{{Target: "accountName", Name: validation.MaxLength, Rule: 50, Chain: nil},
1608 {Target: "accountName", Name: validation.MinLength, Rule: 3, Chain: nil},
1609 {Target: "accountName", Name: validation.Pattern, Rule: `^[a-z0-9]+(-[a-z0-9]+)*`, Chain: nil}}}}); err != nil {
1610 return result, validation.NewError("documentdb.DatabaseAccountsClient", "Update", err.Error())
1611 }
1612
1613 req, err := client.UpdatePreparer(ctx, resourceGroupName, accountName, updateParameters)
1614 if err != nil {
1615 err = autorest.NewErrorWithError(err, "documentdb.DatabaseAccountsClient", "Update", nil, "Failure preparing request")
1616 return
1617 }
1618
1619 result, err = client.UpdateSender(req)
1620 if err != nil {
1621 err = autorest.NewErrorWithError(err, "documentdb.DatabaseAccountsClient", "Update", result.Response(), "Failure sending request")
1622 return
1623 }
1624
1625 return
1626 }
1627
1628
1629 func (client DatabaseAccountsClient) UpdatePreparer(ctx context.Context, resourceGroupName string, accountName string, updateParameters DatabaseAccountUpdateParameters) (*http.Request, error) {
1630 pathParameters := map[string]interface{}{
1631 "accountName": autorest.Encode("path", accountName),
1632 "resourceGroupName": autorest.Encode("path", resourceGroupName),
1633 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
1634 }
1635
1636 const APIVersion = "2021-04-01-preview"
1637 queryParameters := map[string]interface{}{
1638 "api-version": APIVersion,
1639 }
1640
1641 preparer := autorest.CreatePreparer(
1642 autorest.AsContentType("application/json; charset=utf-8"),
1643 autorest.AsPatch(),
1644 autorest.WithBaseURL(client.BaseURI),
1645 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}", pathParameters),
1646 autorest.WithJSON(updateParameters),
1647 autorest.WithQueryParameters(queryParameters))
1648 return preparer.Prepare((&http.Request{}).WithContext(ctx))
1649 }
1650
1651
1652
1653 func (client DatabaseAccountsClient) UpdateSender(req *http.Request) (future DatabaseAccountsUpdateFuture, err error) {
1654 var resp *http.Response
1655 future.FutureAPI = &azure.Future{}
1656 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client))
1657 if err != nil {
1658 return
1659 }
1660 var azf azure.Future
1661 azf, err = azure.NewFutureFromResponse(resp)
1662 future.FutureAPI = &azf
1663 future.Result = future.result
1664 return
1665 }
1666
1667
1668
1669 func (client DatabaseAccountsClient) UpdateResponder(resp *http.Response) (result DatabaseAccountGetResults, err error) {
1670 err = autorest.Respond(
1671 resp,
1672 azure.WithErrorUnlessStatusCode(http.StatusOK),
1673 autorest.ByUnmarshallingJSON(&result),
1674 autorest.ByClosing())
1675 result.Response = autorest.Response{Response: resp}
1676 return
1677 }
1678
View as plain text