1 package network
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 BgpServiceCommunitiesClient struct {
19 BaseClient
20 }
21
22
23 func NewBgpServiceCommunitiesClient(subscriptionID string) BgpServiceCommunitiesClient {
24 return NewBgpServiceCommunitiesClientWithBaseURI(DefaultBaseURI, subscriptionID)
25 }
26
27
28
29
30 func NewBgpServiceCommunitiesClientWithBaseURI(baseURI string, subscriptionID string) BgpServiceCommunitiesClient {
31 return BgpServiceCommunitiesClient{NewWithBaseURI(baseURI, subscriptionID)}
32 }
33
34
35 func (client BgpServiceCommunitiesClient) List(ctx context.Context) (result BgpServiceCommunityListResultPage, err error) {
36 if tracing.IsEnabled() {
37 ctx = tracing.StartSpan(ctx, fqdn+"/BgpServiceCommunitiesClient.List")
38 defer func() {
39 sc := -1
40 if result.bsclr.Response.Response != nil {
41 sc = result.bsclr.Response.Response.StatusCode
42 }
43 tracing.EndSpan(ctx, sc, err)
44 }()
45 }
46 result.fn = client.listNextResults
47 req, err := client.ListPreparer(ctx)
48 if err != nil {
49 err = autorest.NewErrorWithError(err, "network.BgpServiceCommunitiesClient", "List", nil, "Failure preparing request")
50 return
51 }
52
53 resp, err := client.ListSender(req)
54 if err != nil {
55 result.bsclr.Response = autorest.Response{Response: resp}
56 err = autorest.NewErrorWithError(err, "network.BgpServiceCommunitiesClient", "List", resp, "Failure sending request")
57 return
58 }
59
60 result.bsclr, err = client.ListResponder(resp)
61 if err != nil {
62 err = autorest.NewErrorWithError(err, "network.BgpServiceCommunitiesClient", "List", resp, "Failure responding to request")
63 return
64 }
65 if result.bsclr.hasNextLink() && result.bsclr.IsEmpty() {
66 err = result.NextWithContext(ctx)
67 return
68 }
69
70 return
71 }
72
73
74 func (client BgpServiceCommunitiesClient) ListPreparer(ctx context.Context) (*http.Request, error) {
75 pathParameters := map[string]interface{}{
76 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
77 }
78
79 const APIVersion = "2021-05-01"
80 queryParameters := map[string]interface{}{
81 "api-version": APIVersion,
82 }
83
84 preparer := autorest.CreatePreparer(
85 autorest.AsGet(),
86 autorest.WithBaseURL(client.BaseURI),
87 autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/bgpServiceCommunities", pathParameters),
88 autorest.WithQueryParameters(queryParameters))
89 return preparer.Prepare((&http.Request{}).WithContext(ctx))
90 }
91
92
93
94 func (client BgpServiceCommunitiesClient) ListSender(req *http.Request) (*http.Response, error) {
95 return client.Send(req, azure.DoRetryWithRegistration(client.Client))
96 }
97
98
99
100 func (client BgpServiceCommunitiesClient) ListResponder(resp *http.Response) (result BgpServiceCommunityListResult, err error) {
101 err = autorest.Respond(
102 resp,
103 azure.WithErrorUnlessStatusCode(http.StatusOK),
104 autorest.ByUnmarshallingJSON(&result),
105 autorest.ByClosing())
106 result.Response = autorest.Response{Response: resp}
107 return
108 }
109
110
111 func (client BgpServiceCommunitiesClient) listNextResults(ctx context.Context, lastResults BgpServiceCommunityListResult) (result BgpServiceCommunityListResult, err error) {
112 req, err := lastResults.bgpServiceCommunityListResultPreparer(ctx)
113 if err != nil {
114 return result, autorest.NewErrorWithError(err, "network.BgpServiceCommunitiesClient", "listNextResults", nil, "Failure preparing next results request")
115 }
116 if req == nil {
117 return
118 }
119 resp, err := client.ListSender(req)
120 if err != nil {
121 result.Response = autorest.Response{Response: resp}
122 return result, autorest.NewErrorWithError(err, "network.BgpServiceCommunitiesClient", "listNextResults", resp, "Failure sending next results request")
123 }
124 result, err = client.ListResponder(resp)
125 if err != nil {
126 err = autorest.NewErrorWithError(err, "network.BgpServiceCommunitiesClient", "listNextResults", resp, "Failure responding to next results request")
127 }
128 return
129 }
130
131
132 func (client BgpServiceCommunitiesClient) ListComplete(ctx context.Context) (result BgpServiceCommunityListResultIterator, err error) {
133 if tracing.IsEnabled() {
134 ctx = tracing.StartSpan(ctx, fqdn+"/BgpServiceCommunitiesClient.List")
135 defer func() {
136 sc := -1
137 if result.Response().Response.Response != nil {
138 sc = result.page.Response().Response.Response.StatusCode
139 }
140 tracing.EndSpan(ctx, sc, err)
141 }()
142 }
143 result.page, err = client.List(ctx)
144 return
145 }
146
View as plain text