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/autorest/validation"
14 "github.com/Azure/go-autorest/tracing"
15 "net/http"
16 )
17
18
19 type VirtualHubBgpConnectionClient struct {
20 BaseClient
21 }
22
23
24 func NewVirtualHubBgpConnectionClient(subscriptionID string) VirtualHubBgpConnectionClient {
25 return NewVirtualHubBgpConnectionClientWithBaseURI(DefaultBaseURI, subscriptionID)
26 }
27
28
29
30
31 func NewVirtualHubBgpConnectionClientWithBaseURI(baseURI string, subscriptionID string) VirtualHubBgpConnectionClient {
32 return VirtualHubBgpConnectionClient{NewWithBaseURI(baseURI, subscriptionID)}
33 }
34
35
36
37
38
39
40
41
42 func (client VirtualHubBgpConnectionClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, virtualHubName string, connectionName string, parameters BgpConnection) (result VirtualHubBgpConnectionCreateOrUpdateFuture, err error) {
43 if tracing.IsEnabled() {
44 ctx = tracing.StartSpan(ctx, fqdn+"/VirtualHubBgpConnectionClient.CreateOrUpdate")
45 defer func() {
46 sc := -1
47 if result.FutureAPI != nil && result.FutureAPI.Response() != nil {
48 sc = result.FutureAPI.Response().StatusCode
49 }
50 tracing.EndSpan(ctx, sc, err)
51 }()
52 }
53 if err := validation.Validate([]validation.Validation{
54 {TargetValue: parameters,
55 Constraints: []validation.Constraint{{Target: "parameters.BgpConnectionProperties", Name: validation.Null, Rule: false,
56 Chain: []validation.Constraint{{Target: "parameters.BgpConnectionProperties.PeerAsn", Name: validation.Null, Rule: false,
57 Chain: []validation.Constraint{{Target: "parameters.BgpConnectionProperties.PeerAsn", Name: validation.InclusiveMaximum, Rule: int64(4294967295), Chain: nil},
58 {Target: "parameters.BgpConnectionProperties.PeerAsn", Name: validation.InclusiveMinimum, Rule: int64(0), Chain: nil},
59 }},
60 }}}}}); err != nil {
61 return result, validation.NewError("network.VirtualHubBgpConnectionClient", "CreateOrUpdate", err.Error())
62 }
63
64 req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, virtualHubName, connectionName, parameters)
65 if err != nil {
66 err = autorest.NewErrorWithError(err, "network.VirtualHubBgpConnectionClient", "CreateOrUpdate", nil, "Failure preparing request")
67 return
68 }
69
70 result, err = client.CreateOrUpdateSender(req)
71 if err != nil {
72 err = autorest.NewErrorWithError(err, "network.VirtualHubBgpConnectionClient", "CreateOrUpdate", result.Response(), "Failure sending request")
73 return
74 }
75
76 return
77 }
78
79
80 func (client VirtualHubBgpConnectionClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, virtualHubName string, connectionName string, parameters BgpConnection) (*http.Request, error) {
81 pathParameters := map[string]interface{}{
82 "connectionName": autorest.Encode("path", connectionName),
83 "resourceGroupName": autorest.Encode("path", resourceGroupName),
84 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
85 "virtualHubName": autorest.Encode("path", virtualHubName),
86 }
87
88 const APIVersion = "2021-08-01"
89 queryParameters := map[string]interface{}{
90 "api-version": APIVersion,
91 }
92
93 parameters.Etag = nil
94 parameters.Type = nil
95 preparer := autorest.CreatePreparer(
96 autorest.AsContentType("application/json; charset=utf-8"),
97 autorest.AsPut(),
98 autorest.WithBaseURL(client.BaseURI),
99 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/bgpConnections/{connectionName}", pathParameters),
100 autorest.WithJSON(parameters),
101 autorest.WithQueryParameters(queryParameters))
102 return preparer.Prepare((&http.Request{}).WithContext(ctx))
103 }
104
105
106
107 func (client VirtualHubBgpConnectionClient) CreateOrUpdateSender(req *http.Request) (future VirtualHubBgpConnectionCreateOrUpdateFuture, err error) {
108 var resp *http.Response
109 future.FutureAPI = &azure.Future{}
110 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client))
111 if err != nil {
112 return
113 }
114 var azf azure.Future
115 azf, err = azure.NewFutureFromResponse(resp)
116 future.FutureAPI = &azf
117 future.Result = future.result
118 return
119 }
120
121
122
123 func (client VirtualHubBgpConnectionClient) CreateOrUpdateResponder(resp *http.Response) (result BgpConnection, err error) {
124 err = autorest.Respond(
125 resp,
126 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated),
127 autorest.ByUnmarshallingJSON(&result),
128 autorest.ByClosing())
129 result.Response = autorest.Response{Response: resp}
130 return
131 }
132
133
134
135
136
137
138 func (client VirtualHubBgpConnectionClient) Delete(ctx context.Context, resourceGroupName string, virtualHubName string, connectionName string) (result VirtualHubBgpConnectionDeleteFuture, err error) {
139 if tracing.IsEnabled() {
140 ctx = tracing.StartSpan(ctx, fqdn+"/VirtualHubBgpConnectionClient.Delete")
141 defer func() {
142 sc := -1
143 if result.FutureAPI != nil && result.FutureAPI.Response() != nil {
144 sc = result.FutureAPI.Response().StatusCode
145 }
146 tracing.EndSpan(ctx, sc, err)
147 }()
148 }
149 req, err := client.DeletePreparer(ctx, resourceGroupName, virtualHubName, connectionName)
150 if err != nil {
151 err = autorest.NewErrorWithError(err, "network.VirtualHubBgpConnectionClient", "Delete", nil, "Failure preparing request")
152 return
153 }
154
155 result, err = client.DeleteSender(req)
156 if err != nil {
157 err = autorest.NewErrorWithError(err, "network.VirtualHubBgpConnectionClient", "Delete", result.Response(), "Failure sending request")
158 return
159 }
160
161 return
162 }
163
164
165 func (client VirtualHubBgpConnectionClient) DeletePreparer(ctx context.Context, resourceGroupName string, virtualHubName string, connectionName string) (*http.Request, error) {
166 pathParameters := map[string]interface{}{
167 "connectionName": autorest.Encode("path", connectionName),
168 "resourceGroupName": autorest.Encode("path", resourceGroupName),
169 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
170 "virtualHubName": autorest.Encode("path", virtualHubName),
171 }
172
173 const APIVersion = "2021-08-01"
174 queryParameters := map[string]interface{}{
175 "api-version": APIVersion,
176 }
177
178 preparer := autorest.CreatePreparer(
179 autorest.AsDelete(),
180 autorest.WithBaseURL(client.BaseURI),
181 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/bgpConnections/{connectionName}", pathParameters),
182 autorest.WithQueryParameters(queryParameters))
183 return preparer.Prepare((&http.Request{}).WithContext(ctx))
184 }
185
186
187
188 func (client VirtualHubBgpConnectionClient) DeleteSender(req *http.Request) (future VirtualHubBgpConnectionDeleteFuture, err error) {
189 var resp *http.Response
190 future.FutureAPI = &azure.Future{}
191 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client))
192 if err != nil {
193 return
194 }
195 var azf azure.Future
196 azf, err = azure.NewFutureFromResponse(resp)
197 future.FutureAPI = &azf
198 future.Result = future.result
199 return
200 }
201
202
203
204 func (client VirtualHubBgpConnectionClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) {
205 err = autorest.Respond(
206 resp,
207 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent),
208 autorest.ByClosing())
209 result.Response = resp
210 return
211 }
212
213
214
215
216
217
218 func (client VirtualHubBgpConnectionClient) Get(ctx context.Context, resourceGroupName string, virtualHubName string, connectionName string) (result BgpConnection, err error) {
219 if tracing.IsEnabled() {
220 ctx = tracing.StartSpan(ctx, fqdn+"/VirtualHubBgpConnectionClient.Get")
221 defer func() {
222 sc := -1
223 if result.Response.Response != nil {
224 sc = result.Response.Response.StatusCode
225 }
226 tracing.EndSpan(ctx, sc, err)
227 }()
228 }
229 req, err := client.GetPreparer(ctx, resourceGroupName, virtualHubName, connectionName)
230 if err != nil {
231 err = autorest.NewErrorWithError(err, "network.VirtualHubBgpConnectionClient", "Get", nil, "Failure preparing request")
232 return
233 }
234
235 resp, err := client.GetSender(req)
236 if err != nil {
237 result.Response = autorest.Response{Response: resp}
238 err = autorest.NewErrorWithError(err, "network.VirtualHubBgpConnectionClient", "Get", resp, "Failure sending request")
239 return
240 }
241
242 result, err = client.GetResponder(resp)
243 if err != nil {
244 err = autorest.NewErrorWithError(err, "network.VirtualHubBgpConnectionClient", "Get", resp, "Failure responding to request")
245 return
246 }
247
248 return
249 }
250
251
252 func (client VirtualHubBgpConnectionClient) GetPreparer(ctx context.Context, resourceGroupName string, virtualHubName string, connectionName string) (*http.Request, error) {
253 pathParameters := map[string]interface{}{
254 "connectionName": autorest.Encode("path", connectionName),
255 "resourceGroupName": autorest.Encode("path", resourceGroupName),
256 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
257 "virtualHubName": autorest.Encode("path", virtualHubName),
258 }
259
260 const APIVersion = "2021-08-01"
261 queryParameters := map[string]interface{}{
262 "api-version": APIVersion,
263 }
264
265 preparer := autorest.CreatePreparer(
266 autorest.AsGet(),
267 autorest.WithBaseURL(client.BaseURI),
268 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/bgpConnections/{connectionName}", pathParameters),
269 autorest.WithQueryParameters(queryParameters))
270 return preparer.Prepare((&http.Request{}).WithContext(ctx))
271 }
272
273
274
275 func (client VirtualHubBgpConnectionClient) GetSender(req *http.Request) (*http.Response, error) {
276 return client.Send(req, azure.DoRetryWithRegistration(client.Client))
277 }
278
279
280
281 func (client VirtualHubBgpConnectionClient) GetResponder(resp *http.Response) (result BgpConnection, err error) {
282 err = autorest.Respond(
283 resp,
284 azure.WithErrorUnlessStatusCode(http.StatusOK),
285 autorest.ByUnmarshallingJSON(&result),
286 autorest.ByClosing())
287 result.Response = autorest.Response{Response: resp}
288 return
289 }
290
View as plain text