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 ValidateOperationClient struct {
19 BaseClient
20 }
21
22
23 func NewValidateOperationClient(subscriptionID string) ValidateOperationClient {
24 return NewValidateOperationClientWithBaseURI(DefaultBaseURI, subscriptionID)
25 }
26
27
28
29
30 func NewValidateOperationClientWithBaseURI(baseURI string, subscriptionID string) ValidateOperationClient {
31 return ValidateOperationClient{NewWithBaseURI(baseURI, subscriptionID)}
32 }
33
34
35
36
37
38
39
40 func (client ValidateOperationClient) Trigger(ctx context.Context, vaultName string, resourceGroupName string, parameters BasicValidateOperationRequest) (result ValidateOperationTriggerFuture, err error) {
41 if tracing.IsEnabled() {
42 ctx = tracing.StartSpan(ctx, fqdn+"/ValidateOperationClient.Trigger")
43 defer func() {
44 sc := -1
45 if result.FutureAPI != nil && result.FutureAPI.Response() != nil {
46 sc = result.FutureAPI.Response().StatusCode
47 }
48 tracing.EndSpan(ctx, sc, err)
49 }()
50 }
51 req, err := client.TriggerPreparer(ctx, vaultName, resourceGroupName, parameters)
52 if err != nil {
53 err = autorest.NewErrorWithError(err, "backup.ValidateOperationClient", "Trigger", nil, "Failure preparing request")
54 return
55 }
56
57 result, err = client.TriggerSender(req)
58 if err != nil {
59 err = autorest.NewErrorWithError(err, "backup.ValidateOperationClient", "Trigger", result.Response(), "Failure sending request")
60 return
61 }
62
63 return
64 }
65
66
67 func (client ValidateOperationClient) TriggerPreparer(ctx context.Context, vaultName string, resourceGroupName string, parameters BasicValidateOperationRequest) (*http.Request, error) {
68 pathParameters := map[string]interface{}{
69 "resourceGroupName": autorest.Encode("path", resourceGroupName),
70 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
71 "vaultName": autorest.Encode("path", vaultName),
72 }
73
74 const APIVersion = "2021-12-01"
75 queryParameters := map[string]interface{}{
76 "api-version": APIVersion,
77 }
78
79 preparer := autorest.CreatePreparer(
80 autorest.AsContentType("application/json; charset=utf-8"),
81 autorest.AsPost(),
82 autorest.WithBaseURL(client.BaseURI),
83 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupTriggerValidateOperation", pathParameters),
84 autorest.WithJSON(parameters),
85 autorest.WithQueryParameters(queryParameters))
86 return preparer.Prepare((&http.Request{}).WithContext(ctx))
87 }
88
89
90
91 func (client ValidateOperationClient) TriggerSender(req *http.Request) (future ValidateOperationTriggerFuture, err error) {
92 var resp *http.Response
93 future.FutureAPI = &azure.Future{}
94 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client))
95 if err != nil {
96 return
97 }
98 var azf azure.Future
99 azf, err = azure.NewFutureFromResponse(resp)
100 future.FutureAPI = &azf
101 future.Result = future.result
102 return
103 }
104
105
106
107 func (client ValidateOperationClient) TriggerResponder(resp *http.Response) (result autorest.Response, err error) {
108 err = autorest.Respond(
109 resp,
110 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted),
111 autorest.ByClosing())
112 result.Response = resp
113 return
114 }
115
View as plain text