github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v6@v6.2.0/virtualnetworkgatewayconnections_client.go (about) 1 //go:build go1.18 2 // +build go1.18 3 4 // Copyright (c) Microsoft Corporation. All rights reserved. 5 // Licensed under the MIT License. See License.txt in the project root for license information. 6 // Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. 7 // Changes may cause incorrect behavior and will be lost if the code is regenerated. 8 9 package armnetwork 10 11 import ( 12 "context" 13 "errors" 14 "github.com/Azure/azure-sdk-for-go/sdk/azcore" 15 "github.com/Azure/azure-sdk-for-go/sdk/azcore/arm" 16 "github.com/Azure/azure-sdk-for-go/sdk/azcore/policy" 17 "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" 18 "net/http" 19 "net/url" 20 "strings" 21 ) 22 23 // VirtualNetworkGatewayConnectionsClient contains the methods for the VirtualNetworkGatewayConnections group. 24 // Don't use this type directly, use NewVirtualNetworkGatewayConnectionsClient() instead. 25 type VirtualNetworkGatewayConnectionsClient struct { 26 internal *arm.Client 27 subscriptionID string 28 } 29 30 // NewVirtualNetworkGatewayConnectionsClient creates a new instance of VirtualNetworkGatewayConnectionsClient with the specified values. 31 // - subscriptionID - The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription 32 // ID forms part of the URI for every service call. 33 // - credential - used to authorize requests. Usually a credential from azidentity. 34 // - options - pass nil to accept the default values. 35 func NewVirtualNetworkGatewayConnectionsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*VirtualNetworkGatewayConnectionsClient, error) { 36 cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) 37 if err != nil { 38 return nil, err 39 } 40 client := &VirtualNetworkGatewayConnectionsClient{ 41 subscriptionID: subscriptionID, 42 internal: cl, 43 } 44 return client, nil 45 } 46 47 // BeginCreateOrUpdate - Creates or updates a virtual network gateway connection in the specified resource group. 48 // If the operation fails it returns an *azcore.ResponseError type. 49 // 50 // Generated from API version 2024-05-01 51 // - resourceGroupName - The name of the resource group. 52 // - virtualNetworkGatewayConnectionName - The name of the virtual network gateway connection. 53 // - parameters - Parameters supplied to the create or update virtual network gateway connection operation. 54 // - options - VirtualNetworkGatewayConnectionsClientBeginCreateOrUpdateOptions contains the optional parameters for the VirtualNetworkGatewayConnectionsClient.BeginCreateOrUpdate 55 // method. 56 func (client *VirtualNetworkGatewayConnectionsClient) BeginCreateOrUpdate(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string, parameters VirtualNetworkGatewayConnection, options *VirtualNetworkGatewayConnectionsClientBeginCreateOrUpdateOptions) (*runtime.Poller[VirtualNetworkGatewayConnectionsClientCreateOrUpdateResponse], error) { 57 if options == nil || options.ResumeToken == "" { 58 resp, err := client.createOrUpdate(ctx, resourceGroupName, virtualNetworkGatewayConnectionName, parameters, options) 59 if err != nil { 60 return nil, err 61 } 62 poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[VirtualNetworkGatewayConnectionsClientCreateOrUpdateResponse]{ 63 FinalStateVia: runtime.FinalStateViaAzureAsyncOp, 64 Tracer: client.internal.Tracer(), 65 }) 66 return poller, err 67 } else { 68 return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[VirtualNetworkGatewayConnectionsClientCreateOrUpdateResponse]{ 69 Tracer: client.internal.Tracer(), 70 }) 71 } 72 } 73 74 // CreateOrUpdate - Creates or updates a virtual network gateway connection in the specified resource group. 75 // If the operation fails it returns an *azcore.ResponseError type. 76 // 77 // Generated from API version 2024-05-01 78 func (client *VirtualNetworkGatewayConnectionsClient) createOrUpdate(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string, parameters VirtualNetworkGatewayConnection, options *VirtualNetworkGatewayConnectionsClientBeginCreateOrUpdateOptions) (*http.Response, error) { 79 var err error 80 const operationName = "VirtualNetworkGatewayConnectionsClient.BeginCreateOrUpdate" 81 ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) 82 ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) 83 defer func() { endSpan(err) }() 84 req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, virtualNetworkGatewayConnectionName, parameters, options) 85 if err != nil { 86 return nil, err 87 } 88 httpResp, err := client.internal.Pipeline().Do(req) 89 if err != nil { 90 return nil, err 91 } 92 if !runtime.HasStatusCode(httpResp, http.StatusOK, http.StatusCreated) { 93 err = runtime.NewResponseError(httpResp) 94 return nil, err 95 } 96 return httpResp, nil 97 } 98 99 // createOrUpdateCreateRequest creates the CreateOrUpdate request. 100 func (client *VirtualNetworkGatewayConnectionsClient) createOrUpdateCreateRequest(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string, parameters VirtualNetworkGatewayConnection, options *VirtualNetworkGatewayConnectionsClientBeginCreateOrUpdateOptions) (*policy.Request, error) { 101 urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}" 102 if resourceGroupName == "" { 103 return nil, errors.New("parameter resourceGroupName cannot be empty") 104 } 105 urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName)) 106 if virtualNetworkGatewayConnectionName == "" { 107 return nil, errors.New("parameter virtualNetworkGatewayConnectionName cannot be empty") 108 } 109 urlPath = strings.ReplaceAll(urlPath, "{virtualNetworkGatewayConnectionName}", url.PathEscape(virtualNetworkGatewayConnectionName)) 110 if client.subscriptionID == "" { 111 return nil, errors.New("parameter client.subscriptionID cannot be empty") 112 } 113 urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID)) 114 req, err := runtime.NewRequest(ctx, http.MethodPut, runtime.JoinPaths(client.internal.Endpoint(), urlPath)) 115 if err != nil { 116 return nil, err 117 } 118 reqQP := req.Raw().URL.Query() 119 reqQP.Set("api-version", "2024-05-01") 120 req.Raw().URL.RawQuery = reqQP.Encode() 121 req.Raw().Header["Accept"] = []string{"application/json"} 122 if err := runtime.MarshalAsJSON(req, parameters); err != nil { 123 return nil, err 124 } 125 return req, nil 126 } 127 128 // BeginDelete - Deletes the specified virtual network Gateway connection. 129 // If the operation fails it returns an *azcore.ResponseError type. 130 // 131 // Generated from API version 2024-05-01 132 // - resourceGroupName - The name of the resource group. 133 // - virtualNetworkGatewayConnectionName - The name of the virtual network gateway connection. 134 // - options - VirtualNetworkGatewayConnectionsClientBeginDeleteOptions contains the optional parameters for the VirtualNetworkGatewayConnectionsClient.BeginDelete 135 // method. 136 func (client *VirtualNetworkGatewayConnectionsClient) BeginDelete(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string, options *VirtualNetworkGatewayConnectionsClientBeginDeleteOptions) (*runtime.Poller[VirtualNetworkGatewayConnectionsClientDeleteResponse], error) { 137 if options == nil || options.ResumeToken == "" { 138 resp, err := client.deleteOperation(ctx, resourceGroupName, virtualNetworkGatewayConnectionName, options) 139 if err != nil { 140 return nil, err 141 } 142 poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[VirtualNetworkGatewayConnectionsClientDeleteResponse]{ 143 FinalStateVia: runtime.FinalStateViaLocation, 144 Tracer: client.internal.Tracer(), 145 }) 146 return poller, err 147 } else { 148 return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[VirtualNetworkGatewayConnectionsClientDeleteResponse]{ 149 Tracer: client.internal.Tracer(), 150 }) 151 } 152 } 153 154 // Delete - Deletes the specified virtual network Gateway connection. 155 // If the operation fails it returns an *azcore.ResponseError type. 156 // 157 // Generated from API version 2024-05-01 158 func (client *VirtualNetworkGatewayConnectionsClient) deleteOperation(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string, options *VirtualNetworkGatewayConnectionsClientBeginDeleteOptions) (*http.Response, error) { 159 var err error 160 const operationName = "VirtualNetworkGatewayConnectionsClient.BeginDelete" 161 ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) 162 ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) 163 defer func() { endSpan(err) }() 164 req, err := client.deleteCreateRequest(ctx, resourceGroupName, virtualNetworkGatewayConnectionName, options) 165 if err != nil { 166 return nil, err 167 } 168 httpResp, err := client.internal.Pipeline().Do(req) 169 if err != nil { 170 return nil, err 171 } 172 if !runtime.HasStatusCode(httpResp, http.StatusOK, http.StatusAccepted, http.StatusNoContent) { 173 err = runtime.NewResponseError(httpResp) 174 return nil, err 175 } 176 return httpResp, nil 177 } 178 179 // deleteCreateRequest creates the Delete request. 180 func (client *VirtualNetworkGatewayConnectionsClient) deleteCreateRequest(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string, options *VirtualNetworkGatewayConnectionsClientBeginDeleteOptions) (*policy.Request, error) { 181 urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}" 182 if resourceGroupName == "" { 183 return nil, errors.New("parameter resourceGroupName cannot be empty") 184 } 185 urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName)) 186 if virtualNetworkGatewayConnectionName == "" { 187 return nil, errors.New("parameter virtualNetworkGatewayConnectionName cannot be empty") 188 } 189 urlPath = strings.ReplaceAll(urlPath, "{virtualNetworkGatewayConnectionName}", url.PathEscape(virtualNetworkGatewayConnectionName)) 190 if client.subscriptionID == "" { 191 return nil, errors.New("parameter client.subscriptionID cannot be empty") 192 } 193 urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID)) 194 req, err := runtime.NewRequest(ctx, http.MethodDelete, runtime.JoinPaths(client.internal.Endpoint(), urlPath)) 195 if err != nil { 196 return nil, err 197 } 198 reqQP := req.Raw().URL.Query() 199 reqQP.Set("api-version", "2024-05-01") 200 req.Raw().URL.RawQuery = reqQP.Encode() 201 req.Raw().Header["Accept"] = []string{"application/json"} 202 return req, nil 203 } 204 205 // Get - Gets the specified virtual network gateway connection by resource group. 206 // If the operation fails it returns an *azcore.ResponseError type. 207 // 208 // Generated from API version 2024-05-01 209 // - resourceGroupName - The name of the resource group. 210 // - virtualNetworkGatewayConnectionName - The name of the virtual network gateway connection. 211 // - options - VirtualNetworkGatewayConnectionsClientGetOptions contains the optional parameters for the VirtualNetworkGatewayConnectionsClient.Get 212 // method. 213 func (client *VirtualNetworkGatewayConnectionsClient) Get(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string, options *VirtualNetworkGatewayConnectionsClientGetOptions) (VirtualNetworkGatewayConnectionsClientGetResponse, error) { 214 var err error 215 const operationName = "VirtualNetworkGatewayConnectionsClient.Get" 216 ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) 217 ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) 218 defer func() { endSpan(err) }() 219 req, err := client.getCreateRequest(ctx, resourceGroupName, virtualNetworkGatewayConnectionName, options) 220 if err != nil { 221 return VirtualNetworkGatewayConnectionsClientGetResponse{}, err 222 } 223 httpResp, err := client.internal.Pipeline().Do(req) 224 if err != nil { 225 return VirtualNetworkGatewayConnectionsClientGetResponse{}, err 226 } 227 if !runtime.HasStatusCode(httpResp, http.StatusOK) { 228 err = runtime.NewResponseError(httpResp) 229 return VirtualNetworkGatewayConnectionsClientGetResponse{}, err 230 } 231 resp, err := client.getHandleResponse(httpResp) 232 return resp, err 233 } 234 235 // getCreateRequest creates the Get request. 236 func (client *VirtualNetworkGatewayConnectionsClient) getCreateRequest(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string, options *VirtualNetworkGatewayConnectionsClientGetOptions) (*policy.Request, error) { 237 urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}" 238 if resourceGroupName == "" { 239 return nil, errors.New("parameter resourceGroupName cannot be empty") 240 } 241 urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName)) 242 if virtualNetworkGatewayConnectionName == "" { 243 return nil, errors.New("parameter virtualNetworkGatewayConnectionName cannot be empty") 244 } 245 urlPath = strings.ReplaceAll(urlPath, "{virtualNetworkGatewayConnectionName}", url.PathEscape(virtualNetworkGatewayConnectionName)) 246 if client.subscriptionID == "" { 247 return nil, errors.New("parameter client.subscriptionID cannot be empty") 248 } 249 urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID)) 250 req, err := runtime.NewRequest(ctx, http.MethodGet, runtime.JoinPaths(client.internal.Endpoint(), urlPath)) 251 if err != nil { 252 return nil, err 253 } 254 reqQP := req.Raw().URL.Query() 255 reqQP.Set("api-version", "2024-05-01") 256 req.Raw().URL.RawQuery = reqQP.Encode() 257 req.Raw().Header["Accept"] = []string{"application/json"} 258 return req, nil 259 } 260 261 // getHandleResponse handles the Get response. 262 func (client *VirtualNetworkGatewayConnectionsClient) getHandleResponse(resp *http.Response) (VirtualNetworkGatewayConnectionsClientGetResponse, error) { 263 result := VirtualNetworkGatewayConnectionsClientGetResponse{} 264 if err := runtime.UnmarshalAsJSON(resp, &result.VirtualNetworkGatewayConnection); err != nil { 265 return VirtualNetworkGatewayConnectionsClientGetResponse{}, err 266 } 267 return result, nil 268 } 269 270 // BeginGetIkeSas - Lists IKE Security Associations for the virtual network gateway connection in the specified resource group. 271 // If the operation fails it returns an *azcore.ResponseError type. 272 // 273 // Generated from API version 2024-05-01 274 // - resourceGroupName - The name of the resource group. 275 // - virtualNetworkGatewayConnectionName - The name of the virtual network gateway Connection. 276 // - options - VirtualNetworkGatewayConnectionsClientBeginGetIkeSasOptions contains the optional parameters for the VirtualNetworkGatewayConnectionsClient.BeginGetIkeSas 277 // method. 278 func (client *VirtualNetworkGatewayConnectionsClient) BeginGetIkeSas(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string, options *VirtualNetworkGatewayConnectionsClientBeginGetIkeSasOptions) (*runtime.Poller[VirtualNetworkGatewayConnectionsClientGetIkeSasResponse], error) { 279 if options == nil || options.ResumeToken == "" { 280 resp, err := client.getIkeSas(ctx, resourceGroupName, virtualNetworkGatewayConnectionName, options) 281 if err != nil { 282 return nil, err 283 } 284 poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[VirtualNetworkGatewayConnectionsClientGetIkeSasResponse]{ 285 FinalStateVia: runtime.FinalStateViaLocation, 286 Tracer: client.internal.Tracer(), 287 }) 288 return poller, err 289 } else { 290 return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[VirtualNetworkGatewayConnectionsClientGetIkeSasResponse]{ 291 Tracer: client.internal.Tracer(), 292 }) 293 } 294 } 295 296 // GetIkeSas - Lists IKE Security Associations for the virtual network gateway connection in the specified resource group. 297 // If the operation fails it returns an *azcore.ResponseError type. 298 // 299 // Generated from API version 2024-05-01 300 func (client *VirtualNetworkGatewayConnectionsClient) getIkeSas(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string, options *VirtualNetworkGatewayConnectionsClientBeginGetIkeSasOptions) (*http.Response, error) { 301 var err error 302 const operationName = "VirtualNetworkGatewayConnectionsClient.BeginGetIkeSas" 303 ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) 304 ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) 305 defer func() { endSpan(err) }() 306 req, err := client.getIkeSasCreateRequest(ctx, resourceGroupName, virtualNetworkGatewayConnectionName, options) 307 if err != nil { 308 return nil, err 309 } 310 httpResp, err := client.internal.Pipeline().Do(req) 311 if err != nil { 312 return nil, err 313 } 314 if !runtime.HasStatusCode(httpResp, http.StatusOK, http.StatusAccepted) { 315 err = runtime.NewResponseError(httpResp) 316 return nil, err 317 } 318 return httpResp, nil 319 } 320 321 // getIkeSasCreateRequest creates the GetIkeSas request. 322 func (client *VirtualNetworkGatewayConnectionsClient) getIkeSasCreateRequest(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string, options *VirtualNetworkGatewayConnectionsClientBeginGetIkeSasOptions) (*policy.Request, error) { 323 urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/getikesas" 324 if resourceGroupName == "" { 325 return nil, errors.New("parameter resourceGroupName cannot be empty") 326 } 327 urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName)) 328 if virtualNetworkGatewayConnectionName == "" { 329 return nil, errors.New("parameter virtualNetworkGatewayConnectionName cannot be empty") 330 } 331 urlPath = strings.ReplaceAll(urlPath, "{virtualNetworkGatewayConnectionName}", url.PathEscape(virtualNetworkGatewayConnectionName)) 332 if client.subscriptionID == "" { 333 return nil, errors.New("parameter client.subscriptionID cannot be empty") 334 } 335 urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID)) 336 req, err := runtime.NewRequest(ctx, http.MethodPost, runtime.JoinPaths(client.internal.Endpoint(), urlPath)) 337 if err != nil { 338 return nil, err 339 } 340 reqQP := req.Raw().URL.Query() 341 reqQP.Set("api-version", "2024-05-01") 342 req.Raw().URL.RawQuery = reqQP.Encode() 343 req.Raw().Header["Accept"] = []string{"application/json"} 344 return req, nil 345 } 346 347 // GetSharedKey - The Get VirtualNetworkGatewayConnectionSharedKey operation retrieves information about the specified virtual 348 // network gateway connection shared key through Network resource provider. 349 // If the operation fails it returns an *azcore.ResponseError type. 350 // 351 // Generated from API version 2024-05-01 352 // - resourceGroupName - The name of the resource group. 353 // - virtualNetworkGatewayConnectionName - The virtual network gateway connection shared key name. 354 // - options - VirtualNetworkGatewayConnectionsClientGetSharedKeyOptions contains the optional parameters for the VirtualNetworkGatewayConnectionsClient.GetSharedKey 355 // method. 356 func (client *VirtualNetworkGatewayConnectionsClient) GetSharedKey(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string, options *VirtualNetworkGatewayConnectionsClientGetSharedKeyOptions) (VirtualNetworkGatewayConnectionsClientGetSharedKeyResponse, error) { 357 var err error 358 const operationName = "VirtualNetworkGatewayConnectionsClient.GetSharedKey" 359 ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) 360 ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) 361 defer func() { endSpan(err) }() 362 req, err := client.getSharedKeyCreateRequest(ctx, resourceGroupName, virtualNetworkGatewayConnectionName, options) 363 if err != nil { 364 return VirtualNetworkGatewayConnectionsClientGetSharedKeyResponse{}, err 365 } 366 httpResp, err := client.internal.Pipeline().Do(req) 367 if err != nil { 368 return VirtualNetworkGatewayConnectionsClientGetSharedKeyResponse{}, err 369 } 370 if !runtime.HasStatusCode(httpResp, http.StatusOK) { 371 err = runtime.NewResponseError(httpResp) 372 return VirtualNetworkGatewayConnectionsClientGetSharedKeyResponse{}, err 373 } 374 resp, err := client.getSharedKeyHandleResponse(httpResp) 375 return resp, err 376 } 377 378 // getSharedKeyCreateRequest creates the GetSharedKey request. 379 func (client *VirtualNetworkGatewayConnectionsClient) getSharedKeyCreateRequest(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string, options *VirtualNetworkGatewayConnectionsClientGetSharedKeyOptions) (*policy.Request, error) { 380 urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/sharedkey" 381 if resourceGroupName == "" { 382 return nil, errors.New("parameter resourceGroupName cannot be empty") 383 } 384 urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName)) 385 if virtualNetworkGatewayConnectionName == "" { 386 return nil, errors.New("parameter virtualNetworkGatewayConnectionName cannot be empty") 387 } 388 urlPath = strings.ReplaceAll(urlPath, "{virtualNetworkGatewayConnectionName}", url.PathEscape(virtualNetworkGatewayConnectionName)) 389 if client.subscriptionID == "" { 390 return nil, errors.New("parameter client.subscriptionID cannot be empty") 391 } 392 urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID)) 393 req, err := runtime.NewRequest(ctx, http.MethodGet, runtime.JoinPaths(client.internal.Endpoint(), urlPath)) 394 if err != nil { 395 return nil, err 396 } 397 reqQP := req.Raw().URL.Query() 398 reqQP.Set("api-version", "2024-05-01") 399 req.Raw().URL.RawQuery = reqQP.Encode() 400 req.Raw().Header["Accept"] = []string{"application/json"} 401 return req, nil 402 } 403 404 // getSharedKeyHandleResponse handles the GetSharedKey response. 405 func (client *VirtualNetworkGatewayConnectionsClient) getSharedKeyHandleResponse(resp *http.Response) (VirtualNetworkGatewayConnectionsClientGetSharedKeyResponse, error) { 406 result := VirtualNetworkGatewayConnectionsClientGetSharedKeyResponse{} 407 if err := runtime.UnmarshalAsJSON(resp, &result.ConnectionSharedKey); err != nil { 408 return VirtualNetworkGatewayConnectionsClientGetSharedKeyResponse{}, err 409 } 410 return result, nil 411 } 412 413 // NewListPager - The List VirtualNetworkGatewayConnections operation retrieves all the virtual network gateways connections 414 // created. 415 // 416 // Generated from API version 2024-05-01 417 // - resourceGroupName - The name of the resource group. 418 // - options - VirtualNetworkGatewayConnectionsClientListOptions contains the optional parameters for the VirtualNetworkGatewayConnectionsClient.NewListPager 419 // method. 420 func (client *VirtualNetworkGatewayConnectionsClient) NewListPager(resourceGroupName string, options *VirtualNetworkGatewayConnectionsClientListOptions) *runtime.Pager[VirtualNetworkGatewayConnectionsClientListResponse] { 421 return runtime.NewPager(runtime.PagingHandler[VirtualNetworkGatewayConnectionsClientListResponse]{ 422 More: func(page VirtualNetworkGatewayConnectionsClientListResponse) bool { 423 return page.NextLink != nil && len(*page.NextLink) > 0 424 }, 425 Fetcher: func(ctx context.Context, page *VirtualNetworkGatewayConnectionsClientListResponse) (VirtualNetworkGatewayConnectionsClientListResponse, error) { 426 ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "VirtualNetworkGatewayConnectionsClient.NewListPager") 427 nextLink := "" 428 if page != nil { 429 nextLink = *page.NextLink 430 } 431 resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { 432 return client.listCreateRequest(ctx, resourceGroupName, options) 433 }, nil) 434 if err != nil { 435 return VirtualNetworkGatewayConnectionsClientListResponse{}, err 436 } 437 return client.listHandleResponse(resp) 438 }, 439 Tracer: client.internal.Tracer(), 440 }) 441 } 442 443 // listCreateRequest creates the List request. 444 func (client *VirtualNetworkGatewayConnectionsClient) listCreateRequest(ctx context.Context, resourceGroupName string, options *VirtualNetworkGatewayConnectionsClientListOptions) (*policy.Request, error) { 445 urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections" 446 if resourceGroupName == "" { 447 return nil, errors.New("parameter resourceGroupName cannot be empty") 448 } 449 urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName)) 450 if client.subscriptionID == "" { 451 return nil, errors.New("parameter client.subscriptionID cannot be empty") 452 } 453 urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID)) 454 req, err := runtime.NewRequest(ctx, http.MethodGet, runtime.JoinPaths(client.internal.Endpoint(), urlPath)) 455 if err != nil { 456 return nil, err 457 } 458 reqQP := req.Raw().URL.Query() 459 reqQP.Set("api-version", "2024-05-01") 460 req.Raw().URL.RawQuery = reqQP.Encode() 461 req.Raw().Header["Accept"] = []string{"application/json"} 462 return req, nil 463 } 464 465 // listHandleResponse handles the List response. 466 func (client *VirtualNetworkGatewayConnectionsClient) listHandleResponse(resp *http.Response) (VirtualNetworkGatewayConnectionsClientListResponse, error) { 467 result := VirtualNetworkGatewayConnectionsClientListResponse{} 468 if err := runtime.UnmarshalAsJSON(resp, &result.VirtualNetworkGatewayConnectionListResult); err != nil { 469 return VirtualNetworkGatewayConnectionsClientListResponse{}, err 470 } 471 return result, nil 472 } 473 474 // BeginResetConnection - Resets the virtual network gateway connection specified. 475 // If the operation fails it returns an *azcore.ResponseError type. 476 // 477 // Generated from API version 2024-05-01 478 // - resourceGroupName - The name of the resource group. 479 // - virtualNetworkGatewayConnectionName - The name of the virtual network gateway Connection. 480 // - options - VirtualNetworkGatewayConnectionsClientBeginResetConnectionOptions contains the optional parameters for the VirtualNetworkGatewayConnectionsClient.BeginResetConnection 481 // method. 482 func (client *VirtualNetworkGatewayConnectionsClient) BeginResetConnection(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string, options *VirtualNetworkGatewayConnectionsClientBeginResetConnectionOptions) (*runtime.Poller[VirtualNetworkGatewayConnectionsClientResetConnectionResponse], error) { 483 if options == nil || options.ResumeToken == "" { 484 resp, err := client.resetConnection(ctx, resourceGroupName, virtualNetworkGatewayConnectionName, options) 485 if err != nil { 486 return nil, err 487 } 488 poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[VirtualNetworkGatewayConnectionsClientResetConnectionResponse]{ 489 FinalStateVia: runtime.FinalStateViaLocation, 490 Tracer: client.internal.Tracer(), 491 }) 492 return poller, err 493 } else { 494 return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[VirtualNetworkGatewayConnectionsClientResetConnectionResponse]{ 495 Tracer: client.internal.Tracer(), 496 }) 497 } 498 } 499 500 // ResetConnection - Resets the virtual network gateway connection specified. 501 // If the operation fails it returns an *azcore.ResponseError type. 502 // 503 // Generated from API version 2024-05-01 504 func (client *VirtualNetworkGatewayConnectionsClient) resetConnection(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string, options *VirtualNetworkGatewayConnectionsClientBeginResetConnectionOptions) (*http.Response, error) { 505 var err error 506 const operationName = "VirtualNetworkGatewayConnectionsClient.BeginResetConnection" 507 ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) 508 ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) 509 defer func() { endSpan(err) }() 510 req, err := client.resetConnectionCreateRequest(ctx, resourceGroupName, virtualNetworkGatewayConnectionName, options) 511 if err != nil { 512 return nil, err 513 } 514 httpResp, err := client.internal.Pipeline().Do(req) 515 if err != nil { 516 return nil, err 517 } 518 if !runtime.HasStatusCode(httpResp, http.StatusAccepted) { 519 err = runtime.NewResponseError(httpResp) 520 return nil, err 521 } 522 return httpResp, nil 523 } 524 525 // resetConnectionCreateRequest creates the ResetConnection request. 526 func (client *VirtualNetworkGatewayConnectionsClient) resetConnectionCreateRequest(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string, options *VirtualNetworkGatewayConnectionsClientBeginResetConnectionOptions) (*policy.Request, error) { 527 urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/resetconnection" 528 if resourceGroupName == "" { 529 return nil, errors.New("parameter resourceGroupName cannot be empty") 530 } 531 urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName)) 532 if virtualNetworkGatewayConnectionName == "" { 533 return nil, errors.New("parameter virtualNetworkGatewayConnectionName cannot be empty") 534 } 535 urlPath = strings.ReplaceAll(urlPath, "{virtualNetworkGatewayConnectionName}", url.PathEscape(virtualNetworkGatewayConnectionName)) 536 if client.subscriptionID == "" { 537 return nil, errors.New("parameter client.subscriptionID cannot be empty") 538 } 539 urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID)) 540 req, err := runtime.NewRequest(ctx, http.MethodPost, runtime.JoinPaths(client.internal.Endpoint(), urlPath)) 541 if err != nil { 542 return nil, err 543 } 544 reqQP := req.Raw().URL.Query() 545 reqQP.Set("api-version", "2024-05-01") 546 req.Raw().URL.RawQuery = reqQP.Encode() 547 req.Raw().Header["Accept"] = []string{"application/json"} 548 return req, nil 549 } 550 551 // BeginResetSharedKey - The VirtualNetworkGatewayConnectionResetSharedKey operation resets the virtual network gateway connection 552 // shared key for passed virtual network gateway connection in the specified resource group 553 // through Network resource provider. 554 // If the operation fails it returns an *azcore.ResponseError type. 555 // 556 // Generated from API version 2024-05-01 557 // - resourceGroupName - The name of the resource group. 558 // - virtualNetworkGatewayConnectionName - The virtual network gateway connection reset shared key Name. 559 // - parameters - Parameters supplied to the begin reset virtual network gateway connection shared key operation through network 560 // resource provider. 561 // - options - VirtualNetworkGatewayConnectionsClientBeginResetSharedKeyOptions contains the optional parameters for the VirtualNetworkGatewayConnectionsClient.BeginResetSharedKey 562 // method. 563 func (client *VirtualNetworkGatewayConnectionsClient) BeginResetSharedKey(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string, parameters ConnectionResetSharedKey, options *VirtualNetworkGatewayConnectionsClientBeginResetSharedKeyOptions) (*runtime.Poller[VirtualNetworkGatewayConnectionsClientResetSharedKeyResponse], error) { 564 if options == nil || options.ResumeToken == "" { 565 resp, err := client.resetSharedKey(ctx, resourceGroupName, virtualNetworkGatewayConnectionName, parameters, options) 566 if err != nil { 567 return nil, err 568 } 569 poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[VirtualNetworkGatewayConnectionsClientResetSharedKeyResponse]{ 570 FinalStateVia: runtime.FinalStateViaLocation, 571 Tracer: client.internal.Tracer(), 572 }) 573 return poller, err 574 } else { 575 return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[VirtualNetworkGatewayConnectionsClientResetSharedKeyResponse]{ 576 Tracer: client.internal.Tracer(), 577 }) 578 } 579 } 580 581 // ResetSharedKey - The VirtualNetworkGatewayConnectionResetSharedKey operation resets the virtual network gateway connection 582 // shared key for passed virtual network gateway connection in the specified resource group 583 // through Network resource provider. 584 // If the operation fails it returns an *azcore.ResponseError type. 585 // 586 // Generated from API version 2024-05-01 587 func (client *VirtualNetworkGatewayConnectionsClient) resetSharedKey(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string, parameters ConnectionResetSharedKey, options *VirtualNetworkGatewayConnectionsClientBeginResetSharedKeyOptions) (*http.Response, error) { 588 var err error 589 const operationName = "VirtualNetworkGatewayConnectionsClient.BeginResetSharedKey" 590 ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) 591 ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) 592 defer func() { endSpan(err) }() 593 req, err := client.resetSharedKeyCreateRequest(ctx, resourceGroupName, virtualNetworkGatewayConnectionName, parameters, options) 594 if err != nil { 595 return nil, err 596 } 597 httpResp, err := client.internal.Pipeline().Do(req) 598 if err != nil { 599 return nil, err 600 } 601 if !runtime.HasStatusCode(httpResp, http.StatusOK, http.StatusAccepted) { 602 err = runtime.NewResponseError(httpResp) 603 return nil, err 604 } 605 return httpResp, nil 606 } 607 608 // resetSharedKeyCreateRequest creates the ResetSharedKey request. 609 func (client *VirtualNetworkGatewayConnectionsClient) resetSharedKeyCreateRequest(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string, parameters ConnectionResetSharedKey, options *VirtualNetworkGatewayConnectionsClientBeginResetSharedKeyOptions) (*policy.Request, error) { 610 urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/sharedkey/reset" 611 if resourceGroupName == "" { 612 return nil, errors.New("parameter resourceGroupName cannot be empty") 613 } 614 urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName)) 615 if virtualNetworkGatewayConnectionName == "" { 616 return nil, errors.New("parameter virtualNetworkGatewayConnectionName cannot be empty") 617 } 618 urlPath = strings.ReplaceAll(urlPath, "{virtualNetworkGatewayConnectionName}", url.PathEscape(virtualNetworkGatewayConnectionName)) 619 if client.subscriptionID == "" { 620 return nil, errors.New("parameter client.subscriptionID cannot be empty") 621 } 622 urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID)) 623 req, err := runtime.NewRequest(ctx, http.MethodPost, runtime.JoinPaths(client.internal.Endpoint(), urlPath)) 624 if err != nil { 625 return nil, err 626 } 627 reqQP := req.Raw().URL.Query() 628 reqQP.Set("api-version", "2024-05-01") 629 req.Raw().URL.RawQuery = reqQP.Encode() 630 req.Raw().Header["Accept"] = []string{"application/json"} 631 if err := runtime.MarshalAsJSON(req, parameters); err != nil { 632 return nil, err 633 } 634 return req, nil 635 } 636 637 // BeginSetSharedKey - The Put VirtualNetworkGatewayConnectionSharedKey operation sets the virtual network gateway connection 638 // shared key for passed virtual network gateway connection in the specified resource group through 639 // Network resource provider. 640 // If the operation fails it returns an *azcore.ResponseError type. 641 // 642 // Generated from API version 2024-05-01 643 // - resourceGroupName - The name of the resource group. 644 // - virtualNetworkGatewayConnectionName - The virtual network gateway connection name. 645 // - parameters - Parameters supplied to the Begin Set Virtual Network Gateway connection Shared key operation throughNetwork 646 // resource provider. 647 // - options - VirtualNetworkGatewayConnectionsClientBeginSetSharedKeyOptions contains the optional parameters for the VirtualNetworkGatewayConnectionsClient.BeginSetSharedKey 648 // method. 649 func (client *VirtualNetworkGatewayConnectionsClient) BeginSetSharedKey(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string, parameters ConnectionSharedKey, options *VirtualNetworkGatewayConnectionsClientBeginSetSharedKeyOptions) (*runtime.Poller[VirtualNetworkGatewayConnectionsClientSetSharedKeyResponse], error) { 650 if options == nil || options.ResumeToken == "" { 651 resp, err := client.setSharedKey(ctx, resourceGroupName, virtualNetworkGatewayConnectionName, parameters, options) 652 if err != nil { 653 return nil, err 654 } 655 poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[VirtualNetworkGatewayConnectionsClientSetSharedKeyResponse]{ 656 FinalStateVia: runtime.FinalStateViaAzureAsyncOp, 657 Tracer: client.internal.Tracer(), 658 }) 659 return poller, err 660 } else { 661 return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[VirtualNetworkGatewayConnectionsClientSetSharedKeyResponse]{ 662 Tracer: client.internal.Tracer(), 663 }) 664 } 665 } 666 667 // SetSharedKey - The Put VirtualNetworkGatewayConnectionSharedKey operation sets the virtual network gateway connection shared 668 // key for passed virtual network gateway connection in the specified resource group through 669 // Network resource provider. 670 // If the operation fails it returns an *azcore.ResponseError type. 671 // 672 // Generated from API version 2024-05-01 673 func (client *VirtualNetworkGatewayConnectionsClient) setSharedKey(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string, parameters ConnectionSharedKey, options *VirtualNetworkGatewayConnectionsClientBeginSetSharedKeyOptions) (*http.Response, error) { 674 var err error 675 const operationName = "VirtualNetworkGatewayConnectionsClient.BeginSetSharedKey" 676 ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) 677 ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) 678 defer func() { endSpan(err) }() 679 req, err := client.setSharedKeyCreateRequest(ctx, resourceGroupName, virtualNetworkGatewayConnectionName, parameters, options) 680 if err != nil { 681 return nil, err 682 } 683 httpResp, err := client.internal.Pipeline().Do(req) 684 if err != nil { 685 return nil, err 686 } 687 if !runtime.HasStatusCode(httpResp, http.StatusOK, http.StatusCreated) { 688 err = runtime.NewResponseError(httpResp) 689 return nil, err 690 } 691 return httpResp, nil 692 } 693 694 // setSharedKeyCreateRequest creates the SetSharedKey request. 695 func (client *VirtualNetworkGatewayConnectionsClient) setSharedKeyCreateRequest(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string, parameters ConnectionSharedKey, options *VirtualNetworkGatewayConnectionsClientBeginSetSharedKeyOptions) (*policy.Request, error) { 696 urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/sharedkey" 697 if resourceGroupName == "" { 698 return nil, errors.New("parameter resourceGroupName cannot be empty") 699 } 700 urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName)) 701 if virtualNetworkGatewayConnectionName == "" { 702 return nil, errors.New("parameter virtualNetworkGatewayConnectionName cannot be empty") 703 } 704 urlPath = strings.ReplaceAll(urlPath, "{virtualNetworkGatewayConnectionName}", url.PathEscape(virtualNetworkGatewayConnectionName)) 705 if client.subscriptionID == "" { 706 return nil, errors.New("parameter client.subscriptionID cannot be empty") 707 } 708 urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID)) 709 req, err := runtime.NewRequest(ctx, http.MethodPut, runtime.JoinPaths(client.internal.Endpoint(), urlPath)) 710 if err != nil { 711 return nil, err 712 } 713 reqQP := req.Raw().URL.Query() 714 reqQP.Set("api-version", "2024-05-01") 715 req.Raw().URL.RawQuery = reqQP.Encode() 716 req.Raw().Header["Accept"] = []string{"application/json"} 717 if err := runtime.MarshalAsJSON(req, parameters); err != nil { 718 return nil, err 719 } 720 return req, nil 721 } 722 723 // BeginStartPacketCapture - Starts packet capture on virtual network gateway connection in the specified resource group. 724 // If the operation fails it returns an *azcore.ResponseError type. 725 // 726 // Generated from API version 2024-05-01 727 // - resourceGroupName - The name of the resource group. 728 // - virtualNetworkGatewayConnectionName - The name of the virtual network gateway connection. 729 // - options - VirtualNetworkGatewayConnectionsClientBeginStartPacketCaptureOptions contains the optional parameters for the 730 // VirtualNetworkGatewayConnectionsClient.BeginStartPacketCapture method. 731 func (client *VirtualNetworkGatewayConnectionsClient) BeginStartPacketCapture(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string, options *VirtualNetworkGatewayConnectionsClientBeginStartPacketCaptureOptions) (*runtime.Poller[VirtualNetworkGatewayConnectionsClientStartPacketCaptureResponse], error) { 732 if options == nil || options.ResumeToken == "" { 733 resp, err := client.startPacketCapture(ctx, resourceGroupName, virtualNetworkGatewayConnectionName, options) 734 if err != nil { 735 return nil, err 736 } 737 poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[VirtualNetworkGatewayConnectionsClientStartPacketCaptureResponse]{ 738 FinalStateVia: runtime.FinalStateViaLocation, 739 Tracer: client.internal.Tracer(), 740 }) 741 return poller, err 742 } else { 743 return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[VirtualNetworkGatewayConnectionsClientStartPacketCaptureResponse]{ 744 Tracer: client.internal.Tracer(), 745 }) 746 } 747 } 748 749 // StartPacketCapture - Starts packet capture on virtual network gateway connection in the specified resource group. 750 // If the operation fails it returns an *azcore.ResponseError type. 751 // 752 // Generated from API version 2024-05-01 753 func (client *VirtualNetworkGatewayConnectionsClient) startPacketCapture(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string, options *VirtualNetworkGatewayConnectionsClientBeginStartPacketCaptureOptions) (*http.Response, error) { 754 var err error 755 const operationName = "VirtualNetworkGatewayConnectionsClient.BeginStartPacketCapture" 756 ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) 757 ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) 758 defer func() { endSpan(err) }() 759 req, err := client.startPacketCaptureCreateRequest(ctx, resourceGroupName, virtualNetworkGatewayConnectionName, options) 760 if err != nil { 761 return nil, err 762 } 763 httpResp, err := client.internal.Pipeline().Do(req) 764 if err != nil { 765 return nil, err 766 } 767 if !runtime.HasStatusCode(httpResp, http.StatusOK, http.StatusAccepted) { 768 err = runtime.NewResponseError(httpResp) 769 return nil, err 770 } 771 return httpResp, nil 772 } 773 774 // startPacketCaptureCreateRequest creates the StartPacketCapture request. 775 func (client *VirtualNetworkGatewayConnectionsClient) startPacketCaptureCreateRequest(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string, options *VirtualNetworkGatewayConnectionsClientBeginStartPacketCaptureOptions) (*policy.Request, error) { 776 urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/startPacketCapture" 777 if resourceGroupName == "" { 778 return nil, errors.New("parameter resourceGroupName cannot be empty") 779 } 780 urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName)) 781 if virtualNetworkGatewayConnectionName == "" { 782 return nil, errors.New("parameter virtualNetworkGatewayConnectionName cannot be empty") 783 } 784 urlPath = strings.ReplaceAll(urlPath, "{virtualNetworkGatewayConnectionName}", url.PathEscape(virtualNetworkGatewayConnectionName)) 785 if client.subscriptionID == "" { 786 return nil, errors.New("parameter client.subscriptionID cannot be empty") 787 } 788 urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID)) 789 req, err := runtime.NewRequest(ctx, http.MethodPost, runtime.JoinPaths(client.internal.Endpoint(), urlPath)) 790 if err != nil { 791 return nil, err 792 } 793 reqQP := req.Raw().URL.Query() 794 reqQP.Set("api-version", "2024-05-01") 795 req.Raw().URL.RawQuery = reqQP.Encode() 796 req.Raw().Header["Accept"] = []string{"application/json"} 797 if options != nil && options.Parameters != nil { 798 if err := runtime.MarshalAsJSON(req, *options.Parameters); err != nil { 799 return nil, err 800 } 801 return req, nil 802 } 803 return req, nil 804 } 805 806 // BeginStopPacketCapture - Stops packet capture on virtual network gateway connection in the specified resource group. 807 // If the operation fails it returns an *azcore.ResponseError type. 808 // 809 // Generated from API version 2024-05-01 810 // - resourceGroupName - The name of the resource group. 811 // - virtualNetworkGatewayConnectionName - The name of the virtual network gateway Connection. 812 // - parameters - Virtual network gateway packet capture parameters supplied to stop packet capture on gateway connection. 813 // - options - VirtualNetworkGatewayConnectionsClientBeginStopPacketCaptureOptions contains the optional parameters for the 814 // VirtualNetworkGatewayConnectionsClient.BeginStopPacketCapture method. 815 func (client *VirtualNetworkGatewayConnectionsClient) BeginStopPacketCapture(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string, parameters VPNPacketCaptureStopParameters, options *VirtualNetworkGatewayConnectionsClientBeginStopPacketCaptureOptions) (*runtime.Poller[VirtualNetworkGatewayConnectionsClientStopPacketCaptureResponse], error) { 816 if options == nil || options.ResumeToken == "" { 817 resp, err := client.stopPacketCapture(ctx, resourceGroupName, virtualNetworkGatewayConnectionName, parameters, options) 818 if err != nil { 819 return nil, err 820 } 821 poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[VirtualNetworkGatewayConnectionsClientStopPacketCaptureResponse]{ 822 FinalStateVia: runtime.FinalStateViaLocation, 823 Tracer: client.internal.Tracer(), 824 }) 825 return poller, err 826 } else { 827 return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[VirtualNetworkGatewayConnectionsClientStopPacketCaptureResponse]{ 828 Tracer: client.internal.Tracer(), 829 }) 830 } 831 } 832 833 // StopPacketCapture - Stops packet capture on virtual network gateway connection in the specified resource group. 834 // If the operation fails it returns an *azcore.ResponseError type. 835 // 836 // Generated from API version 2024-05-01 837 func (client *VirtualNetworkGatewayConnectionsClient) stopPacketCapture(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string, parameters VPNPacketCaptureStopParameters, options *VirtualNetworkGatewayConnectionsClientBeginStopPacketCaptureOptions) (*http.Response, error) { 838 var err error 839 const operationName = "VirtualNetworkGatewayConnectionsClient.BeginStopPacketCapture" 840 ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) 841 ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) 842 defer func() { endSpan(err) }() 843 req, err := client.stopPacketCaptureCreateRequest(ctx, resourceGroupName, virtualNetworkGatewayConnectionName, parameters, options) 844 if err != nil { 845 return nil, err 846 } 847 httpResp, err := client.internal.Pipeline().Do(req) 848 if err != nil { 849 return nil, err 850 } 851 if !runtime.HasStatusCode(httpResp, http.StatusOK, http.StatusAccepted) { 852 err = runtime.NewResponseError(httpResp) 853 return nil, err 854 } 855 return httpResp, nil 856 } 857 858 // stopPacketCaptureCreateRequest creates the StopPacketCapture request. 859 func (client *VirtualNetworkGatewayConnectionsClient) stopPacketCaptureCreateRequest(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string, parameters VPNPacketCaptureStopParameters, options *VirtualNetworkGatewayConnectionsClientBeginStopPacketCaptureOptions) (*policy.Request, error) { 860 urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/stopPacketCapture" 861 if resourceGroupName == "" { 862 return nil, errors.New("parameter resourceGroupName cannot be empty") 863 } 864 urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName)) 865 if virtualNetworkGatewayConnectionName == "" { 866 return nil, errors.New("parameter virtualNetworkGatewayConnectionName cannot be empty") 867 } 868 urlPath = strings.ReplaceAll(urlPath, "{virtualNetworkGatewayConnectionName}", url.PathEscape(virtualNetworkGatewayConnectionName)) 869 if client.subscriptionID == "" { 870 return nil, errors.New("parameter client.subscriptionID cannot be empty") 871 } 872 urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID)) 873 req, err := runtime.NewRequest(ctx, http.MethodPost, runtime.JoinPaths(client.internal.Endpoint(), urlPath)) 874 if err != nil { 875 return nil, err 876 } 877 reqQP := req.Raw().URL.Query() 878 reqQP.Set("api-version", "2024-05-01") 879 req.Raw().URL.RawQuery = reqQP.Encode() 880 req.Raw().Header["Accept"] = []string{"application/json"} 881 if err := runtime.MarshalAsJSON(req, parameters); err != nil { 882 return nil, err 883 } 884 return req, nil 885 } 886 887 // BeginUpdateTags - Updates a virtual network gateway connection tags. 888 // If the operation fails it returns an *azcore.ResponseError type. 889 // 890 // Generated from API version 2024-05-01 891 // - resourceGroupName - The name of the resource group. 892 // - virtualNetworkGatewayConnectionName - The name of the virtual network gateway connection. 893 // - parameters - Parameters supplied to update virtual network gateway connection tags. 894 // - options - VirtualNetworkGatewayConnectionsClientBeginUpdateTagsOptions contains the optional parameters for the VirtualNetworkGatewayConnectionsClient.BeginUpdateTags 895 // method. 896 func (client *VirtualNetworkGatewayConnectionsClient) BeginUpdateTags(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string, parameters TagsObject, options *VirtualNetworkGatewayConnectionsClientBeginUpdateTagsOptions) (*runtime.Poller[VirtualNetworkGatewayConnectionsClientUpdateTagsResponse], error) { 897 if options == nil || options.ResumeToken == "" { 898 resp, err := client.updateTags(ctx, resourceGroupName, virtualNetworkGatewayConnectionName, parameters, options) 899 if err != nil { 900 return nil, err 901 } 902 poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[VirtualNetworkGatewayConnectionsClientUpdateTagsResponse]{ 903 FinalStateVia: runtime.FinalStateViaAzureAsyncOp, 904 Tracer: client.internal.Tracer(), 905 }) 906 return poller, err 907 } else { 908 return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[VirtualNetworkGatewayConnectionsClientUpdateTagsResponse]{ 909 Tracer: client.internal.Tracer(), 910 }) 911 } 912 } 913 914 // UpdateTags - Updates a virtual network gateway connection tags. 915 // If the operation fails it returns an *azcore.ResponseError type. 916 // 917 // Generated from API version 2024-05-01 918 func (client *VirtualNetworkGatewayConnectionsClient) updateTags(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string, parameters TagsObject, options *VirtualNetworkGatewayConnectionsClientBeginUpdateTagsOptions) (*http.Response, error) { 919 var err error 920 const operationName = "VirtualNetworkGatewayConnectionsClient.BeginUpdateTags" 921 ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) 922 ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) 923 defer func() { endSpan(err) }() 924 req, err := client.updateTagsCreateRequest(ctx, resourceGroupName, virtualNetworkGatewayConnectionName, parameters, options) 925 if err != nil { 926 return nil, err 927 } 928 httpResp, err := client.internal.Pipeline().Do(req) 929 if err != nil { 930 return nil, err 931 } 932 if !runtime.HasStatusCode(httpResp, http.StatusOK, http.StatusAccepted) { 933 err = runtime.NewResponseError(httpResp) 934 return nil, err 935 } 936 return httpResp, nil 937 } 938 939 // updateTagsCreateRequest creates the UpdateTags request. 940 func (client *VirtualNetworkGatewayConnectionsClient) updateTagsCreateRequest(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string, parameters TagsObject, options *VirtualNetworkGatewayConnectionsClientBeginUpdateTagsOptions) (*policy.Request, error) { 941 urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}" 942 if resourceGroupName == "" { 943 return nil, errors.New("parameter resourceGroupName cannot be empty") 944 } 945 urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName)) 946 if virtualNetworkGatewayConnectionName == "" { 947 return nil, errors.New("parameter virtualNetworkGatewayConnectionName cannot be empty") 948 } 949 urlPath = strings.ReplaceAll(urlPath, "{virtualNetworkGatewayConnectionName}", url.PathEscape(virtualNetworkGatewayConnectionName)) 950 if client.subscriptionID == "" { 951 return nil, errors.New("parameter client.subscriptionID cannot be empty") 952 } 953 urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID)) 954 req, err := runtime.NewRequest(ctx, http.MethodPatch, runtime.JoinPaths(client.internal.Endpoint(), urlPath)) 955 if err != nil { 956 return nil, err 957 } 958 reqQP := req.Raw().URL.Query() 959 reqQP.Set("api-version", "2024-05-01") 960 req.Raw().URL.RawQuery = reqQP.Encode() 961 req.Raw().Header["Accept"] = []string{"application/json"} 962 if err := runtime.MarshalAsJSON(req, parameters); err != nil { 963 return nil, err 964 } 965 return req, nil 966 }