1 package activitylogs
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/autorest/validation"
14 "github.com/Azure/go-autorest/tracing"
15 "net/http"
16 )
17
18
19 type Client struct {
20 BaseClient
21 }
22
23
24 func NewClient(subscriptionID string) Client {
25 return NewClientWithBaseURI(DefaultBaseURI, subscriptionID)
26 }
27
28
29
30 func NewClientWithBaseURI(baseURI string, subscriptionID string) Client {
31 return Client{NewWithBaseURI(baseURI, subscriptionID)}
32 }
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53 func (client Client) List(ctx context.Context, filter string, selectParameter string) (result EventDataCollectionPage, err error) {
54 if tracing.IsEnabled() {
55 ctx = tracing.StartSpan(ctx, fqdn+"/Client.List")
56 defer func() {
57 sc := -1
58 if result.edc.Response.Response != nil {
59 sc = result.edc.Response.Response.StatusCode
60 }
61 tracing.EndSpan(ctx, sc, err)
62 }()
63 }
64 if err := validation.Validate([]validation.Validation{
65 {TargetValue: client.SubscriptionID,
66 Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil {
67 return result, validation.NewError("activitylogs.Client", "List", err.Error())
68 }
69
70 result.fn = client.listNextResults
71 req, err := client.ListPreparer(ctx, filter, selectParameter)
72 if err != nil {
73 err = autorest.NewErrorWithError(err, "activitylogs.Client", "List", nil, "Failure preparing request")
74 return
75 }
76
77 resp, err := client.ListSender(req)
78 if err != nil {
79 result.edc.Response = autorest.Response{Response: resp}
80 err = autorest.NewErrorWithError(err, "activitylogs.Client", "List", resp, "Failure sending request")
81 return
82 }
83
84 result.edc, err = client.ListResponder(resp)
85 if err != nil {
86 err = autorest.NewErrorWithError(err, "activitylogs.Client", "List", resp, "Failure responding to request")
87 return
88 }
89 if result.edc.hasNextLink() && result.edc.IsEmpty() {
90 err = result.NextWithContext(ctx)
91 return
92 }
93
94 return
95 }
96
97
98 func (client Client) ListPreparer(ctx context.Context, filter string, selectParameter string) (*http.Request, error) {
99 pathParameters := map[string]interface{}{
100 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
101 }
102
103 const APIVersion = "2015-04-01"
104 queryParameters := map[string]interface{}{
105 "$filter": autorest.Encode("query", filter),
106 "api-version": APIVersion,
107 }
108 if len(selectParameter) > 0 {
109 queryParameters["$select"] = autorest.Encode("query", selectParameter)
110 }
111
112 preparer := autorest.CreatePreparer(
113 autorest.AsGet(),
114 autorest.WithBaseURL(client.BaseURI),
115 autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Insights/eventtypes/management/values", pathParameters),
116 autorest.WithQueryParameters(queryParameters))
117 return preparer.Prepare((&http.Request{}).WithContext(ctx))
118 }
119
120
121
122 func (client Client) ListSender(req *http.Request) (*http.Response, error) {
123 return client.Send(req, azure.DoRetryWithRegistration(client.Client))
124 }
125
126
127
128 func (client Client) ListResponder(resp *http.Response) (result EventDataCollection, err error) {
129 err = autorest.Respond(
130 resp,
131 azure.WithErrorUnlessStatusCode(http.StatusOK),
132 autorest.ByUnmarshallingJSON(&result),
133 autorest.ByClosing())
134 result.Response = autorest.Response{Response: resp}
135 return
136 }
137
138
139 func (client Client) listNextResults(ctx context.Context, lastResults EventDataCollection) (result EventDataCollection, err error) {
140 req, err := lastResults.eventDataCollectionPreparer(ctx)
141 if err != nil {
142 return result, autorest.NewErrorWithError(err, "activitylogs.Client", "listNextResults", nil, "Failure preparing next results request")
143 }
144 if req == nil {
145 return
146 }
147 resp, err := client.ListSender(req)
148 if err != nil {
149 result.Response = autorest.Response{Response: resp}
150 return result, autorest.NewErrorWithError(err, "activitylogs.Client", "listNextResults", resp, "Failure sending next results request")
151 }
152 result, err = client.ListResponder(resp)
153 if err != nil {
154 err = autorest.NewErrorWithError(err, "activitylogs.Client", "listNextResults", resp, "Failure responding to next results request")
155 }
156 return
157 }
158
159
160 func (client Client) ListComplete(ctx context.Context, filter string, selectParameter string) (result EventDataCollectionIterator, err error) {
161 if tracing.IsEnabled() {
162 ctx = tracing.StartSpan(ctx, fqdn+"/Client.List")
163 defer func() {
164 sc := -1
165 if result.Response().Response.Response != nil {
166 sc = result.page.Response().Response.Response.StatusCode
167 }
168 tracing.EndSpan(ctx, sc, err)
169 }()
170 }
171 result.page, err = client.List(ctx, filter, selectParameter)
172 return
173 }
174
View as plain text