1package datamigration 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 "net/http" 25) 26 27// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/datamigration/mgmt/2017-11-15-preview/datamigration instead. 28// ProjectsClient is the data Migration Client 29type ProjectsClient struct { 30 BaseClient 31} 32 33// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/datamigration/mgmt/2017-11-15-preview/datamigration instead. 34// NewProjectsClient creates an instance of the ProjectsClient client. 35func NewProjectsClient(subscriptionID string) ProjectsClient { 36 return NewProjectsClientWithBaseURI(DefaultBaseURI, subscriptionID) 37} 38 39// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/datamigration/mgmt/2017-11-15-preview/datamigration instead. 40// NewProjectsClientWithBaseURI creates an instance of the ProjectsClient client. 41func NewProjectsClientWithBaseURI(baseURI string, subscriptionID string) ProjectsClient { 42 return ProjectsClient{NewWithBaseURI(baseURI, subscriptionID)} 43} 44 45// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/datamigration/mgmt/2017-11-15-preview/datamigration instead. 46// CreateOrUpdate the project resource is a nested resource representing a stored migration project. The PUT method 47// creates a new project or updates an existing one. 48// 49// parameters is information about the project groupName is name of the resource group serviceName is name of the 50// service projectName is name of the project 51func (client ProjectsClient) CreateOrUpdate(ctx context.Context, parameters Project, groupName string, serviceName string, projectName string) (result Project, err error) { 52 req, err := client.CreateOrUpdatePreparer(ctx, parameters, groupName, serviceName, projectName) 53 if err != nil { 54 err = autorest.NewErrorWithError(err, "datamigration.ProjectsClient", "CreateOrUpdate", nil, "Failure preparing request") 55 return 56 } 57 58 resp, err := client.CreateOrUpdateSender(req) 59 if err != nil { 60 result.Response = autorest.Response{Response: resp} 61 err = autorest.NewErrorWithError(err, "datamigration.ProjectsClient", "CreateOrUpdate", resp, "Failure sending request") 62 return 63 } 64 65 result, err = client.CreateOrUpdateResponder(resp) 66 if err != nil { 67 err = autorest.NewErrorWithError(err, "datamigration.ProjectsClient", "CreateOrUpdate", resp, "Failure responding to request") 68 } 69 70 return 71} 72 73// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/datamigration/mgmt/2017-11-15-preview/datamigration instead. 74// CreateOrUpdatePreparer prepares the CreateOrUpdate request. 75func (client ProjectsClient) CreateOrUpdatePreparer(ctx context.Context, parameters Project, groupName string, serviceName string, projectName string) (*http.Request, error) { 76 pathParameters := map[string]interface{}{ 77 "groupName": autorest.Encode("path", groupName), 78 "projectName": autorest.Encode("path", projectName), 79 "serviceName": autorest.Encode("path", serviceName), 80 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 81 } 82 83 const APIVersion = "2017-11-15-preview" 84 queryParameters := map[string]interface{}{ 85 "api-version": APIVersion, 86 } 87 88 preparer := autorest.CreatePreparer( 89 autorest.AsContentType("application/json; charset=utf-8"), 90 autorest.AsPut(), 91 autorest.WithBaseURL(client.BaseURI), 92 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}", pathParameters), 93 autorest.WithJSON(parameters), 94 autorest.WithQueryParameters(queryParameters)) 95 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 96} 97 98// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/datamigration/mgmt/2017-11-15-preview/datamigration instead. 99// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the 100// http.Response Body if it receives an error. 101func (client ProjectsClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { 102 return autorest.SendWithSender(client, req, 103 azure.DoRetryWithRegistration(client.Client)) 104} 105 106// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/datamigration/mgmt/2017-11-15-preview/datamigration instead. 107// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always 108// closes the http.Response Body. 109func (client ProjectsClient) CreateOrUpdateResponder(resp *http.Response) (result Project, err error) { 110 err = autorest.Respond( 111 resp, 112 client.ByInspecting(), 113 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), 114 autorest.ByUnmarshallingJSON(&result), 115 autorest.ByClosing()) 116 result.Response = autorest.Response{Response: resp} 117 return 118} 119 120// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/datamigration/mgmt/2017-11-15-preview/datamigration instead. 121// Delete the project resource is a nested resource representing a stored migration project. The DELETE method deletes 122// a project. 123// 124// groupName is name of the resource group serviceName is name of the service projectName is name of the project 125// deleteRunningTasks is delete the resource even if it contains running tasks 126func (client ProjectsClient) Delete(ctx context.Context, groupName string, serviceName string, projectName string, deleteRunningTasks *bool) (result autorest.Response, err error) { 127 req, err := client.DeletePreparer(ctx, groupName, serviceName, projectName, deleteRunningTasks) 128 if err != nil { 129 err = autorest.NewErrorWithError(err, "datamigration.ProjectsClient", "Delete", nil, "Failure preparing request") 130 return 131 } 132 133 resp, err := client.DeleteSender(req) 134 if err != nil { 135 result.Response = resp 136 err = autorest.NewErrorWithError(err, "datamigration.ProjectsClient", "Delete", resp, "Failure sending request") 137 return 138 } 139 140 result, err = client.DeleteResponder(resp) 141 if err != nil { 142 err = autorest.NewErrorWithError(err, "datamigration.ProjectsClient", "Delete", resp, "Failure responding to request") 143 } 144 145 return 146} 147 148// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/datamigration/mgmt/2017-11-15-preview/datamigration instead. 149// DeletePreparer prepares the Delete request. 150func (client ProjectsClient) DeletePreparer(ctx context.Context, groupName string, serviceName string, projectName string, deleteRunningTasks *bool) (*http.Request, error) { 151 pathParameters := map[string]interface{}{ 152 "groupName": autorest.Encode("path", groupName), 153 "projectName": autorest.Encode("path", projectName), 154 "serviceName": autorest.Encode("path", serviceName), 155 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 156 } 157 158 const APIVersion = "2017-11-15-preview" 159 queryParameters := map[string]interface{}{ 160 "api-version": APIVersion, 161 } 162 if deleteRunningTasks != nil { 163 queryParameters["deleteRunningTasks"] = autorest.Encode("query", *deleteRunningTasks) 164 } 165 166 preparer := autorest.CreatePreparer( 167 autorest.AsDelete(), 168 autorest.WithBaseURL(client.BaseURI), 169 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}", pathParameters), 170 autorest.WithQueryParameters(queryParameters)) 171 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 172} 173 174// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/datamigration/mgmt/2017-11-15-preview/datamigration instead. 175// DeleteSender sends the Delete request. The method will close the 176// http.Response Body if it receives an error. 177func (client ProjectsClient) DeleteSender(req *http.Request) (*http.Response, error) { 178 return autorest.SendWithSender(client, req, 179 azure.DoRetryWithRegistration(client.Client)) 180} 181 182// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/datamigration/mgmt/2017-11-15-preview/datamigration instead. 183// DeleteResponder handles the response to the Delete request. The method always 184// closes the http.Response Body. 185func (client ProjectsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { 186 err = autorest.Respond( 187 resp, 188 client.ByInspecting(), 189 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), 190 autorest.ByClosing()) 191 result.Response = resp 192 return 193} 194 195// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/datamigration/mgmt/2017-11-15-preview/datamigration instead. 196// Get the project resource is a nested resource representing a stored migration project. The GET method retrieves 197// information about a project. 198// 199// groupName is name of the resource group serviceName is name of the service projectName is name of the project 200func (client ProjectsClient) Get(ctx context.Context, groupName string, serviceName string, projectName string) (result Project, err error) { 201 req, err := client.GetPreparer(ctx, groupName, serviceName, projectName) 202 if err != nil { 203 err = autorest.NewErrorWithError(err, "datamigration.ProjectsClient", "Get", nil, "Failure preparing request") 204 return 205 } 206 207 resp, err := client.GetSender(req) 208 if err != nil { 209 result.Response = autorest.Response{Response: resp} 210 err = autorest.NewErrorWithError(err, "datamigration.ProjectsClient", "Get", resp, "Failure sending request") 211 return 212 } 213 214 result, err = client.GetResponder(resp) 215 if err != nil { 216 err = autorest.NewErrorWithError(err, "datamigration.ProjectsClient", "Get", resp, "Failure responding to request") 217 } 218 219 return 220} 221 222// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/datamigration/mgmt/2017-11-15-preview/datamigration instead. 223// GetPreparer prepares the Get request. 224func (client ProjectsClient) GetPreparer(ctx context.Context, groupName string, serviceName string, projectName string) (*http.Request, error) { 225 pathParameters := map[string]interface{}{ 226 "groupName": autorest.Encode("path", groupName), 227 "projectName": autorest.Encode("path", projectName), 228 "serviceName": autorest.Encode("path", serviceName), 229 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 230 } 231 232 const APIVersion = "2017-11-15-preview" 233 queryParameters := map[string]interface{}{ 234 "api-version": APIVersion, 235 } 236 237 preparer := autorest.CreatePreparer( 238 autorest.AsGet(), 239 autorest.WithBaseURL(client.BaseURI), 240 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}", pathParameters), 241 autorest.WithQueryParameters(queryParameters)) 242 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 243} 244 245// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/datamigration/mgmt/2017-11-15-preview/datamigration instead. 246// GetSender sends the Get request. The method will close the 247// http.Response Body if it receives an error. 248func (client ProjectsClient) GetSender(req *http.Request) (*http.Response, error) { 249 return autorest.SendWithSender(client, req, 250 azure.DoRetryWithRegistration(client.Client)) 251} 252 253// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/datamigration/mgmt/2017-11-15-preview/datamigration instead. 254// GetResponder handles the response to the Get request. The method always 255// closes the http.Response Body. 256func (client ProjectsClient) GetResponder(resp *http.Response) (result Project, err error) { 257 err = autorest.Respond( 258 resp, 259 client.ByInspecting(), 260 azure.WithErrorUnlessStatusCode(http.StatusOK), 261 autorest.ByUnmarshallingJSON(&result), 262 autorest.ByClosing()) 263 result.Response = autorest.Response{Response: resp} 264 return 265} 266 267// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/datamigration/mgmt/2017-11-15-preview/datamigration instead. 268// List the project resource is a nested resource representing a stored migration project. This method returns a list 269// of projects owned by a service resource. 270// 271// groupName is name of the resource group serviceName is name of the service 272func (client ProjectsClient) List(ctx context.Context, groupName string, serviceName string) (result ProjectListPage, err error) { 273 result.fn = client.listNextResults 274 req, err := client.ListPreparer(ctx, groupName, serviceName) 275 if err != nil { 276 err = autorest.NewErrorWithError(err, "datamigration.ProjectsClient", "List", nil, "Failure preparing request") 277 return 278 } 279 280 resp, err := client.ListSender(req) 281 if err != nil { 282 result.pl.Response = autorest.Response{Response: resp} 283 err = autorest.NewErrorWithError(err, "datamigration.ProjectsClient", "List", resp, "Failure sending request") 284 return 285 } 286 287 result.pl, err = client.ListResponder(resp) 288 if err != nil { 289 err = autorest.NewErrorWithError(err, "datamigration.ProjectsClient", "List", resp, "Failure responding to request") 290 } 291 292 return 293} 294 295// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/datamigration/mgmt/2017-11-15-preview/datamigration instead. 296// ListPreparer prepares the List request. 297func (client ProjectsClient) ListPreparer(ctx context.Context, groupName string, serviceName string) (*http.Request, error) { 298 pathParameters := map[string]interface{}{ 299 "groupName": autorest.Encode("path", groupName), 300 "serviceName": autorest.Encode("path", serviceName), 301 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 302 } 303 304 const APIVersion = "2017-11-15-preview" 305 queryParameters := map[string]interface{}{ 306 "api-version": APIVersion, 307 } 308 309 preparer := autorest.CreatePreparer( 310 autorest.AsGet(), 311 autorest.WithBaseURL(client.BaseURI), 312 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects", pathParameters), 313 autorest.WithQueryParameters(queryParameters)) 314 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 315} 316 317// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/datamigration/mgmt/2017-11-15-preview/datamigration instead. 318// ListSender sends the List request. The method will close the 319// http.Response Body if it receives an error. 320func (client ProjectsClient) ListSender(req *http.Request) (*http.Response, error) { 321 return autorest.SendWithSender(client, req, 322 azure.DoRetryWithRegistration(client.Client)) 323} 324 325// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/datamigration/mgmt/2017-11-15-preview/datamigration instead. 326// ListResponder handles the response to the List request. The method always 327// closes the http.Response Body. 328func (client ProjectsClient) ListResponder(resp *http.Response) (result ProjectList, err error) { 329 err = autorest.Respond( 330 resp, 331 client.ByInspecting(), 332 azure.WithErrorUnlessStatusCode(http.StatusOK), 333 autorest.ByUnmarshallingJSON(&result), 334 autorest.ByClosing()) 335 result.Response = autorest.Response{Response: resp} 336 return 337} 338 339// listNextResults retrieves the next set of results, if any. 340func (client ProjectsClient) listNextResults(lastResults ProjectList) (result ProjectList, err error) { 341 req, err := lastResults.projectListPreparer() 342 if err != nil { 343 return result, autorest.NewErrorWithError(err, "datamigration.ProjectsClient", "listNextResults", nil, "Failure preparing next results request") 344 } 345 if req == nil { 346 return 347 } 348 resp, err := client.ListSender(req) 349 if err != nil { 350 result.Response = autorest.Response{Response: resp} 351 return result, autorest.NewErrorWithError(err, "datamigration.ProjectsClient", "listNextResults", resp, "Failure sending next results request") 352 } 353 result, err = client.ListResponder(resp) 354 if err != nil { 355 err = autorest.NewErrorWithError(err, "datamigration.ProjectsClient", "listNextResults", resp, "Failure responding to next results request") 356 } 357 return 358} 359 360// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/datamigration/mgmt/2017-11-15-preview/datamigration instead. 361// ListComplete enumerates all values, automatically crossing page boundaries as required. 362func (client ProjectsClient) ListComplete(ctx context.Context, groupName string, serviceName string) (result ProjectListIterator, err error) { 363 result.page, err = client.List(ctx, groupName, serviceName) 364 return 365} 366 367// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/datamigration/mgmt/2017-11-15-preview/datamigration instead. 368// Update the project resource is a nested resource representing a stored migration project. The PATCH method updates 369// an existing project. 370// 371// parameters is information about the project groupName is name of the resource group serviceName is name of the 372// service projectName is name of the project 373func (client ProjectsClient) Update(ctx context.Context, parameters Project, groupName string, serviceName string, projectName string) (result Project, err error) { 374 req, err := client.UpdatePreparer(ctx, parameters, groupName, serviceName, projectName) 375 if err != nil { 376 err = autorest.NewErrorWithError(err, "datamigration.ProjectsClient", "Update", nil, "Failure preparing request") 377 return 378 } 379 380 resp, err := client.UpdateSender(req) 381 if err != nil { 382 result.Response = autorest.Response{Response: resp} 383 err = autorest.NewErrorWithError(err, "datamigration.ProjectsClient", "Update", resp, "Failure sending request") 384 return 385 } 386 387 result, err = client.UpdateResponder(resp) 388 if err != nil { 389 err = autorest.NewErrorWithError(err, "datamigration.ProjectsClient", "Update", resp, "Failure responding to request") 390 } 391 392 return 393} 394 395// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/datamigration/mgmt/2017-11-15-preview/datamigration instead. 396// UpdatePreparer prepares the Update request. 397func (client ProjectsClient) UpdatePreparer(ctx context.Context, parameters Project, groupName string, serviceName string, projectName string) (*http.Request, error) { 398 pathParameters := map[string]interface{}{ 399 "groupName": autorest.Encode("path", groupName), 400 "projectName": autorest.Encode("path", projectName), 401 "serviceName": autorest.Encode("path", serviceName), 402 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 403 } 404 405 const APIVersion = "2017-11-15-preview" 406 queryParameters := map[string]interface{}{ 407 "api-version": APIVersion, 408 } 409 410 preparer := autorest.CreatePreparer( 411 autorest.AsContentType("application/json; charset=utf-8"), 412 autorest.AsPatch(), 413 autorest.WithBaseURL(client.BaseURI), 414 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}", pathParameters), 415 autorest.WithJSON(parameters), 416 autorest.WithQueryParameters(queryParameters)) 417 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 418} 419 420// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/datamigration/mgmt/2017-11-15-preview/datamigration instead. 421// UpdateSender sends the Update request. The method will close the 422// http.Response Body if it receives an error. 423func (client ProjectsClient) UpdateSender(req *http.Request) (*http.Response, error) { 424 return autorest.SendWithSender(client, req, 425 azure.DoRetryWithRegistration(client.Client)) 426} 427 428// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/datamigration/mgmt/2017-11-15-preview/datamigration instead. 429// UpdateResponder handles the response to the Update request. The method always 430// closes the http.Response Body. 431func (client ProjectsClient) UpdateResponder(resp *http.Response) (result Project, err error) { 432 err = autorest.Respond( 433 resp, 434 client.ByInspecting(), 435 azure.WithErrorUnlessStatusCode(http.StatusOK), 436 autorest.ByUnmarshallingJSON(&result), 437 autorest.ByClosing()) 438 result.Response = autorest.Response{Response: resp} 439 return 440} 441