1 package servicemap
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/date"
14 "github.com/Azure/go-autorest/autorest/validation"
15 "github.com/Azure/go-autorest/tracing"
16 "net/http"
17 )
18
19
20 type ClientGroupsClient struct {
21 BaseClient
22 }
23
24
25 func NewClientGroupsClient(subscriptionID string) ClientGroupsClient {
26 return NewClientGroupsClientWithBaseURI(DefaultBaseURI, subscriptionID)
27 }
28
29
30
31 func NewClientGroupsClientWithBaseURI(baseURI string, subscriptionID string) ClientGroupsClient {
32 return ClientGroupsClient{NewWithBaseURI(baseURI, subscriptionID)}
33 }
34
35
36
37
38
39
40
41
42
43
44 func (client ClientGroupsClient) Get(ctx context.Context, resourceGroupName string, workspaceName string, clientGroupName string, startTime *date.Time, endTime *date.Time) (result ClientGroup, err error) {
45 if tracing.IsEnabled() {
46 ctx = tracing.StartSpan(ctx, fqdn+"/ClientGroupsClient.Get")
47 defer func() {
48 sc := -1
49 if result.Response.Response != nil {
50 sc = result.Response.Response.StatusCode
51 }
52 tracing.EndSpan(ctx, sc, err)
53 }()
54 }
55 if err := validation.Validate([]validation.Validation{
56 {TargetValue: resourceGroupName,
57 Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 64, Chain: nil},
58 {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
59 {Target: "resourceGroupName", Name: validation.Pattern, Rule: `[a-zA-Z0-9_-]+`, Chain: nil}}},
60 {TargetValue: workspaceName,
61 Constraints: []validation.Constraint{{Target: "workspaceName", Name: validation.MaxLength, Rule: 63, Chain: nil},
62 {Target: "workspaceName", Name: validation.MinLength, Rule: 3, Chain: nil},
63 {Target: "workspaceName", Name: validation.Pattern, Rule: `[a-zA-Z0-9_][a-zA-Z0-9_-]+[a-zA-Z0-9_]`, Chain: nil}}},
64 {TargetValue: clientGroupName,
65 Constraints: []validation.Constraint{{Target: "clientGroupName", Name: validation.MaxLength, Rule: 256, Chain: nil},
66 {Target: "clientGroupName", Name: validation.MinLength, Rule: 3, Chain: nil}}}}); err != nil {
67 return result, validation.NewError("servicemap.ClientGroupsClient", "Get", err.Error())
68 }
69
70 req, err := client.GetPreparer(ctx, resourceGroupName, workspaceName, clientGroupName, startTime, endTime)
71 if err != nil {
72 err = autorest.NewErrorWithError(err, "servicemap.ClientGroupsClient", "Get", nil, "Failure preparing request")
73 return
74 }
75
76 resp, err := client.GetSender(req)
77 if err != nil {
78 result.Response = autorest.Response{Response: resp}
79 err = autorest.NewErrorWithError(err, "servicemap.ClientGroupsClient", "Get", resp, "Failure sending request")
80 return
81 }
82
83 result, err = client.GetResponder(resp)
84 if err != nil {
85 err = autorest.NewErrorWithError(err, "servicemap.ClientGroupsClient", "Get", resp, "Failure responding to request")
86 return
87 }
88
89 return
90 }
91
92
93 func (client ClientGroupsClient) GetPreparer(ctx context.Context, resourceGroupName string, workspaceName string, clientGroupName string, startTime *date.Time, endTime *date.Time) (*http.Request, error) {
94 pathParameters := map[string]interface{}{
95 "clientGroupName": autorest.Encode("path", clientGroupName),
96 "resourceGroupName": autorest.Encode("path", resourceGroupName),
97 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
98 "workspaceName": autorest.Encode("path", workspaceName),
99 }
100
101 const APIVersion = "2015-11-01-preview"
102 queryParameters := map[string]interface{}{
103 "api-version": APIVersion,
104 }
105 if startTime != nil {
106 queryParameters["startTime"] = autorest.Encode("query", *startTime)
107 }
108 if endTime != nil {
109 queryParameters["endTime"] = autorest.Encode("query", *endTime)
110 }
111
112 preparer := autorest.CreatePreparer(
113 autorest.AsGet(),
114 autorest.WithBaseURL(client.BaseURI),
115 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/clientGroups/{clientGroupName}", pathParameters),
116 autorest.WithQueryParameters(queryParameters))
117 return preparer.Prepare((&http.Request{}).WithContext(ctx))
118 }
119
120
121
122 func (client ClientGroupsClient) GetSender(req *http.Request) (*http.Response, error) {
123 return client.Send(req, azure.DoRetryWithRegistration(client.Client))
124 }
125
126
127
128 func (client ClientGroupsClient) GetResponder(resp *http.Response) (result ClientGroup, 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
140
141
142
143
144
145
146
147 func (client ClientGroupsClient) GetMembersCount(ctx context.Context, resourceGroupName string, workspaceName string, clientGroupName string, startTime *date.Time, endTime *date.Time) (result ClientGroupMembersCount, err error) {
148 if tracing.IsEnabled() {
149 ctx = tracing.StartSpan(ctx, fqdn+"/ClientGroupsClient.GetMembersCount")
150 defer func() {
151 sc := -1
152 if result.Response.Response != nil {
153 sc = result.Response.Response.StatusCode
154 }
155 tracing.EndSpan(ctx, sc, err)
156 }()
157 }
158 if err := validation.Validate([]validation.Validation{
159 {TargetValue: resourceGroupName,
160 Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 64, Chain: nil},
161 {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
162 {Target: "resourceGroupName", Name: validation.Pattern, Rule: `[a-zA-Z0-9_-]+`, Chain: nil}}},
163 {TargetValue: workspaceName,
164 Constraints: []validation.Constraint{{Target: "workspaceName", Name: validation.MaxLength, Rule: 63, Chain: nil},
165 {Target: "workspaceName", Name: validation.MinLength, Rule: 3, Chain: nil},
166 {Target: "workspaceName", Name: validation.Pattern, Rule: `[a-zA-Z0-9_][a-zA-Z0-9_-]+[a-zA-Z0-9_]`, Chain: nil}}},
167 {TargetValue: clientGroupName,
168 Constraints: []validation.Constraint{{Target: "clientGroupName", Name: validation.MaxLength, Rule: 256, Chain: nil},
169 {Target: "clientGroupName", Name: validation.MinLength, Rule: 3, Chain: nil}}}}); err != nil {
170 return result, validation.NewError("servicemap.ClientGroupsClient", "GetMembersCount", err.Error())
171 }
172
173 req, err := client.GetMembersCountPreparer(ctx, resourceGroupName, workspaceName, clientGroupName, startTime, endTime)
174 if err != nil {
175 err = autorest.NewErrorWithError(err, "servicemap.ClientGroupsClient", "GetMembersCount", nil, "Failure preparing request")
176 return
177 }
178
179 resp, err := client.GetMembersCountSender(req)
180 if err != nil {
181 result.Response = autorest.Response{Response: resp}
182 err = autorest.NewErrorWithError(err, "servicemap.ClientGroupsClient", "GetMembersCount", resp, "Failure sending request")
183 return
184 }
185
186 result, err = client.GetMembersCountResponder(resp)
187 if err != nil {
188 err = autorest.NewErrorWithError(err, "servicemap.ClientGroupsClient", "GetMembersCount", resp, "Failure responding to request")
189 return
190 }
191
192 return
193 }
194
195
196 func (client ClientGroupsClient) GetMembersCountPreparer(ctx context.Context, resourceGroupName string, workspaceName string, clientGroupName string, startTime *date.Time, endTime *date.Time) (*http.Request, error) {
197 pathParameters := map[string]interface{}{
198 "clientGroupName": autorest.Encode("path", clientGroupName),
199 "resourceGroupName": autorest.Encode("path", resourceGroupName),
200 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
201 "workspaceName": autorest.Encode("path", workspaceName),
202 }
203
204 const APIVersion = "2015-11-01-preview"
205 queryParameters := map[string]interface{}{
206 "api-version": APIVersion,
207 }
208 if startTime != nil {
209 queryParameters["startTime"] = autorest.Encode("query", *startTime)
210 }
211 if endTime != nil {
212 queryParameters["endTime"] = autorest.Encode("query", *endTime)
213 }
214
215 preparer := autorest.CreatePreparer(
216 autorest.AsGet(),
217 autorest.WithBaseURL(client.BaseURI),
218 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/clientGroups/{clientGroupName}/membersCount", pathParameters),
219 autorest.WithQueryParameters(queryParameters))
220 return preparer.Prepare((&http.Request{}).WithContext(ctx))
221 }
222
223
224
225 func (client ClientGroupsClient) GetMembersCountSender(req *http.Request) (*http.Response, error) {
226 return client.Send(req, azure.DoRetryWithRegistration(client.Client))
227 }
228
229
230
231 func (client ClientGroupsClient) GetMembersCountResponder(resp *http.Response) (result ClientGroupMembersCount, err error) {
232 err = autorest.Respond(
233 resp,
234 azure.WithErrorUnlessStatusCode(http.StatusOK),
235 autorest.ByUnmarshallingJSON(&result),
236 autorest.ByClosing())
237 result.Response = autorest.Response{Response: resp}
238 return
239 }
240
241
242
243
244
245
246
247
248
249
250
251 func (client ClientGroupsClient) ListMembers(ctx context.Context, resourceGroupName string, workspaceName string, clientGroupName string, startTime *date.Time, endTime *date.Time, top *int32) (result ClientGroupMembersCollectionPage, err error) {
252 if tracing.IsEnabled() {
253 ctx = tracing.StartSpan(ctx, fqdn+"/ClientGroupsClient.ListMembers")
254 defer func() {
255 sc := -1
256 if result.cgmc.Response.Response != nil {
257 sc = result.cgmc.Response.Response.StatusCode
258 }
259 tracing.EndSpan(ctx, sc, err)
260 }()
261 }
262 if err := validation.Validate([]validation.Validation{
263 {TargetValue: resourceGroupName,
264 Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 64, Chain: nil},
265 {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
266 {Target: "resourceGroupName", Name: validation.Pattern, Rule: `[a-zA-Z0-9_-]+`, Chain: nil}}},
267 {TargetValue: workspaceName,
268 Constraints: []validation.Constraint{{Target: "workspaceName", Name: validation.MaxLength, Rule: 63, Chain: nil},
269 {Target: "workspaceName", Name: validation.MinLength, Rule: 3, Chain: nil},
270 {Target: "workspaceName", Name: validation.Pattern, Rule: `[a-zA-Z0-9_][a-zA-Z0-9_-]+[a-zA-Z0-9_]`, Chain: nil}}},
271 {TargetValue: clientGroupName,
272 Constraints: []validation.Constraint{{Target: "clientGroupName", Name: validation.MaxLength, Rule: 256, Chain: nil},
273 {Target: "clientGroupName", Name: validation.MinLength, Rule: 3, Chain: nil}}},
274 {TargetValue: top,
275 Constraints: []validation.Constraint{{Target: "top", Name: validation.Null, Rule: false,
276 Chain: []validation.Constraint{{Target: "top", Name: validation.InclusiveMaximum, Rule: int64(200), Chain: nil},
277 {Target: "top", Name: validation.InclusiveMinimum, Rule: int64(1), Chain: nil},
278 }}}}}); err != nil {
279 return result, validation.NewError("servicemap.ClientGroupsClient", "ListMembers", err.Error())
280 }
281
282 result.fn = client.listMembersNextResults
283 req, err := client.ListMembersPreparer(ctx, resourceGroupName, workspaceName, clientGroupName, startTime, endTime, top)
284 if err != nil {
285 err = autorest.NewErrorWithError(err, "servicemap.ClientGroupsClient", "ListMembers", nil, "Failure preparing request")
286 return
287 }
288
289 resp, err := client.ListMembersSender(req)
290 if err != nil {
291 result.cgmc.Response = autorest.Response{Response: resp}
292 err = autorest.NewErrorWithError(err, "servicemap.ClientGroupsClient", "ListMembers", resp, "Failure sending request")
293 return
294 }
295
296 result.cgmc, err = client.ListMembersResponder(resp)
297 if err != nil {
298 err = autorest.NewErrorWithError(err, "servicemap.ClientGroupsClient", "ListMembers", resp, "Failure responding to request")
299 return
300 }
301 if result.cgmc.hasNextLink() && result.cgmc.IsEmpty() {
302 err = result.NextWithContext(ctx)
303 return
304 }
305
306 return
307 }
308
309
310 func (client ClientGroupsClient) ListMembersPreparer(ctx context.Context, resourceGroupName string, workspaceName string, clientGroupName string, startTime *date.Time, endTime *date.Time, top *int32) (*http.Request, error) {
311 pathParameters := map[string]interface{}{
312 "clientGroupName": autorest.Encode("path", clientGroupName),
313 "resourceGroupName": autorest.Encode("path", resourceGroupName),
314 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
315 "workspaceName": autorest.Encode("path", workspaceName),
316 }
317
318 const APIVersion = "2015-11-01-preview"
319 queryParameters := map[string]interface{}{
320 "api-version": APIVersion,
321 }
322 if startTime != nil {
323 queryParameters["startTime"] = autorest.Encode("query", *startTime)
324 }
325 if endTime != nil {
326 queryParameters["endTime"] = autorest.Encode("query", *endTime)
327 }
328 if top != nil {
329 queryParameters["$top"] = autorest.Encode("query", *top)
330 }
331
332 preparer := autorest.CreatePreparer(
333 autorest.AsGet(),
334 autorest.WithBaseURL(client.BaseURI),
335 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/clientGroups/{clientGroupName}/members", pathParameters),
336 autorest.WithQueryParameters(queryParameters))
337 return preparer.Prepare((&http.Request{}).WithContext(ctx))
338 }
339
340
341
342 func (client ClientGroupsClient) ListMembersSender(req *http.Request) (*http.Response, error) {
343 return client.Send(req, azure.DoRetryWithRegistration(client.Client))
344 }
345
346
347
348 func (client ClientGroupsClient) ListMembersResponder(resp *http.Response) (result ClientGroupMembersCollection, err error) {
349 err = autorest.Respond(
350 resp,
351 azure.WithErrorUnlessStatusCode(http.StatusOK),
352 autorest.ByUnmarshallingJSON(&result),
353 autorest.ByClosing())
354 result.Response = autorest.Response{Response: resp}
355 return
356 }
357
358
359 func (client ClientGroupsClient) listMembersNextResults(ctx context.Context, lastResults ClientGroupMembersCollection) (result ClientGroupMembersCollection, err error) {
360 req, err := lastResults.clientGroupMembersCollectionPreparer(ctx)
361 if err != nil {
362 return result, autorest.NewErrorWithError(err, "servicemap.ClientGroupsClient", "listMembersNextResults", nil, "Failure preparing next results request")
363 }
364 if req == nil {
365 return
366 }
367 resp, err := client.ListMembersSender(req)
368 if err != nil {
369 result.Response = autorest.Response{Response: resp}
370 return result, autorest.NewErrorWithError(err, "servicemap.ClientGroupsClient", "listMembersNextResults", resp, "Failure sending next results request")
371 }
372 result, err = client.ListMembersResponder(resp)
373 if err != nil {
374 err = autorest.NewErrorWithError(err, "servicemap.ClientGroupsClient", "listMembersNextResults", resp, "Failure responding to next results request")
375 }
376 return
377 }
378
379
380 func (client ClientGroupsClient) ListMembersComplete(ctx context.Context, resourceGroupName string, workspaceName string, clientGroupName string, startTime *date.Time, endTime *date.Time, top *int32) (result ClientGroupMembersCollectionIterator, err error) {
381 if tracing.IsEnabled() {
382 ctx = tracing.StartSpan(ctx, fqdn+"/ClientGroupsClient.ListMembers")
383 defer func() {
384 sc := -1
385 if result.Response().Response.Response != nil {
386 sc = result.page.Response().Response.Response.StatusCode
387 }
388 tracing.EndSpan(ctx, sc, err)
389 }()
390 }
391 result.page, err = client.ListMembers(ctx, resourceGroupName, workspaceName, clientGroupName, startTime, endTime, top)
392 return
393 }
394
View as plain text