1 package siterecovery
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 ReplicationEventsClient struct {
19 BaseClient
20 }
21
22
23 func NewReplicationEventsClient(subscriptionID string, resourceGroupName string, resourceName string) ReplicationEventsClient {
24 return NewReplicationEventsClientWithBaseURI(DefaultBaseURI, subscriptionID, resourceGroupName, resourceName)
25 }
26
27
28
29
30 func NewReplicationEventsClientWithBaseURI(baseURI string, subscriptionID string, resourceGroupName string, resourceName string) ReplicationEventsClient {
31 return ReplicationEventsClient{NewWithBaseURI(baseURI, subscriptionID, resourceGroupName, resourceName)}
32 }
33
34
35
36
37 func (client ReplicationEventsClient) Get(ctx context.Context, eventName string) (result Event, err error) {
38 if tracing.IsEnabled() {
39 ctx = tracing.StartSpan(ctx, fqdn+"/ReplicationEventsClient.Get")
40 defer func() {
41 sc := -1
42 if result.Response.Response != nil {
43 sc = result.Response.Response.StatusCode
44 }
45 tracing.EndSpan(ctx, sc, err)
46 }()
47 }
48 req, err := client.GetPreparer(ctx, eventName)
49 if err != nil {
50 err = autorest.NewErrorWithError(err, "siterecovery.ReplicationEventsClient", "Get", nil, "Failure preparing request")
51 return
52 }
53
54 resp, err := client.GetSender(req)
55 if err != nil {
56 result.Response = autorest.Response{Response: resp}
57 err = autorest.NewErrorWithError(err, "siterecovery.ReplicationEventsClient", "Get", resp, "Failure sending request")
58 return
59 }
60
61 result, err = client.GetResponder(resp)
62 if err != nil {
63 err = autorest.NewErrorWithError(err, "siterecovery.ReplicationEventsClient", "Get", resp, "Failure responding to request")
64 return
65 }
66
67 return
68 }
69
70
71 func (client ReplicationEventsClient) GetPreparer(ctx context.Context, eventName string) (*http.Request, error) {
72 pathParameters := map[string]interface{}{
73 "eventName": autorest.Encode("path", eventName),
74 "resourceGroupName": autorest.Encode("path", client.ResourceGroupName),
75 "resourceName": autorest.Encode("path", client.ResourceName),
76 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
77 }
78
79 const APIVersion = "2018-07-10"
80 queryParameters := map[string]interface{}{
81 "api-version": APIVersion,
82 }
83
84 preparer := autorest.CreatePreparer(
85 autorest.AsGet(),
86 autorest.WithBaseURL(client.BaseURI),
87 autorest.WithPathParameters("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationEvents/{eventName}", pathParameters),
88 autorest.WithQueryParameters(queryParameters))
89 return preparer.Prepare((&http.Request{}).WithContext(ctx))
90 }
91
92
93
94 func (client ReplicationEventsClient) GetSender(req *http.Request) (*http.Response, error) {
95 return client.Send(req, azure.DoRetryWithRegistration(client.Client))
96 }
97
98
99
100 func (client ReplicationEventsClient) GetResponder(resp *http.Response) (result Event, err error) {
101 err = autorest.Respond(
102 resp,
103 azure.WithErrorUnlessStatusCode(http.StatusOK),
104 autorest.ByUnmarshallingJSON(&result),
105 autorest.ByClosing())
106 result.Response = autorest.Response{Response: resp}
107 return
108 }
109
110
111
112
113 func (client ReplicationEventsClient) List(ctx context.Context, filter string) (result EventCollectionPage, err error) {
114 if tracing.IsEnabled() {
115 ctx = tracing.StartSpan(ctx, fqdn+"/ReplicationEventsClient.List")
116 defer func() {
117 sc := -1
118 if result.ec.Response.Response != nil {
119 sc = result.ec.Response.Response.StatusCode
120 }
121 tracing.EndSpan(ctx, sc, err)
122 }()
123 }
124 result.fn = client.listNextResults
125 req, err := client.ListPreparer(ctx, filter)
126 if err != nil {
127 err = autorest.NewErrorWithError(err, "siterecovery.ReplicationEventsClient", "List", nil, "Failure preparing request")
128 return
129 }
130
131 resp, err := client.ListSender(req)
132 if err != nil {
133 result.ec.Response = autorest.Response{Response: resp}
134 err = autorest.NewErrorWithError(err, "siterecovery.ReplicationEventsClient", "List", resp, "Failure sending request")
135 return
136 }
137
138 result.ec, err = client.ListResponder(resp)
139 if err != nil {
140 err = autorest.NewErrorWithError(err, "siterecovery.ReplicationEventsClient", "List", resp, "Failure responding to request")
141 return
142 }
143 if result.ec.hasNextLink() && result.ec.IsEmpty() {
144 err = result.NextWithContext(ctx)
145 return
146 }
147
148 return
149 }
150
151
152 func (client ReplicationEventsClient) ListPreparer(ctx context.Context, filter string) (*http.Request, error) {
153 pathParameters := map[string]interface{}{
154 "resourceGroupName": autorest.Encode("path", client.ResourceGroupName),
155 "resourceName": autorest.Encode("path", client.ResourceName),
156 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
157 }
158
159 const APIVersion = "2018-07-10"
160 queryParameters := map[string]interface{}{
161 "api-version": APIVersion,
162 }
163 if len(filter) > 0 {
164 queryParameters["$filter"] = autorest.Encode("query", filter)
165 }
166
167 preparer := autorest.CreatePreparer(
168 autorest.AsGet(),
169 autorest.WithBaseURL(client.BaseURI),
170 autorest.WithPathParameters("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationEvents", pathParameters),
171 autorest.WithQueryParameters(queryParameters))
172 return preparer.Prepare((&http.Request{}).WithContext(ctx))
173 }
174
175
176
177 func (client ReplicationEventsClient) ListSender(req *http.Request) (*http.Response, error) {
178 return client.Send(req, azure.DoRetryWithRegistration(client.Client))
179 }
180
181
182
183 func (client ReplicationEventsClient) ListResponder(resp *http.Response) (result EventCollection, err error) {
184 err = autorest.Respond(
185 resp,
186 azure.WithErrorUnlessStatusCode(http.StatusOK),
187 autorest.ByUnmarshallingJSON(&result),
188 autorest.ByClosing())
189 result.Response = autorest.Response{Response: resp}
190 return
191 }
192
193
194 func (client ReplicationEventsClient) listNextResults(ctx context.Context, lastResults EventCollection) (result EventCollection, err error) {
195 req, err := lastResults.eventCollectionPreparer(ctx)
196 if err != nil {
197 return result, autorest.NewErrorWithError(err, "siterecovery.ReplicationEventsClient", "listNextResults", nil, "Failure preparing next results request")
198 }
199 if req == nil {
200 return
201 }
202 resp, err := client.ListSender(req)
203 if err != nil {
204 result.Response = autorest.Response{Response: resp}
205 return result, autorest.NewErrorWithError(err, "siterecovery.ReplicationEventsClient", "listNextResults", resp, "Failure sending next results request")
206 }
207 result, err = client.ListResponder(resp)
208 if err != nil {
209 err = autorest.NewErrorWithError(err, "siterecovery.ReplicationEventsClient", "listNextResults", resp, "Failure responding to next results request")
210 }
211 return
212 }
213
214
215 func (client ReplicationEventsClient) ListComplete(ctx context.Context, filter string) (result EventCollectionIterator, err error) {
216 if tracing.IsEnabled() {
217 ctx = tracing.StartSpan(ctx, fqdn+"/ReplicationEventsClient.List")
218 defer func() {
219 sc := -1
220 if result.Response().Response.Response != nil {
221 sc = result.page.Response().Response.Response.StatusCode
222 }
223 tracing.EndSpan(ctx, sc, err)
224 }()
225 }
226 result.page, err = client.List(ctx, filter)
227 return
228 }
229
View as plain text