1 package backup
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/tracing"
14 "net/http"
15 )
16
17
18 type UsageSummariesCRRClient struct {
19 BaseClient
20 }
21
22
23 func NewUsageSummariesCRRClient(subscriptionID string) UsageSummariesCRRClient {
24 return NewUsageSummariesCRRClientWithBaseURI(DefaultBaseURI, subscriptionID)
25 }
26
27
28
29
30 func NewUsageSummariesCRRClientWithBaseURI(baseURI string, subscriptionID string) UsageSummariesCRRClient {
31 return UsageSummariesCRRClient{NewWithBaseURI(baseURI, subscriptionID)}
32 }
33
34
35
36
37
38
39
40 func (client UsageSummariesCRRClient) List(ctx context.Context, vaultName string, resourceGroupName string, filter string, skipToken string) (result ManagementUsageList, err error) {
41 if tracing.IsEnabled() {
42 ctx = tracing.StartSpan(ctx, fqdn+"/UsageSummariesCRRClient.List")
43 defer func() {
44 sc := -1
45 if result.Response.Response != nil {
46 sc = result.Response.Response.StatusCode
47 }
48 tracing.EndSpan(ctx, sc, err)
49 }()
50 }
51 req, err := client.ListPreparer(ctx, vaultName, resourceGroupName, filter, skipToken)
52 if err != nil {
53 err = autorest.NewErrorWithError(err, "backup.UsageSummariesCRRClient", "List", nil, "Failure preparing request")
54 return
55 }
56
57 resp, err := client.ListSender(req)
58 if err != nil {
59 result.Response = autorest.Response{Response: resp}
60 err = autorest.NewErrorWithError(err, "backup.UsageSummariesCRRClient", "List", resp, "Failure sending request")
61 return
62 }
63
64 result, err = client.ListResponder(resp)
65 if err != nil {
66 err = autorest.NewErrorWithError(err, "backup.UsageSummariesCRRClient", "List", resp, "Failure responding to request")
67 return
68 }
69
70 return
71 }
72
73
74 func (client UsageSummariesCRRClient) ListPreparer(ctx context.Context, vaultName string, resourceGroupName string, filter string, skipToken string) (*http.Request, error) {
75 pathParameters := map[string]interface{}{
76 "resourceGroupName": autorest.Encode("path", resourceGroupName),
77 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
78 "vaultName": autorest.Encode("path", vaultName),
79 }
80
81 const APIVersion = "2018-12-20"
82 queryParameters := map[string]interface{}{
83 "api-version": APIVersion,
84 }
85 if len(filter) > 0 {
86 queryParameters["$filter"] = autorest.Encode("query", filter)
87 }
88 if len(skipToken) > 0 {
89 queryParameters["$skipToken"] = autorest.Encode("query", skipToken)
90 }
91
92 preparer := autorest.CreatePreparer(
93 autorest.AsGet(),
94 autorest.WithBaseURL(client.BaseURI),
95 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupUsageSummaries", pathParameters),
96 autorest.WithQueryParameters(queryParameters))
97 return preparer.Prepare((&http.Request{}).WithContext(ctx))
98 }
99
100
101
102 func (client UsageSummariesCRRClient) ListSender(req *http.Request) (*http.Response, error) {
103 return client.Send(req, azure.DoRetryWithRegistration(client.Client))
104 }
105
106
107
108 func (client UsageSummariesCRRClient) ListResponder(resp *http.Response) (result ManagementUsageList, err error) {
109 err = autorest.Respond(
110 resp,
111 azure.WithErrorUnlessStatusCode(http.StatusOK),
112 autorest.ByUnmarshallingJSON(&result),
113 autorest.ByClosing())
114 result.Response = autorest.Response{Response: resp}
115 return
116 }
117
View as plain text