1package compute 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// VirtualMachineExtensionImagesClient is the compute Client 18type VirtualMachineExtensionImagesClient struct { 19 BaseClient 20} 21 22// NewVirtualMachineExtensionImagesClient creates an instance of the VirtualMachineExtensionImagesClient client. 23func NewVirtualMachineExtensionImagesClient(subscriptionID string) VirtualMachineExtensionImagesClient { 24 return NewVirtualMachineExtensionImagesClientWithBaseURI(DefaultBaseURI, subscriptionID) 25} 26 27// NewVirtualMachineExtensionImagesClientWithBaseURI creates an instance of the VirtualMachineExtensionImagesClient 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 NewVirtualMachineExtensionImagesClientWithBaseURI(baseURI string, subscriptionID string) VirtualMachineExtensionImagesClient { 31 return VirtualMachineExtensionImagesClient{NewWithBaseURI(baseURI, subscriptionID)} 32} 33 34// Get gets a virtual machine extension image. 35// Parameters: 36// location - the name of a supported Azure region. 37func (client VirtualMachineExtensionImagesClient) Get(ctx context.Context, location string, publisherName string, typeParameter string, version string) (result VirtualMachineExtensionImage, err error) { 38 if tracing.IsEnabled() { 39 ctx = tracing.StartSpan(ctx, fqdn+"/VirtualMachineExtensionImagesClient.Get") 40 defer func() { 41 sc := -1 42 if result.Response.Response != nil { 43 sc = result.Response.Response.StatusCode 44 } 45 tracing.EndSpan(ctx, sc, err) 46 }() 47 } 48 req, err := client.GetPreparer(ctx, location, publisherName, typeParameter, version) 49 if err != nil { 50 err = autorest.NewErrorWithError(err, "compute.VirtualMachineExtensionImagesClient", "Get", nil, "Failure preparing request") 51 return 52 } 53 54 resp, err := client.GetSender(req) 55 if err != nil { 56 result.Response = autorest.Response{Response: resp} 57 err = autorest.NewErrorWithError(err, "compute.VirtualMachineExtensionImagesClient", "Get", resp, "Failure sending request") 58 return 59 } 60 61 result, err = client.GetResponder(resp) 62 if err != nil { 63 err = autorest.NewErrorWithError(err, "compute.VirtualMachineExtensionImagesClient", "Get", resp, "Failure responding to request") 64 return 65 } 66 67 return 68} 69 70// GetPreparer prepares the Get request. 71func (client VirtualMachineExtensionImagesClient) GetPreparer(ctx context.Context, location string, publisherName string, typeParameter string, version string) (*http.Request, error) { 72 pathParameters := map[string]interface{}{ 73 "location": autorest.Encode("path", location), 74 "publisherName": autorest.Encode("path", publisherName), 75 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 76 "type": autorest.Encode("path", typeParameter), 77 "version": autorest.Encode("path", version), 78 } 79 80 const APIVersion = "2020-06-01" 81 queryParameters := map[string]interface{}{ 82 "api-version": APIVersion, 83 } 84 85 preparer := autorest.CreatePreparer( 86 autorest.AsGet(), 87 autorest.WithBaseURL(client.BaseURI), 88 autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmextension/types/{type}/versions/{version}", pathParameters), 89 autorest.WithQueryParameters(queryParameters)) 90 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 91} 92 93// GetSender sends the Get request. The method will close the 94// http.Response Body if it receives an error. 95func (client VirtualMachineExtensionImagesClient) GetSender(req *http.Request) (*http.Response, error) { 96 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 97} 98 99// GetResponder handles the response to the Get request. The method always 100// closes the http.Response Body. 101func (client VirtualMachineExtensionImagesClient) GetResponder(resp *http.Response) (result VirtualMachineExtensionImage, err error) { 102 err = autorest.Respond( 103 resp, 104 azure.WithErrorUnlessStatusCode(http.StatusOK), 105 autorest.ByUnmarshallingJSON(&result), 106 autorest.ByClosing()) 107 result.Response = autorest.Response{Response: resp} 108 return 109} 110 111// ListTypes gets a list of virtual machine extension image types. 112// Parameters: 113// location - the name of a supported Azure region. 114func (client VirtualMachineExtensionImagesClient) ListTypes(ctx context.Context, location string, publisherName string) (result ListVirtualMachineExtensionImage, err error) { 115 if tracing.IsEnabled() { 116 ctx = tracing.StartSpan(ctx, fqdn+"/VirtualMachineExtensionImagesClient.ListTypes") 117 defer func() { 118 sc := -1 119 if result.Response.Response != nil { 120 sc = result.Response.Response.StatusCode 121 } 122 tracing.EndSpan(ctx, sc, err) 123 }() 124 } 125 req, err := client.ListTypesPreparer(ctx, location, publisherName) 126 if err != nil { 127 err = autorest.NewErrorWithError(err, "compute.VirtualMachineExtensionImagesClient", "ListTypes", nil, "Failure preparing request") 128 return 129 } 130 131 resp, err := client.ListTypesSender(req) 132 if err != nil { 133 result.Response = autorest.Response{Response: resp} 134 err = autorest.NewErrorWithError(err, "compute.VirtualMachineExtensionImagesClient", "ListTypes", resp, "Failure sending request") 135 return 136 } 137 138 result, err = client.ListTypesResponder(resp) 139 if err != nil { 140 err = autorest.NewErrorWithError(err, "compute.VirtualMachineExtensionImagesClient", "ListTypes", resp, "Failure responding to request") 141 return 142 } 143 144 return 145} 146 147// ListTypesPreparer prepares the ListTypes request. 148func (client VirtualMachineExtensionImagesClient) ListTypesPreparer(ctx context.Context, location string, publisherName string) (*http.Request, error) { 149 pathParameters := map[string]interface{}{ 150 "location": autorest.Encode("path", location), 151 "publisherName": autorest.Encode("path", publisherName), 152 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 153 } 154 155 const APIVersion = "2020-06-01" 156 queryParameters := map[string]interface{}{ 157 "api-version": APIVersion, 158 } 159 160 preparer := autorest.CreatePreparer( 161 autorest.AsGet(), 162 autorest.WithBaseURL(client.BaseURI), 163 autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmextension/types", pathParameters), 164 autorest.WithQueryParameters(queryParameters)) 165 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 166} 167 168// ListTypesSender sends the ListTypes request. The method will close the 169// http.Response Body if it receives an error. 170func (client VirtualMachineExtensionImagesClient) ListTypesSender(req *http.Request) (*http.Response, error) { 171 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 172} 173 174// ListTypesResponder handles the response to the ListTypes request. The method always 175// closes the http.Response Body. 176func (client VirtualMachineExtensionImagesClient) ListTypesResponder(resp *http.Response) (result ListVirtualMachineExtensionImage, err error) { 177 err = autorest.Respond( 178 resp, 179 azure.WithErrorUnlessStatusCode(http.StatusOK), 180 autorest.ByUnmarshallingJSON(&result.Value), 181 autorest.ByClosing()) 182 result.Response = autorest.Response{Response: resp} 183 return 184} 185 186// ListVersions gets a list of virtual machine extension image versions. 187// Parameters: 188// location - the name of a supported Azure region. 189// filter - the filter to apply on the operation. 190func (client VirtualMachineExtensionImagesClient) ListVersions(ctx context.Context, location string, publisherName string, typeParameter string, filter string, top *int32, orderby string) (result ListVirtualMachineExtensionImage, err error) { 191 if tracing.IsEnabled() { 192 ctx = tracing.StartSpan(ctx, fqdn+"/VirtualMachineExtensionImagesClient.ListVersions") 193 defer func() { 194 sc := -1 195 if result.Response.Response != nil { 196 sc = result.Response.Response.StatusCode 197 } 198 tracing.EndSpan(ctx, sc, err) 199 }() 200 } 201 req, err := client.ListVersionsPreparer(ctx, location, publisherName, typeParameter, filter, top, orderby) 202 if err != nil { 203 err = autorest.NewErrorWithError(err, "compute.VirtualMachineExtensionImagesClient", "ListVersions", nil, "Failure preparing request") 204 return 205 } 206 207 resp, err := client.ListVersionsSender(req) 208 if err != nil { 209 result.Response = autorest.Response{Response: resp} 210 err = autorest.NewErrorWithError(err, "compute.VirtualMachineExtensionImagesClient", "ListVersions", resp, "Failure sending request") 211 return 212 } 213 214 result, err = client.ListVersionsResponder(resp) 215 if err != nil { 216 err = autorest.NewErrorWithError(err, "compute.VirtualMachineExtensionImagesClient", "ListVersions", resp, "Failure responding to request") 217 return 218 } 219 220 return 221} 222 223// ListVersionsPreparer prepares the ListVersions request. 224func (client VirtualMachineExtensionImagesClient) ListVersionsPreparer(ctx context.Context, location string, publisherName string, typeParameter string, filter string, top *int32, orderby string) (*http.Request, error) { 225 pathParameters := map[string]interface{}{ 226 "location": autorest.Encode("path", location), 227 "publisherName": autorest.Encode("path", publisherName), 228 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 229 "type": autorest.Encode("path", typeParameter), 230 } 231 232 const APIVersion = "2020-06-01" 233 queryParameters := map[string]interface{}{ 234 "api-version": APIVersion, 235 } 236 if len(filter) > 0 { 237 queryParameters["$filter"] = autorest.Encode("query", filter) 238 } 239 if top != nil { 240 queryParameters["$top"] = autorest.Encode("query", *top) 241 } 242 if len(orderby) > 0 { 243 queryParameters["$orderby"] = autorest.Encode("query", orderby) 244 } 245 246 preparer := autorest.CreatePreparer( 247 autorest.AsGet(), 248 autorest.WithBaseURL(client.BaseURI), 249 autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmextension/types/{type}/versions", pathParameters), 250 autorest.WithQueryParameters(queryParameters)) 251 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 252} 253 254// ListVersionsSender sends the ListVersions request. The method will close the 255// http.Response Body if it receives an error. 256func (client VirtualMachineExtensionImagesClient) ListVersionsSender(req *http.Request) (*http.Response, error) { 257 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 258} 259 260// ListVersionsResponder handles the response to the ListVersions request. The method always 261// closes the http.Response Body. 262func (client VirtualMachineExtensionImagesClient) ListVersionsResponder(resp *http.Response) (result ListVirtualMachineExtensionImage, err error) { 263 err = autorest.Respond( 264 resp, 265 azure.WithErrorUnlessStatusCode(http.StatusOK), 266 autorest.ByUnmarshallingJSON(&result.Value), 267 autorest.ByClosing()) 268 result.Response = autorest.Response{Response: resp} 269 return 270} 271