1package network 2 3// Copyright (c) Microsoft Corporation. All rights reserved. 4// Licensed under the MIT License. See License.txt in the project root for license information. 5// 6// Code generated by Microsoft (R) AutoRest Code Generator. 7// Changes may cause incorrect behavior and will be lost if the code is regenerated. 8 9import ( 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// AvailablePrivateEndpointTypesClient is the network Client 18type AvailablePrivateEndpointTypesClient struct { 19 BaseClient 20} 21 22// NewAvailablePrivateEndpointTypesClient creates an instance of the AvailablePrivateEndpointTypesClient client. 23func NewAvailablePrivateEndpointTypesClient(subscriptionID string) AvailablePrivateEndpointTypesClient { 24 return NewAvailablePrivateEndpointTypesClientWithBaseURI(DefaultBaseURI, subscriptionID) 25} 26 27// NewAvailablePrivateEndpointTypesClientWithBaseURI creates an instance of the AvailablePrivateEndpointTypesClient 28// client using a custom endpoint. Use this when interacting with an Azure cloud that uses a non-standard base URI 29// (sovereign clouds, Azure stack). 30func NewAvailablePrivateEndpointTypesClientWithBaseURI(baseURI string, subscriptionID string) AvailablePrivateEndpointTypesClient { 31 return AvailablePrivateEndpointTypesClient{NewWithBaseURI(baseURI, subscriptionID)} 32} 33 34// List returns all of the resource types that can be linked to a Private Endpoint in this subscription in this region. 35// Parameters: 36// location - the location of the domain name. 37func (client AvailablePrivateEndpointTypesClient) List(ctx context.Context, location string) (result AvailablePrivateEndpointTypesResultPage, err error) { 38 if tracing.IsEnabled() { 39 ctx = tracing.StartSpan(ctx, fqdn+"/AvailablePrivateEndpointTypesClient.List") 40 defer func() { 41 sc := -1 42 if result.apetr.Response.Response != nil { 43 sc = result.apetr.Response.Response.StatusCode 44 } 45 tracing.EndSpan(ctx, sc, err) 46 }() 47 } 48 result.fn = client.listNextResults 49 req, err := client.ListPreparer(ctx, location) 50 if err != nil { 51 err = autorest.NewErrorWithError(err, "network.AvailablePrivateEndpointTypesClient", "List", nil, "Failure preparing request") 52 return 53 } 54 55 resp, err := client.ListSender(req) 56 if err != nil { 57 result.apetr.Response = autorest.Response{Response: resp} 58 err = autorest.NewErrorWithError(err, "network.AvailablePrivateEndpointTypesClient", "List", resp, "Failure sending request") 59 return 60 } 61 62 result.apetr, err = client.ListResponder(resp) 63 if err != nil { 64 err = autorest.NewErrorWithError(err, "network.AvailablePrivateEndpointTypesClient", "List", resp, "Failure responding to request") 65 return 66 } 67 if result.apetr.hasNextLink() && result.apetr.IsEmpty() { 68 err = result.NextWithContext(ctx) 69 return 70 } 71 72 return 73} 74 75// ListPreparer prepares the List request. 76func (client AvailablePrivateEndpointTypesClient) ListPreparer(ctx context.Context, location string) (*http.Request, error) { 77 pathParameters := map[string]interface{}{ 78 "location": autorest.Encode("path", location), 79 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 80 } 81 82 const APIVersion = "2020-06-01" 83 queryParameters := map[string]interface{}{ 84 "api-version": APIVersion, 85 } 86 87 preparer := autorest.CreatePreparer( 88 autorest.AsGet(), 89 autorest.WithBaseURL(client.BaseURI), 90 autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/availablePrivateEndpointTypes", pathParameters), 91 autorest.WithQueryParameters(queryParameters)) 92 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 93} 94 95// ListSender sends the List request. The method will close the 96// http.Response Body if it receives an error. 97func (client AvailablePrivateEndpointTypesClient) ListSender(req *http.Request) (*http.Response, error) { 98 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 99} 100 101// ListResponder handles the response to the List request. The method always 102// closes the http.Response Body. 103func (client AvailablePrivateEndpointTypesClient) ListResponder(resp *http.Response) (result AvailablePrivateEndpointTypesResult, err error) { 104 err = autorest.Respond( 105 resp, 106 azure.WithErrorUnlessStatusCode(http.StatusOK), 107 autorest.ByUnmarshallingJSON(&result), 108 autorest.ByClosing()) 109 result.Response = autorest.Response{Response: resp} 110 return 111} 112 113// listNextResults retrieves the next set of results, if any. 114func (client AvailablePrivateEndpointTypesClient) listNextResults(ctx context.Context, lastResults AvailablePrivateEndpointTypesResult) (result AvailablePrivateEndpointTypesResult, err error) { 115 req, err := lastResults.availablePrivateEndpointTypesResultPreparer(ctx) 116 if err != nil { 117 return result, autorest.NewErrorWithError(err, "network.AvailablePrivateEndpointTypesClient", "listNextResults", nil, "Failure preparing next results request") 118 } 119 if req == nil { 120 return 121 } 122 resp, err := client.ListSender(req) 123 if err != nil { 124 result.Response = autorest.Response{Response: resp} 125 return result, autorest.NewErrorWithError(err, "network.AvailablePrivateEndpointTypesClient", "listNextResults", resp, "Failure sending next results request") 126 } 127 result, err = client.ListResponder(resp) 128 if err != nil { 129 err = autorest.NewErrorWithError(err, "network.AvailablePrivateEndpointTypesClient", "listNextResults", resp, "Failure responding to next results request") 130 } 131 return 132} 133 134// ListComplete enumerates all values, automatically crossing page boundaries as required. 135func (client AvailablePrivateEndpointTypesClient) ListComplete(ctx context.Context, location string) (result AvailablePrivateEndpointTypesResultIterator, err error) { 136 if tracing.IsEnabled() { 137 ctx = tracing.StartSpan(ctx, fqdn+"/AvailablePrivateEndpointTypesClient.List") 138 defer func() { 139 sc := -1 140 if result.Response().Response.Response != nil { 141 sc = result.page.Response().Response.Response.StatusCode 142 } 143 tracing.EndSpan(ctx, sc, err) 144 }() 145 } 146 result.page, err = client.List(ctx, location) 147 return 148} 149 150// ListByResourceGroup returns all of the resource types that can be linked to a Private Endpoint in this subscription 151// in this region. 152// Parameters: 153// location - the location of the domain name. 154// resourceGroupName - the name of the resource group. 155func (client AvailablePrivateEndpointTypesClient) ListByResourceGroup(ctx context.Context, location string, resourceGroupName string) (result AvailablePrivateEndpointTypesResultPage, err error) { 156 if tracing.IsEnabled() { 157 ctx = tracing.StartSpan(ctx, fqdn+"/AvailablePrivateEndpointTypesClient.ListByResourceGroup") 158 defer func() { 159 sc := -1 160 if result.apetr.Response.Response != nil { 161 sc = result.apetr.Response.Response.StatusCode 162 } 163 tracing.EndSpan(ctx, sc, err) 164 }() 165 } 166 result.fn = client.listByResourceGroupNextResults 167 req, err := client.ListByResourceGroupPreparer(ctx, location, resourceGroupName) 168 if err != nil { 169 err = autorest.NewErrorWithError(err, "network.AvailablePrivateEndpointTypesClient", "ListByResourceGroup", nil, "Failure preparing request") 170 return 171 } 172 173 resp, err := client.ListByResourceGroupSender(req) 174 if err != nil { 175 result.apetr.Response = autorest.Response{Response: resp} 176 err = autorest.NewErrorWithError(err, "network.AvailablePrivateEndpointTypesClient", "ListByResourceGroup", resp, "Failure sending request") 177 return 178 } 179 180 result.apetr, err = client.ListByResourceGroupResponder(resp) 181 if err != nil { 182 err = autorest.NewErrorWithError(err, "network.AvailablePrivateEndpointTypesClient", "ListByResourceGroup", resp, "Failure responding to request") 183 return 184 } 185 if result.apetr.hasNextLink() && result.apetr.IsEmpty() { 186 err = result.NextWithContext(ctx) 187 return 188 } 189 190 return 191} 192 193// ListByResourceGroupPreparer prepares the ListByResourceGroup request. 194func (client AvailablePrivateEndpointTypesClient) ListByResourceGroupPreparer(ctx context.Context, location string, resourceGroupName string) (*http.Request, error) { 195 pathParameters := map[string]interface{}{ 196 "location": autorest.Encode("path", location), 197 "resourceGroupName": autorest.Encode("path", resourceGroupName), 198 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 199 } 200 201 const APIVersion = "2020-06-01" 202 queryParameters := map[string]interface{}{ 203 "api-version": APIVersion, 204 } 205 206 preparer := autorest.CreatePreparer( 207 autorest.AsGet(), 208 autorest.WithBaseURL(client.BaseURI), 209 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/locations/{location}/availablePrivateEndpointTypes", pathParameters), 210 autorest.WithQueryParameters(queryParameters)) 211 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 212} 213 214// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the 215// http.Response Body if it receives an error. 216func (client AvailablePrivateEndpointTypesClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { 217 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 218} 219 220// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always 221// closes the http.Response Body. 222func (client AvailablePrivateEndpointTypesClient) ListByResourceGroupResponder(resp *http.Response) (result AvailablePrivateEndpointTypesResult, err error) { 223 err = autorest.Respond( 224 resp, 225 azure.WithErrorUnlessStatusCode(http.StatusOK), 226 autorest.ByUnmarshallingJSON(&result), 227 autorest.ByClosing()) 228 result.Response = autorest.Response{Response: resp} 229 return 230} 231 232// listByResourceGroupNextResults retrieves the next set of results, if any. 233func (client AvailablePrivateEndpointTypesClient) listByResourceGroupNextResults(ctx context.Context, lastResults AvailablePrivateEndpointTypesResult) (result AvailablePrivateEndpointTypesResult, err error) { 234 req, err := lastResults.availablePrivateEndpointTypesResultPreparer(ctx) 235 if err != nil { 236 return result, autorest.NewErrorWithError(err, "network.AvailablePrivateEndpointTypesClient", "listByResourceGroupNextResults", nil, "Failure preparing next results request") 237 } 238 if req == nil { 239 return 240 } 241 resp, err := client.ListByResourceGroupSender(req) 242 if err != nil { 243 result.Response = autorest.Response{Response: resp} 244 return result, autorest.NewErrorWithError(err, "network.AvailablePrivateEndpointTypesClient", "listByResourceGroupNextResults", resp, "Failure sending next results request") 245 } 246 result, err = client.ListByResourceGroupResponder(resp) 247 if err != nil { 248 err = autorest.NewErrorWithError(err, "network.AvailablePrivateEndpointTypesClient", "listByResourceGroupNextResults", resp, "Failure responding to next results request") 249 } 250 return 251} 252 253// ListByResourceGroupComplete enumerates all values, automatically crossing page boundaries as required. 254func (client AvailablePrivateEndpointTypesClient) ListByResourceGroupComplete(ctx context.Context, location string, resourceGroupName string) (result AvailablePrivateEndpointTypesResultIterator, err error) { 255 if tracing.IsEnabled() { 256 ctx = tracing.StartSpan(ctx, fqdn+"/AvailablePrivateEndpointTypesClient.ListByResourceGroup") 257 defer func() { 258 sc := -1 259 if result.Response().Response.Response != nil { 260 sc = result.page.Response().Response.Response.StatusCode 261 } 262 tracing.EndSpan(ctx, sc, err) 263 }() 264 } 265 result.page, err = client.ListByResourceGroup(ctx, location, resourceGroupName) 266 return 267} 268