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