1package migrate 2 3// Copyright (c) Microsoft and contributors. All rights reserved. 4// 5// Licensed under the Apache License, Version 2.0 (the "License"); 6// you may not use this file except in compliance with the License. 7// You may obtain a copy of the License at 8// http://www.apache.org/licenses/LICENSE-2.0 9// 10// Unless required by applicable law or agreed to in writing, software 11// distributed under the License is distributed on an "AS IS" BASIS, 12// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13// 14// See the License for the specific language governing permissions and 15// limitations under the License. 16// 17// Code generated by Microsoft (R) AutoRest Code Generator. 18// Changes may cause incorrect behavior and will be lost if the code is regenerated. 19 20import ( 21 "context" 22 "github.com/Azure/go-autorest/autorest" 23 "github.com/Azure/go-autorest/autorest/azure" 24 "github.com/Azure/go-autorest/tracing" 25 "net/http" 26) 27 28// VCenterClient is the discover your workloads for Azure. 29type VCenterClient struct { 30 BaseClient 31} 32 33// NewVCenterClient creates an instance of the VCenterClient client. 34func NewVCenterClient() VCenterClient { 35 return NewVCenterClientWithBaseURI(DefaultBaseURI) 36} 37 38// NewVCenterClientWithBaseURI creates an instance of the VCenterClient client using a custom endpoint. Use this when 39// interacting with an Azure cloud that uses a non-standard base URI (sovereign clouds, Azure stack). 40func NewVCenterClientWithBaseURI(baseURI string) VCenterClient { 41 return VCenterClient{NewWithBaseURI(baseURI)} 42} 43 44// DeleteVCenter sends the delete v center request. 45// Parameters: 46// subscriptionID - the ID of the target subscription. 47// resourceGroupName - the name of the resource group. The name is case insensitive. 48// siteName - site name. 49// vcenterName - vCenter ARM name. 50// APIVersion - the API version to use for this operation. 51func (client VCenterClient) DeleteVCenter(ctx context.Context, subscriptionID string, resourceGroupName string, siteName string, vcenterName string, APIVersion string) (result autorest.Response, err error) { 52 if tracing.IsEnabled() { 53 ctx = tracing.StartSpan(ctx, fqdn+"/VCenterClient.DeleteVCenter") 54 defer func() { 55 sc := -1 56 if result.Response != nil { 57 sc = result.Response.StatusCode 58 } 59 tracing.EndSpan(ctx, sc, err) 60 }() 61 } 62 req, err := client.DeleteVCenterPreparer(ctx, subscriptionID, resourceGroupName, siteName, vcenterName, APIVersion) 63 if err != nil { 64 err = autorest.NewErrorWithError(err, "migrate.VCenterClient", "DeleteVCenter", nil, "Failure preparing request") 65 return 66 } 67 68 resp, err := client.DeleteVCenterSender(req) 69 if err != nil { 70 result.Response = resp 71 err = autorest.NewErrorWithError(err, "migrate.VCenterClient", "DeleteVCenter", resp, "Failure sending request") 72 return 73 } 74 75 result, err = client.DeleteVCenterResponder(resp) 76 if err != nil { 77 err = autorest.NewErrorWithError(err, "migrate.VCenterClient", "DeleteVCenter", resp, "Failure responding to request") 78 } 79 80 return 81} 82 83// DeleteVCenterPreparer prepares the DeleteVCenter request. 84func (client VCenterClient) DeleteVCenterPreparer(ctx context.Context, subscriptionID string, resourceGroupName string, siteName string, vcenterName string, APIVersion string) (*http.Request, error) { 85 pathParameters := map[string]interface{}{ 86 "resourceGroupName": autorest.Encode("path", resourceGroupName), 87 "siteName": autorest.Encode("path", siteName), 88 "subscriptionId": autorest.Encode("path", subscriptionID), 89 "vcenterName": autorest.Encode("path", vcenterName), 90 } 91 92 queryParameters := map[string]interface{}{ 93 "api-version": APIVersion, 94 } 95 96 preparer := autorest.CreatePreparer( 97 autorest.AsDelete(), 98 autorest.WithBaseURL(client.BaseURI), 99 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OffAzure/VMwareSites/{siteName}/vCenters/{vcenterName}", pathParameters), 100 autorest.WithQueryParameters(queryParameters)) 101 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 102} 103 104// DeleteVCenterSender sends the DeleteVCenter request. The method will close the 105// http.Response Body if it receives an error. 106func (client VCenterClient) DeleteVCenterSender(req *http.Request) (*http.Response, error) { 107 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 108} 109 110// DeleteVCenterResponder handles the response to the DeleteVCenter request. The method always 111// closes the http.Response Body. 112func (client VCenterClient) DeleteVCenterResponder(resp *http.Response) (result autorest.Response, err error) { 113 err = autorest.Respond( 114 resp, 115 client.ByInspecting(), 116 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), 117 autorest.ByClosing()) 118 result.Response = resp 119 return 120} 121 122// GetAllVCentersInSite sends the get all v centers in site request. 123// Parameters: 124// subscriptionID - the ID of the target subscription. 125// resourceGroupName - the name of the resource group. The name is case insensitive. 126// siteName - site name. 127// APIVersion - the API version to use for this operation. 128func (client VCenterClient) GetAllVCentersInSite(ctx context.Context, subscriptionID string, resourceGroupName string, siteName string, APIVersion string, filter string) (result VCenterCollectionPage, err error) { 129 if tracing.IsEnabled() { 130 ctx = tracing.StartSpan(ctx, fqdn+"/VCenterClient.GetAllVCentersInSite") 131 defer func() { 132 sc := -1 133 if result.vcc.Response.Response != nil { 134 sc = result.vcc.Response.Response.StatusCode 135 } 136 tracing.EndSpan(ctx, sc, err) 137 }() 138 } 139 result.fn = client.getAllVCentersInSiteNextResults 140 req, err := client.GetAllVCentersInSitePreparer(ctx, subscriptionID, resourceGroupName, siteName, APIVersion, filter) 141 if err != nil { 142 err = autorest.NewErrorWithError(err, "migrate.VCenterClient", "GetAllVCentersInSite", nil, "Failure preparing request") 143 return 144 } 145 146 resp, err := client.GetAllVCentersInSiteSender(req) 147 if err != nil { 148 result.vcc.Response = autorest.Response{Response: resp} 149 err = autorest.NewErrorWithError(err, "migrate.VCenterClient", "GetAllVCentersInSite", resp, "Failure sending request") 150 return 151 } 152 153 result.vcc, err = client.GetAllVCentersInSiteResponder(resp) 154 if err != nil { 155 err = autorest.NewErrorWithError(err, "migrate.VCenterClient", "GetAllVCentersInSite", resp, "Failure responding to request") 156 } 157 158 return 159} 160 161// GetAllVCentersInSitePreparer prepares the GetAllVCentersInSite request. 162func (client VCenterClient) GetAllVCentersInSitePreparer(ctx context.Context, subscriptionID string, resourceGroupName string, siteName string, APIVersion string, filter string) (*http.Request, error) { 163 pathParameters := map[string]interface{}{ 164 "resourceGroupName": autorest.Encode("path", resourceGroupName), 165 "siteName": autorest.Encode("path", siteName), 166 "subscriptionId": autorest.Encode("path", subscriptionID), 167 } 168 169 queryParameters := map[string]interface{}{ 170 "api-version": APIVersion, 171 } 172 if len(filter) > 0 { 173 queryParameters["$filter"] = autorest.Encode("query", filter) 174 } 175 176 preparer := autorest.CreatePreparer( 177 autorest.AsGet(), 178 autorest.WithBaseURL(client.BaseURI), 179 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OffAzure/VMwareSites/{siteName}/vCenters", pathParameters), 180 autorest.WithQueryParameters(queryParameters)) 181 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 182} 183 184// GetAllVCentersInSiteSender sends the GetAllVCentersInSite request. The method will close the 185// http.Response Body if it receives an error. 186func (client VCenterClient) GetAllVCentersInSiteSender(req *http.Request) (*http.Response, error) { 187 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 188} 189 190// GetAllVCentersInSiteResponder handles the response to the GetAllVCentersInSite request. The method always 191// closes the http.Response Body. 192func (client VCenterClient) GetAllVCentersInSiteResponder(resp *http.Response) (result VCenterCollection, err error) { 193 err = autorest.Respond( 194 resp, 195 client.ByInspecting(), 196 azure.WithErrorUnlessStatusCode(http.StatusOK), 197 autorest.ByUnmarshallingJSON(&result), 198 autorest.ByClosing()) 199 result.Response = autorest.Response{Response: resp} 200 return 201} 202 203// getAllVCentersInSiteNextResults retrieves the next set of results, if any. 204func (client VCenterClient) getAllVCentersInSiteNextResults(ctx context.Context, lastResults VCenterCollection) (result VCenterCollection, err error) { 205 req, err := lastResults.vCenterCollectionPreparer(ctx) 206 if err != nil { 207 return result, autorest.NewErrorWithError(err, "migrate.VCenterClient", "getAllVCentersInSiteNextResults", nil, "Failure preparing next results request") 208 } 209 if req == nil { 210 return 211 } 212 resp, err := client.GetAllVCentersInSiteSender(req) 213 if err != nil { 214 result.Response = autorest.Response{Response: resp} 215 return result, autorest.NewErrorWithError(err, "migrate.VCenterClient", "getAllVCentersInSiteNextResults", resp, "Failure sending next results request") 216 } 217 result, err = client.GetAllVCentersInSiteResponder(resp) 218 if err != nil { 219 err = autorest.NewErrorWithError(err, "migrate.VCenterClient", "getAllVCentersInSiteNextResults", resp, "Failure responding to next results request") 220 } 221 return 222} 223 224// GetAllVCentersInSiteComplete enumerates all values, automatically crossing page boundaries as required. 225func (client VCenterClient) GetAllVCentersInSiteComplete(ctx context.Context, subscriptionID string, resourceGroupName string, siteName string, APIVersion string, filter string) (result VCenterCollectionIterator, err error) { 226 if tracing.IsEnabled() { 227 ctx = tracing.StartSpan(ctx, fqdn+"/VCenterClient.GetAllVCentersInSite") 228 defer func() { 229 sc := -1 230 if result.Response().Response.Response != nil { 231 sc = result.page.Response().Response.Response.StatusCode 232 } 233 tracing.EndSpan(ctx, sc, err) 234 }() 235 } 236 result.page, err = client.GetAllVCentersInSite(ctx, subscriptionID, resourceGroupName, siteName, APIVersion, filter) 237 return 238} 239 240// GetVCenter sends the get v center request. 241// Parameters: 242// subscriptionID - the ID of the target subscription. 243// resourceGroupName - the name of the resource group. The name is case insensitive. 244// siteName - site name. 245// vcenterName - vCenter ARM name. 246// APIVersion - the API version to use for this operation. 247func (client VCenterClient) GetVCenter(ctx context.Context, subscriptionID string, resourceGroupName string, siteName string, vcenterName string, APIVersion string) (result VCenter, err error) { 248 if tracing.IsEnabled() { 249 ctx = tracing.StartSpan(ctx, fqdn+"/VCenterClient.GetVCenter") 250 defer func() { 251 sc := -1 252 if result.Response.Response != nil { 253 sc = result.Response.Response.StatusCode 254 } 255 tracing.EndSpan(ctx, sc, err) 256 }() 257 } 258 req, err := client.GetVCenterPreparer(ctx, subscriptionID, resourceGroupName, siteName, vcenterName, APIVersion) 259 if err != nil { 260 err = autorest.NewErrorWithError(err, "migrate.VCenterClient", "GetVCenter", nil, "Failure preparing request") 261 return 262 } 263 264 resp, err := client.GetVCenterSender(req) 265 if err != nil { 266 result.Response = autorest.Response{Response: resp} 267 err = autorest.NewErrorWithError(err, "migrate.VCenterClient", "GetVCenter", resp, "Failure sending request") 268 return 269 } 270 271 result, err = client.GetVCenterResponder(resp) 272 if err != nil { 273 err = autorest.NewErrorWithError(err, "migrate.VCenterClient", "GetVCenter", resp, "Failure responding to request") 274 } 275 276 return 277} 278 279// GetVCenterPreparer prepares the GetVCenter request. 280func (client VCenterClient) GetVCenterPreparer(ctx context.Context, subscriptionID string, resourceGroupName string, siteName string, vcenterName string, APIVersion string) (*http.Request, error) { 281 pathParameters := map[string]interface{}{ 282 "resourceGroupName": autorest.Encode("path", resourceGroupName), 283 "siteName": autorest.Encode("path", siteName), 284 "subscriptionId": autorest.Encode("path", subscriptionID), 285 "vcenterName": autorest.Encode("path", vcenterName), 286 } 287 288 queryParameters := map[string]interface{}{ 289 "api-version": APIVersion, 290 } 291 292 preparer := autorest.CreatePreparer( 293 autorest.AsGet(), 294 autorest.WithBaseURL(client.BaseURI), 295 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OffAzure/VMwareSites/{siteName}/vCenters/{vcenterName}", pathParameters), 296 autorest.WithQueryParameters(queryParameters)) 297 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 298} 299 300// GetVCenterSender sends the GetVCenter request. The method will close the 301// http.Response Body if it receives an error. 302func (client VCenterClient) GetVCenterSender(req *http.Request) (*http.Response, error) { 303 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 304} 305 306// GetVCenterResponder handles the response to the GetVCenter request. The method always 307// closes the http.Response Body. 308func (client VCenterClient) GetVCenterResponder(resp *http.Response) (result VCenter, err error) { 309 err = autorest.Respond( 310 resp, 311 client.ByInspecting(), 312 azure.WithErrorUnlessStatusCode(http.StatusOK), 313 autorest.ByUnmarshallingJSON(&result), 314 autorest.ByClosing()) 315 result.Response = autorest.Response{Response: resp} 316 return 317} 318 319// PutVCenter sends the put v center request. 320// Parameters: 321// subscriptionID - the ID of the target subscription. 322// resourceGroupName - the name of the resource group. The name is case insensitive. 323// siteName - site name. 324// vcenterName - vCenter ARM name. 325// body - put vCenter body. 326// APIVersion - the API version to use for this operation. 327func (client VCenterClient) PutVCenter(ctx context.Context, subscriptionID string, resourceGroupName string, siteName string, vcenterName string, body VCenter, APIVersion string) (result autorest.Response, err error) { 328 if tracing.IsEnabled() { 329 ctx = tracing.StartSpan(ctx, fqdn+"/VCenterClient.PutVCenter") 330 defer func() { 331 sc := -1 332 if result.Response != nil { 333 sc = result.Response.StatusCode 334 } 335 tracing.EndSpan(ctx, sc, err) 336 }() 337 } 338 req, err := client.PutVCenterPreparer(ctx, subscriptionID, resourceGroupName, siteName, vcenterName, body, APIVersion) 339 if err != nil { 340 err = autorest.NewErrorWithError(err, "migrate.VCenterClient", "PutVCenter", nil, "Failure preparing request") 341 return 342 } 343 344 resp, err := client.PutVCenterSender(req) 345 if err != nil { 346 result.Response = resp 347 err = autorest.NewErrorWithError(err, "migrate.VCenterClient", "PutVCenter", resp, "Failure sending request") 348 return 349 } 350 351 result, err = client.PutVCenterResponder(resp) 352 if err != nil { 353 err = autorest.NewErrorWithError(err, "migrate.VCenterClient", "PutVCenter", resp, "Failure responding to request") 354 } 355 356 return 357} 358 359// PutVCenterPreparer prepares the PutVCenter request. 360func (client VCenterClient) PutVCenterPreparer(ctx context.Context, subscriptionID string, resourceGroupName string, siteName string, vcenterName string, body VCenter, APIVersion string) (*http.Request, error) { 361 pathParameters := map[string]interface{}{ 362 "resourceGroupName": autorest.Encode("path", resourceGroupName), 363 "siteName": autorest.Encode("path", siteName), 364 "subscriptionId": autorest.Encode("path", subscriptionID), 365 "vcenterName": autorest.Encode("path", vcenterName), 366 } 367 368 queryParameters := map[string]interface{}{ 369 "api-version": APIVersion, 370 } 371 372 body.ID = nil 373 body.Type = nil 374 preparer := autorest.CreatePreparer( 375 autorest.AsContentType("application/json; charset=utf-8"), 376 autorest.AsPut(), 377 autorest.WithBaseURL(client.BaseURI), 378 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OffAzure/VMwareSites/{siteName}/vCenters/{vcenterName}", pathParameters), 379 autorest.WithJSON(body), 380 autorest.WithQueryParameters(queryParameters)) 381 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 382} 383 384// PutVCenterSender sends the PutVCenter request. The method will close the 385// http.Response Body if it receives an error. 386func (client VCenterClient) PutVCenterSender(req *http.Request) (*http.Response, error) { 387 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 388} 389 390// PutVCenterResponder handles the response to the PutVCenter request. The method always 391// closes the http.Response Body. 392func (client VCenterClient) PutVCenterResponder(resp *http.Response) (result autorest.Response, err error) { 393 err = autorest.Respond( 394 resp, 395 client.ByInspecting(), 396 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), 397 autorest.ByClosing()) 398 result.Response = resp 399 return 400} 401