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 ReplicationVaultHealthClient struct {
19 BaseClient
20 }
21
22
23 func NewReplicationVaultHealthClient(subscriptionID string, resourceGroupName string, resourceName string) ReplicationVaultHealthClient {
24 return NewReplicationVaultHealthClientWithBaseURI(DefaultBaseURI, subscriptionID, resourceGroupName, resourceName)
25 }
26
27
28
29
30 func NewReplicationVaultHealthClientWithBaseURI(baseURI string, subscriptionID string, resourceGroupName string, resourceName string) ReplicationVaultHealthClient {
31 return ReplicationVaultHealthClient{NewWithBaseURI(baseURI, subscriptionID, resourceGroupName, resourceName)}
32 }
33
34
35 func (client ReplicationVaultHealthClient) Get(ctx context.Context) (result VaultHealthDetails, err error) {
36 if tracing.IsEnabled() {
37 ctx = tracing.StartSpan(ctx, fqdn+"/ReplicationVaultHealthClient.Get")
38 defer func() {
39 sc := -1
40 if result.Response.Response != nil {
41 sc = result.Response.Response.StatusCode
42 }
43 tracing.EndSpan(ctx, sc, err)
44 }()
45 }
46 req, err := client.GetPreparer(ctx)
47 if err != nil {
48 err = autorest.NewErrorWithError(err, "siterecovery.ReplicationVaultHealthClient", "Get", nil, "Failure preparing request")
49 return
50 }
51
52 resp, err := client.GetSender(req)
53 if err != nil {
54 result.Response = autorest.Response{Response: resp}
55 err = autorest.NewErrorWithError(err, "siterecovery.ReplicationVaultHealthClient", "Get", resp, "Failure sending request")
56 return
57 }
58
59 result, err = client.GetResponder(resp)
60 if err != nil {
61 err = autorest.NewErrorWithError(err, "siterecovery.ReplicationVaultHealthClient", "Get", resp, "Failure responding to request")
62 return
63 }
64
65 return
66 }
67
68
69 func (client ReplicationVaultHealthClient) GetPreparer(ctx context.Context) (*http.Request, error) {
70 pathParameters := map[string]interface{}{
71 "resourceGroupName": autorest.Encode("path", client.ResourceGroupName),
72 "resourceName": autorest.Encode("path", client.ResourceName),
73 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
74 }
75
76 const APIVersion = "2016-08-10"
77 queryParameters := map[string]interface{}{
78 "api-version": APIVersion,
79 }
80
81 preparer := autorest.CreatePreparer(
82 autorest.AsGet(),
83 autorest.WithBaseURL(client.BaseURI),
84 autorest.WithPathParameters("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationVaultHealth", pathParameters),
85 autorest.WithQueryParameters(queryParameters))
86 return preparer.Prepare((&http.Request{}).WithContext(ctx))
87 }
88
89
90
91 func (client ReplicationVaultHealthClient) GetSender(req *http.Request) (*http.Response, error) {
92 return client.Send(req, azure.DoRetryWithRegistration(client.Client))
93 }
94
95
96
97 func (client ReplicationVaultHealthClient) GetResponder(resp *http.Response) (result VaultHealthDetails, err error) {
98 err = autorest.Respond(
99 resp,
100 azure.WithErrorUnlessStatusCode(http.StatusOK),
101 autorest.ByUnmarshallingJSON(&result),
102 autorest.ByClosing())
103 result.Response = autorest.Response{Response: resp}
104 return
105 }
106
View as plain text