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 ItemLevelRecoveryConnectionsClient struct {
19 BaseClient
20 }
21
22
23 func NewItemLevelRecoveryConnectionsClient(subscriptionID string) ItemLevelRecoveryConnectionsClient {
24 return NewItemLevelRecoveryConnectionsClientWithBaseURI(DefaultBaseURI, subscriptionID)
25 }
26
27
28
29
30 func NewItemLevelRecoveryConnectionsClientWithBaseURI(baseURI string, subscriptionID string) ItemLevelRecoveryConnectionsClient {
31 return ItemLevelRecoveryConnectionsClient{NewWithBaseURI(baseURI, subscriptionID)}
32 }
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47 func (client ItemLevelRecoveryConnectionsClient) Provision(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string, recoveryPointID string, parameters ILRRequestResource) (result autorest.Response, err error) {
48 if tracing.IsEnabled() {
49 ctx = tracing.StartSpan(ctx, fqdn+"/ItemLevelRecoveryConnectionsClient.Provision")
50 defer func() {
51 sc := -1
52 if result.Response != nil {
53 sc = result.Response.StatusCode
54 }
55 tracing.EndSpan(ctx, sc, err)
56 }()
57 }
58 req, err := client.ProvisionPreparer(ctx, vaultName, resourceGroupName, fabricName, containerName, protectedItemName, recoveryPointID, parameters)
59 if err != nil {
60 err = autorest.NewErrorWithError(err, "backup.ItemLevelRecoveryConnectionsClient", "Provision", nil, "Failure preparing request")
61 return
62 }
63
64 resp, err := client.ProvisionSender(req)
65 if err != nil {
66 result.Response = resp
67 err = autorest.NewErrorWithError(err, "backup.ItemLevelRecoveryConnectionsClient", "Provision", resp, "Failure sending request")
68 return
69 }
70
71 result, err = client.ProvisionResponder(resp)
72 if err != nil {
73 err = autorest.NewErrorWithError(err, "backup.ItemLevelRecoveryConnectionsClient", "Provision", resp, "Failure responding to request")
74 return
75 }
76
77 return
78 }
79
80
81 func (client ItemLevelRecoveryConnectionsClient) ProvisionPreparer(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string, recoveryPointID string, parameters ILRRequestResource) (*http.Request, error) {
82 pathParameters := map[string]interface{}{
83 "containerName": autorest.Encode("path", containerName),
84 "fabricName": autorest.Encode("path", fabricName),
85 "protectedItemName": autorest.Encode("path", protectedItemName),
86 "recoveryPointId": autorest.Encode("path", recoveryPointID),
87 "resourceGroupName": autorest.Encode("path", resourceGroupName),
88 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
89 "vaultName": autorest.Encode("path", vaultName),
90 }
91
92 const APIVersion = "2021-12-01"
93 queryParameters := map[string]interface{}{
94 "api-version": APIVersion,
95 }
96
97 preparer := autorest.CreatePreparer(
98 autorest.AsContentType("application/json; charset=utf-8"),
99 autorest.AsPost(),
100 autorest.WithBaseURL(client.BaseURI),
101 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/provisionInstantItemRecovery", pathParameters),
102 autorest.WithJSON(parameters),
103 autorest.WithQueryParameters(queryParameters))
104 return preparer.Prepare((&http.Request{}).WithContext(ctx))
105 }
106
107
108
109 func (client ItemLevelRecoveryConnectionsClient) ProvisionSender(req *http.Request) (*http.Response, error) {
110 return client.Send(req, azure.DoRetryWithRegistration(client.Client))
111 }
112
113
114
115 func (client ItemLevelRecoveryConnectionsClient) ProvisionResponder(resp *http.Response) (result autorest.Response, err error) {
116 err = autorest.Respond(
117 resp,
118 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted),
119 autorest.ByClosing())
120 result.Response = resp
121 return
122 }
123
124
125
126
127
128
129
130
131
132
133
134
135 func (client ItemLevelRecoveryConnectionsClient) Revoke(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string, recoveryPointID string) (result autorest.Response, err error) {
136 if tracing.IsEnabled() {
137 ctx = tracing.StartSpan(ctx, fqdn+"/ItemLevelRecoveryConnectionsClient.Revoke")
138 defer func() {
139 sc := -1
140 if result.Response != nil {
141 sc = result.Response.StatusCode
142 }
143 tracing.EndSpan(ctx, sc, err)
144 }()
145 }
146 req, err := client.RevokePreparer(ctx, vaultName, resourceGroupName, fabricName, containerName, protectedItemName, recoveryPointID)
147 if err != nil {
148 err = autorest.NewErrorWithError(err, "backup.ItemLevelRecoveryConnectionsClient", "Revoke", nil, "Failure preparing request")
149 return
150 }
151
152 resp, err := client.RevokeSender(req)
153 if err != nil {
154 result.Response = resp
155 err = autorest.NewErrorWithError(err, "backup.ItemLevelRecoveryConnectionsClient", "Revoke", resp, "Failure sending request")
156 return
157 }
158
159 result, err = client.RevokeResponder(resp)
160 if err != nil {
161 err = autorest.NewErrorWithError(err, "backup.ItemLevelRecoveryConnectionsClient", "Revoke", resp, "Failure responding to request")
162 return
163 }
164
165 return
166 }
167
168
169 func (client ItemLevelRecoveryConnectionsClient) RevokePreparer(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string, recoveryPointID string) (*http.Request, error) {
170 pathParameters := map[string]interface{}{
171 "containerName": autorest.Encode("path", containerName),
172 "fabricName": autorest.Encode("path", fabricName),
173 "protectedItemName": autorest.Encode("path", protectedItemName),
174 "recoveryPointId": autorest.Encode("path", recoveryPointID),
175 "resourceGroupName": autorest.Encode("path", resourceGroupName),
176 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
177 "vaultName": autorest.Encode("path", vaultName),
178 }
179
180 const APIVersion = "2021-12-01"
181 queryParameters := map[string]interface{}{
182 "api-version": APIVersion,
183 }
184
185 preparer := autorest.CreatePreparer(
186 autorest.AsPost(),
187 autorest.WithBaseURL(client.BaseURI),
188 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/revokeInstantItemRecovery", pathParameters),
189 autorest.WithQueryParameters(queryParameters))
190 return preparer.Prepare((&http.Request{}).WithContext(ctx))
191 }
192
193
194
195 func (client ItemLevelRecoveryConnectionsClient) RevokeSender(req *http.Request) (*http.Response, error) {
196 return client.Send(req, azure.DoRetryWithRegistration(client.Client))
197 }
198
199
200
201 func (client ItemLevelRecoveryConnectionsClient) RevokeResponder(resp *http.Response) (result autorest.Response, err error) {
202 err = autorest.Respond(
203 resp,
204 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted),
205 autorest.ByClosing())
206 result.Response = resp
207 return
208 }
209
View as plain text