1package synapse 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 "encoding/json" 12 "github.com/Azure/go-autorest/autorest" 13 "github.com/Azure/go-autorest/autorest/azure" 14 "github.com/Azure/go-autorest/autorest/date" 15 "github.com/Azure/go-autorest/autorest/to" 16 "github.com/Azure/go-autorest/tracing" 17 "github.com/gofrs/uuid" 18 "net/http" 19) 20 21// The package's fully qualified name. 22const fqdn = "github.com/Azure/azure-sdk-for-go/services/preview/synapse/mgmt/2019-06-01-preview/synapse" 23 24// AadAdminProperties workspace active directory administrator properties 25type AadAdminProperties struct { 26 // TenantID - Tenant ID of the workspace active directory administrator 27 TenantID *string `json:"tenantId,omitempty"` 28 // Login - Login of the workspace active directory administrator 29 Login *string `json:"login,omitempty"` 30 // AdministratorType - Workspace active directory administrator type 31 AdministratorType *string `json:"administratorType,omitempty"` 32 // Sid - Object ID of the workspace active directory administrator 33 Sid *string `json:"sid,omitempty"` 34} 35 36// AutoPauseProperties auto-pausing properties of a Big Data pool powered by Apache Spark 37type AutoPauseProperties struct { 38 // DelayInMinutes - Number of minutes of idle time before the Big Data pool is automatically paused. 39 DelayInMinutes *int32 `json:"delayInMinutes,omitempty"` 40 // Enabled - Whether auto-pausing is enabled for the Big Data pool. 41 Enabled *bool `json:"enabled,omitempty"` 42} 43 44// AutoScaleProperties auto-scaling properties of a Big Data pool powered by Apache Spark 45type AutoScaleProperties struct { 46 // MinNodeCount - The minimum number of nodes the Big Data pool can support. 47 MinNodeCount *int32 `json:"minNodeCount,omitempty"` 48 // Enabled - Whether automatic scaling is enabled for the Big Data pool. 49 Enabled *bool `json:"enabled,omitempty"` 50 // MaxNodeCount - The maximum number of nodes the Big Data pool can support. 51 MaxNodeCount *int32 `json:"maxNodeCount,omitempty"` 52} 53 54// AvailableRpOperation an operation that is available in this resource provider 55type AvailableRpOperation struct { 56 // Display - Display properties of the operation 57 Display *AvailableRpOperationDisplayInfo `json:"display,omitempty"` 58 // IsDataAction - Whether this operation is a data action 59 IsDataAction *string `json:"isDataAction,omitempty"` 60 // Name - Operation name 61 Name *string `json:"name,omitempty"` 62 // OperationMetaPropertyInfo - Operation properties 63 *OperationMetaPropertyInfo `json:"properties,omitempty"` 64 // Origin - Operation origin 65 Origin *string `json:"origin,omitempty"` 66} 67 68// MarshalJSON is the custom marshaler for AvailableRpOperation. 69func (aro AvailableRpOperation) MarshalJSON() ([]byte, error) { 70 objectMap := make(map[string]interface{}) 71 if aro.Display != nil { 72 objectMap["display"] = aro.Display 73 } 74 if aro.IsDataAction != nil { 75 objectMap["isDataAction"] = aro.IsDataAction 76 } 77 if aro.Name != nil { 78 objectMap["name"] = aro.Name 79 } 80 if aro.OperationMetaPropertyInfo != nil { 81 objectMap["properties"] = aro.OperationMetaPropertyInfo 82 } 83 if aro.Origin != nil { 84 objectMap["origin"] = aro.Origin 85 } 86 return json.Marshal(objectMap) 87} 88 89// UnmarshalJSON is the custom unmarshaler for AvailableRpOperation struct. 90func (aro *AvailableRpOperation) UnmarshalJSON(body []byte) error { 91 var m map[string]*json.RawMessage 92 err := json.Unmarshal(body, &m) 93 if err != nil { 94 return err 95 } 96 for k, v := range m { 97 switch k { 98 case "display": 99 if v != nil { 100 var display AvailableRpOperationDisplayInfo 101 err = json.Unmarshal(*v, &display) 102 if err != nil { 103 return err 104 } 105 aro.Display = &display 106 } 107 case "isDataAction": 108 if v != nil { 109 var isDataAction string 110 err = json.Unmarshal(*v, &isDataAction) 111 if err != nil { 112 return err 113 } 114 aro.IsDataAction = &isDataAction 115 } 116 case "name": 117 if v != nil { 118 var name string 119 err = json.Unmarshal(*v, &name) 120 if err != nil { 121 return err 122 } 123 aro.Name = &name 124 } 125 case "properties": 126 if v != nil { 127 var operationMetaPropertyInfo OperationMetaPropertyInfo 128 err = json.Unmarshal(*v, &operationMetaPropertyInfo) 129 if err != nil { 130 return err 131 } 132 aro.OperationMetaPropertyInfo = &operationMetaPropertyInfo 133 } 134 case "origin": 135 if v != nil { 136 var origin string 137 err = json.Unmarshal(*v, &origin) 138 if err != nil { 139 return err 140 } 141 aro.Origin = &origin 142 } 143 } 144 } 145 146 return nil 147} 148 149// AvailableRpOperationDisplayInfo description of an available operation 150type AvailableRpOperationDisplayInfo struct { 151 // Description - Operation description 152 Description *string `json:"description,omitempty"` 153 // Resource - Resource type 154 Resource *string `json:"resource,omitempty"` 155 // Provider - Resource provider name 156 Provider *string `json:"provider,omitempty"` 157 // Operation - Operation name 158 Operation *string `json:"operation,omitempty"` 159} 160 161// AzureEntityResource the resource model definition for an Azure Resource Manager resource with an etag. 162type AzureEntityResource struct { 163 // Etag - READ-ONLY; Resource Etag. 164 Etag *string `json:"etag,omitempty"` 165 // ID - READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} 166 ID *string `json:"id,omitempty"` 167 // Name - READ-ONLY; The name of the resource 168 Name *string `json:"name,omitempty"` 169 // Type - READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" 170 Type *string `json:"type,omitempty"` 171} 172 173// MarshalJSON is the custom marshaler for AzureEntityResource. 174func (aer AzureEntityResource) MarshalJSON() ([]byte, error) { 175 objectMap := make(map[string]interface{}) 176 return json.Marshal(objectMap) 177} 178 179// BigDataPoolPatchInfo properties patch for a Big Data pool 180type BigDataPoolPatchInfo struct { 181 // Tags - Updated tags for the Big Data pool 182 Tags map[string]*string `json:"tags"` 183} 184 185// MarshalJSON is the custom marshaler for BigDataPoolPatchInfo. 186func (bdppi BigDataPoolPatchInfo) MarshalJSON() ([]byte, error) { 187 objectMap := make(map[string]interface{}) 188 if bdppi.Tags != nil { 189 objectMap["tags"] = bdppi.Tags 190 } 191 return json.Marshal(objectMap) 192} 193 194// BigDataPoolResourceInfo a Big Data pool 195type BigDataPoolResourceInfo struct { 196 autorest.Response `json:"-"` 197 // BigDataPoolResourceProperties - Big Data pool properties 198 *BigDataPoolResourceProperties `json:"properties,omitempty"` 199 // Tags - Resource tags. 200 Tags map[string]*string `json:"tags"` 201 // Location - The geo-location where the resource lives 202 Location *string `json:"location,omitempty"` 203 // ID - READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} 204 ID *string `json:"id,omitempty"` 205 // Name - READ-ONLY; The name of the resource 206 Name *string `json:"name,omitempty"` 207 // Type - READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" 208 Type *string `json:"type,omitempty"` 209} 210 211// MarshalJSON is the custom marshaler for BigDataPoolResourceInfo. 212func (bdpri BigDataPoolResourceInfo) MarshalJSON() ([]byte, error) { 213 objectMap := make(map[string]interface{}) 214 if bdpri.BigDataPoolResourceProperties != nil { 215 objectMap["properties"] = bdpri.BigDataPoolResourceProperties 216 } 217 if bdpri.Tags != nil { 218 objectMap["tags"] = bdpri.Tags 219 } 220 if bdpri.Location != nil { 221 objectMap["location"] = bdpri.Location 222 } 223 return json.Marshal(objectMap) 224} 225 226// UnmarshalJSON is the custom unmarshaler for BigDataPoolResourceInfo struct. 227func (bdpri *BigDataPoolResourceInfo) UnmarshalJSON(body []byte) error { 228 var m map[string]*json.RawMessage 229 err := json.Unmarshal(body, &m) 230 if err != nil { 231 return err 232 } 233 for k, v := range m { 234 switch k { 235 case "properties": 236 if v != nil { 237 var bigDataPoolResourceProperties BigDataPoolResourceProperties 238 err = json.Unmarshal(*v, &bigDataPoolResourceProperties) 239 if err != nil { 240 return err 241 } 242 bdpri.BigDataPoolResourceProperties = &bigDataPoolResourceProperties 243 } 244 case "tags": 245 if v != nil { 246 var tags map[string]*string 247 err = json.Unmarshal(*v, &tags) 248 if err != nil { 249 return err 250 } 251 bdpri.Tags = tags 252 } 253 case "location": 254 if v != nil { 255 var location string 256 err = json.Unmarshal(*v, &location) 257 if err != nil { 258 return err 259 } 260 bdpri.Location = &location 261 } 262 case "id": 263 if v != nil { 264 var ID string 265 err = json.Unmarshal(*v, &ID) 266 if err != nil { 267 return err 268 } 269 bdpri.ID = &ID 270 } 271 case "name": 272 if v != nil { 273 var name string 274 err = json.Unmarshal(*v, &name) 275 if err != nil { 276 return err 277 } 278 bdpri.Name = &name 279 } 280 case "type": 281 if v != nil { 282 var typeVar string 283 err = json.Unmarshal(*v, &typeVar) 284 if err != nil { 285 return err 286 } 287 bdpri.Type = &typeVar 288 } 289 } 290 } 291 292 return nil 293} 294 295// BigDataPoolResourceInfoListResult collection of Big Data pool information 296type BigDataPoolResourceInfoListResult struct { 297 autorest.Response `json:"-"` 298 // NextLink - Link to the next page of results 299 NextLink *string `json:"nextLink,omitempty"` 300 // Value - List of Big Data pools 301 Value *[]BigDataPoolResourceInfo `json:"value,omitempty"` 302} 303 304// BigDataPoolResourceInfoListResultIterator provides access to a complete listing of 305// BigDataPoolResourceInfo values. 306type BigDataPoolResourceInfoListResultIterator struct { 307 i int 308 page BigDataPoolResourceInfoListResultPage 309} 310 311// NextWithContext advances to the next value. If there was an error making 312// the request the iterator does not advance and the error is returned. 313func (iter *BigDataPoolResourceInfoListResultIterator) NextWithContext(ctx context.Context) (err error) { 314 if tracing.IsEnabled() { 315 ctx = tracing.StartSpan(ctx, fqdn+"/BigDataPoolResourceInfoListResultIterator.NextWithContext") 316 defer func() { 317 sc := -1 318 if iter.Response().Response.Response != nil { 319 sc = iter.Response().Response.Response.StatusCode 320 } 321 tracing.EndSpan(ctx, sc, err) 322 }() 323 } 324 iter.i++ 325 if iter.i < len(iter.page.Values()) { 326 return nil 327 } 328 err = iter.page.NextWithContext(ctx) 329 if err != nil { 330 iter.i-- 331 return err 332 } 333 iter.i = 0 334 return nil 335} 336 337// Next advances to the next value. If there was an error making 338// the request the iterator does not advance and the error is returned. 339// Deprecated: Use NextWithContext() instead. 340func (iter *BigDataPoolResourceInfoListResultIterator) Next() error { 341 return iter.NextWithContext(context.Background()) 342} 343 344// NotDone returns true if the enumeration should be started or is not yet complete. 345func (iter BigDataPoolResourceInfoListResultIterator) NotDone() bool { 346 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 347} 348 349// Response returns the raw server response from the last page request. 350func (iter BigDataPoolResourceInfoListResultIterator) Response() BigDataPoolResourceInfoListResult { 351 return iter.page.Response() 352} 353 354// Value returns the current value or a zero-initialized value if the 355// iterator has advanced beyond the end of the collection. 356func (iter BigDataPoolResourceInfoListResultIterator) Value() BigDataPoolResourceInfo { 357 if !iter.page.NotDone() { 358 return BigDataPoolResourceInfo{} 359 } 360 return iter.page.Values()[iter.i] 361} 362 363// Creates a new instance of the BigDataPoolResourceInfoListResultIterator type. 364func NewBigDataPoolResourceInfoListResultIterator(page BigDataPoolResourceInfoListResultPage) BigDataPoolResourceInfoListResultIterator { 365 return BigDataPoolResourceInfoListResultIterator{page: page} 366} 367 368// IsEmpty returns true if the ListResult contains no values. 369func (bdprilr BigDataPoolResourceInfoListResult) IsEmpty() bool { 370 return bdprilr.Value == nil || len(*bdprilr.Value) == 0 371} 372 373// hasNextLink returns true if the NextLink is not empty. 374func (bdprilr BigDataPoolResourceInfoListResult) hasNextLink() bool { 375 return bdprilr.NextLink != nil && len(*bdprilr.NextLink) != 0 376} 377 378// bigDataPoolResourceInfoListResultPreparer prepares a request to retrieve the next set of results. 379// It returns nil if no more results exist. 380func (bdprilr BigDataPoolResourceInfoListResult) bigDataPoolResourceInfoListResultPreparer(ctx context.Context) (*http.Request, error) { 381 if !bdprilr.hasNextLink() { 382 return nil, nil 383 } 384 return autorest.Prepare((&http.Request{}).WithContext(ctx), 385 autorest.AsJSON(), 386 autorest.AsGet(), 387 autorest.WithBaseURL(to.String(bdprilr.NextLink))) 388} 389 390// BigDataPoolResourceInfoListResultPage contains a page of BigDataPoolResourceInfo values. 391type BigDataPoolResourceInfoListResultPage struct { 392 fn func(context.Context, BigDataPoolResourceInfoListResult) (BigDataPoolResourceInfoListResult, error) 393 bdprilr BigDataPoolResourceInfoListResult 394} 395 396// NextWithContext advances to the next page of values. If there was an error making 397// the request the page does not advance and the error is returned. 398func (page *BigDataPoolResourceInfoListResultPage) NextWithContext(ctx context.Context) (err error) { 399 if tracing.IsEnabled() { 400 ctx = tracing.StartSpan(ctx, fqdn+"/BigDataPoolResourceInfoListResultPage.NextWithContext") 401 defer func() { 402 sc := -1 403 if page.Response().Response.Response != nil { 404 sc = page.Response().Response.Response.StatusCode 405 } 406 tracing.EndSpan(ctx, sc, err) 407 }() 408 } 409 for { 410 next, err := page.fn(ctx, page.bdprilr) 411 if err != nil { 412 return err 413 } 414 page.bdprilr = next 415 if !next.hasNextLink() || !next.IsEmpty() { 416 break 417 } 418 } 419 return nil 420} 421 422// Next advances to the next page of values. If there was an error making 423// the request the page does not advance and the error is returned. 424// Deprecated: Use NextWithContext() instead. 425func (page *BigDataPoolResourceInfoListResultPage) Next() error { 426 return page.NextWithContext(context.Background()) 427} 428 429// NotDone returns true if the page enumeration should be started or is not yet complete. 430func (page BigDataPoolResourceInfoListResultPage) NotDone() bool { 431 return !page.bdprilr.IsEmpty() 432} 433 434// Response returns the raw server response from the last page request. 435func (page BigDataPoolResourceInfoListResultPage) Response() BigDataPoolResourceInfoListResult { 436 return page.bdprilr 437} 438 439// Values returns the slice of values for the current page or nil if there are no values. 440func (page BigDataPoolResourceInfoListResultPage) Values() []BigDataPoolResourceInfo { 441 if page.bdprilr.IsEmpty() { 442 return nil 443 } 444 return *page.bdprilr.Value 445} 446 447// Creates a new instance of the BigDataPoolResourceInfoListResultPage type. 448func NewBigDataPoolResourceInfoListResultPage(cur BigDataPoolResourceInfoListResult, getNextPage func(context.Context, BigDataPoolResourceInfoListResult) (BigDataPoolResourceInfoListResult, error)) BigDataPoolResourceInfoListResultPage { 449 return BigDataPoolResourceInfoListResultPage{ 450 fn: getNextPage, 451 bdprilr: cur, 452 } 453} 454 455// BigDataPoolResourceProperties properties of a Big Data pool powered by Apache Spark 456type BigDataPoolResourceProperties struct { 457 // ProvisioningState - The state of the Big Data pool. 458 ProvisioningState *string `json:"provisioningState,omitempty"` 459 // AutoScale - Auto-scaling properties 460 AutoScale *AutoScaleProperties `json:"autoScale,omitempty"` 461 // CreationDate - The time when the Big Data pool was created. 462 CreationDate *date.Time `json:"creationDate,omitempty"` 463 // AutoPause - Auto-pausing properties 464 AutoPause *AutoPauseProperties `json:"autoPause,omitempty"` 465 // IsComputeIsolationEnabled - Whether compute isolation is required or not. 466 IsComputeIsolationEnabled *bool `json:"isComputeIsolationEnabled,omitempty"` 467 // HaveLibraryRequirementsChanged - Whether library requirements changed. 468 HaveLibraryRequirementsChanged *bool `json:"haveLibraryRequirementsChanged,omitempty"` 469 // SessionLevelPackagesEnabled - Whether session level packages enabled. 470 SessionLevelPackagesEnabled *bool `json:"sessionLevelPackagesEnabled,omitempty"` 471 // SparkEventsFolder - The Spark events folder 472 SparkEventsFolder *string `json:"sparkEventsFolder,omitempty"` 473 // NodeCount - The number of nodes in the Big Data pool. 474 NodeCount *int32 `json:"nodeCount,omitempty"` 475 // LibraryRequirements - Library version requirements 476 LibraryRequirements *LibraryRequirements `json:"libraryRequirements,omitempty"` 477 // SparkConfigProperties - Spark configuration file to specify additional properties 478 SparkConfigProperties *LibraryRequirements `json:"sparkConfigProperties,omitempty"` 479 // SparkVersion - The Apache Spark version. 480 SparkVersion *string `json:"sparkVersion,omitempty"` 481 // DefaultSparkLogFolder - The default folder where Spark logs will be written. 482 DefaultSparkLogFolder *string `json:"defaultSparkLogFolder,omitempty"` 483 // NodeSize - The level of compute power that each node in the Big Data pool has. Possible values include: 'NodeSizeNone', 'NodeSizeSmall', 'NodeSizeMedium', 'NodeSizeLarge', 'NodeSizeXLarge', 'NodeSizeXXLarge', 'NodeSizeXXXLarge' 484 NodeSize NodeSize `json:"nodeSize,omitempty"` 485 // NodeSizeFamily - The kind of nodes that the Big Data pool provides. Possible values include: 'NodeSizeFamilyNone', 'NodeSizeFamilyMemoryOptimized' 486 NodeSizeFamily NodeSizeFamily `json:"nodeSizeFamily,omitempty"` 487} 488 489// BigDataPoolsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a 490// long-running operation. 491type BigDataPoolsCreateOrUpdateFuture struct { 492 azure.FutureAPI 493 // Result returns the result of the asynchronous operation. 494 // If the operation has not completed it will return an error. 495 Result func(BigDataPoolsClient) (BigDataPoolResourceInfo, error) 496} 497 498// UnmarshalJSON is the custom unmarshaller for CreateFuture. 499func (future *BigDataPoolsCreateOrUpdateFuture) UnmarshalJSON(body []byte) error { 500 var azFuture azure.Future 501 if err := json.Unmarshal(body, &azFuture); err != nil { 502 return err 503 } 504 future.FutureAPI = &azFuture 505 future.Result = future.result 506 return nil 507} 508 509// result is the default implementation for BigDataPoolsCreateOrUpdateFuture.Result. 510func (future *BigDataPoolsCreateOrUpdateFuture) result(client BigDataPoolsClient) (bdpri BigDataPoolResourceInfo, err error) { 511 var done bool 512 done, err = future.DoneWithContext(context.Background(), client) 513 if err != nil { 514 err = autorest.NewErrorWithError(err, "synapse.BigDataPoolsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") 515 return 516 } 517 if !done { 518 bdpri.Response.Response = future.Response() 519 err = azure.NewAsyncOpIncompleteError("synapse.BigDataPoolsCreateOrUpdateFuture") 520 return 521 } 522 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 523 if bdpri.Response.Response, err = future.GetResult(sender); err == nil && bdpri.Response.Response.StatusCode != http.StatusNoContent { 524 bdpri, err = client.CreateOrUpdateResponder(bdpri.Response.Response) 525 if err != nil { 526 err = autorest.NewErrorWithError(err, "synapse.BigDataPoolsCreateOrUpdateFuture", "Result", bdpri.Response.Response, "Failure responding to request") 527 } 528 } 529 return 530} 531 532// BigDataPoolsDeleteFuture an abstraction for monitoring and retrieving the results of a long-running 533// operation. 534type BigDataPoolsDeleteFuture struct { 535 azure.FutureAPI 536 // Result returns the result of the asynchronous operation. 537 // If the operation has not completed it will return an error. 538 Result func(BigDataPoolsClient) (SetObject, error) 539} 540 541// UnmarshalJSON is the custom unmarshaller for CreateFuture. 542func (future *BigDataPoolsDeleteFuture) UnmarshalJSON(body []byte) error { 543 var azFuture azure.Future 544 if err := json.Unmarshal(body, &azFuture); err != nil { 545 return err 546 } 547 future.FutureAPI = &azFuture 548 future.Result = future.result 549 return nil 550} 551 552// result is the default implementation for BigDataPoolsDeleteFuture.Result. 553func (future *BigDataPoolsDeleteFuture) result(client BigDataPoolsClient) (so SetObject, err error) { 554 var done bool 555 done, err = future.DoneWithContext(context.Background(), client) 556 if err != nil { 557 err = autorest.NewErrorWithError(err, "synapse.BigDataPoolsDeleteFuture", "Result", future.Response(), "Polling failure") 558 return 559 } 560 if !done { 561 so.Response.Response = future.Response() 562 err = azure.NewAsyncOpIncompleteError("synapse.BigDataPoolsDeleteFuture") 563 return 564 } 565 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 566 if so.Response.Response, err = future.GetResult(sender); err == nil && so.Response.Response.StatusCode != http.StatusNoContent { 567 so, err = client.DeleteResponder(so.Response.Response) 568 if err != nil { 569 err = autorest.NewErrorWithError(err, "synapse.BigDataPoolsDeleteFuture", "Result", so.Response.Response, "Failure responding to request") 570 } 571 } 572 return 573} 574 575// CheckNameAvailabilityRequest a request about whether a workspace name is available 576type CheckNameAvailabilityRequest struct { 577 // Name - Workspace name 578 Name *string `json:"name,omitempty"` 579 // Type - Type: workspace 580 Type *string `json:"type,omitempty"` 581} 582 583// CheckNameAvailabilityResponse a response saying whether the workspace name is available 584type CheckNameAvailabilityResponse struct { 585 autorest.Response `json:"-"` 586 // Message - Validation message 587 Message *string `json:"message,omitempty"` 588 // Available - Whether the workspace name is available 589 Available *bool `json:"available,omitempty"` 590 // Reason - Reason the workspace name is or is not available 591 Reason *string `json:"reason,omitempty"` 592 // Name - Workspace name 593 Name *string `json:"name,omitempty"` 594} 595 596// CloudError the object that defines the structure of an Azure Synapse error response. 597type CloudError struct { 598 // CloudErrorBody - Error data 599 *CloudErrorBody `json:"error,omitempty"` 600} 601 602// MarshalJSON is the custom marshaler for CloudError. 603func (ce CloudError) MarshalJSON() ([]byte, error) { 604 objectMap := make(map[string]interface{}) 605 if ce.CloudErrorBody != nil { 606 objectMap["error"] = ce.CloudErrorBody 607 } 608 return json.Marshal(objectMap) 609} 610 611// UnmarshalJSON is the custom unmarshaler for CloudError struct. 612func (ce *CloudError) UnmarshalJSON(body []byte) error { 613 var m map[string]*json.RawMessage 614 err := json.Unmarshal(body, &m) 615 if err != nil { 616 return err 617 } 618 for k, v := range m { 619 switch k { 620 case "error": 621 if v != nil { 622 var cloudErrorBody CloudErrorBody 623 err = json.Unmarshal(*v, &cloudErrorBody) 624 if err != nil { 625 return err 626 } 627 ce.CloudErrorBody = &cloudErrorBody 628 } 629 } 630 } 631 632 return nil 633} 634 635// CloudErrorBody the object that defines the structure of an Azure Synapse error. 636type CloudErrorBody struct { 637 // Code - Error code. 638 Code *string `json:"code,omitempty"` 639 // Message - Error message. 640 Message *string `json:"message,omitempty"` 641 // Target - Property name/path in request associated with error. 642 Target *string `json:"target,omitempty"` 643 // Details - Array with additional error details. 644 Details *[]CloudError `json:"details,omitempty"` 645} 646 647// CmdkeySetup the custom setup of running cmdkey commands. 648type CmdkeySetup struct { 649 // CmdkeySetupTypeProperties - Cmdkey command custom setup type properties. 650 *CmdkeySetupTypeProperties `json:"typeProperties,omitempty"` 651 // Type - Possible values include: 'TypeCustomSetupBase', 'TypeCmdkeySetup', 'TypeEnvironmentVariableSetup', 'TypeComponentSetup' 652 Type TypeBasicCustomSetupBase `json:"type,omitempty"` 653} 654 655// MarshalJSON is the custom marshaler for CmdkeySetup. 656func (cs CmdkeySetup) MarshalJSON() ([]byte, error) { 657 cs.Type = TypeCmdkeySetup 658 objectMap := make(map[string]interface{}) 659 if cs.CmdkeySetupTypeProperties != nil { 660 objectMap["typeProperties"] = cs.CmdkeySetupTypeProperties 661 } 662 if cs.Type != "" { 663 objectMap["type"] = cs.Type 664 } 665 return json.Marshal(objectMap) 666} 667 668// AsCmdkeySetup is the BasicCustomSetupBase implementation for CmdkeySetup. 669func (cs CmdkeySetup) AsCmdkeySetup() (*CmdkeySetup, bool) { 670 return &cs, true 671} 672 673// AsEnvironmentVariableSetup is the BasicCustomSetupBase implementation for CmdkeySetup. 674func (cs CmdkeySetup) AsEnvironmentVariableSetup() (*EnvironmentVariableSetup, bool) { 675 return nil, false 676} 677 678// AsComponentSetup is the BasicCustomSetupBase implementation for CmdkeySetup. 679func (cs CmdkeySetup) AsComponentSetup() (*ComponentSetup, bool) { 680 return nil, false 681} 682 683// AsCustomSetupBase is the BasicCustomSetupBase implementation for CmdkeySetup. 684func (cs CmdkeySetup) AsCustomSetupBase() (*CustomSetupBase, bool) { 685 return nil, false 686} 687 688// AsBasicCustomSetupBase is the BasicCustomSetupBase implementation for CmdkeySetup. 689func (cs CmdkeySetup) AsBasicCustomSetupBase() (BasicCustomSetupBase, bool) { 690 return &cs, true 691} 692 693// UnmarshalJSON is the custom unmarshaler for CmdkeySetup struct. 694func (cs *CmdkeySetup) UnmarshalJSON(body []byte) error { 695 var m map[string]*json.RawMessage 696 err := json.Unmarshal(body, &m) 697 if err != nil { 698 return err 699 } 700 for k, v := range m { 701 switch k { 702 case "typeProperties": 703 if v != nil { 704 var cmdkeySetupTypeProperties CmdkeySetupTypeProperties 705 err = json.Unmarshal(*v, &cmdkeySetupTypeProperties) 706 if err != nil { 707 return err 708 } 709 cs.CmdkeySetupTypeProperties = &cmdkeySetupTypeProperties 710 } 711 case "type": 712 if v != nil { 713 var typeVar TypeBasicCustomSetupBase 714 err = json.Unmarshal(*v, &typeVar) 715 if err != nil { 716 return err 717 } 718 cs.Type = typeVar 719 } 720 } 721 } 722 723 return nil 724} 725 726// CmdkeySetupTypeProperties cmdkey command custom setup type properties. 727type CmdkeySetupTypeProperties struct { 728 // TargetName - The server name of data source access. 729 TargetName interface{} `json:"targetName,omitempty"` 730 // UserName - The user name of data source access. 731 UserName interface{} `json:"userName,omitempty"` 732 // Password - The password of data source access. 733 Password BasicSecretBase `json:"password,omitempty"` 734} 735 736// UnmarshalJSON is the custom unmarshaler for CmdkeySetupTypeProperties struct. 737func (cstp *CmdkeySetupTypeProperties) UnmarshalJSON(body []byte) error { 738 var m map[string]*json.RawMessage 739 err := json.Unmarshal(body, &m) 740 if err != nil { 741 return err 742 } 743 for k, v := range m { 744 switch k { 745 case "targetName": 746 if v != nil { 747 var targetName interface{} 748 err = json.Unmarshal(*v, &targetName) 749 if err != nil { 750 return err 751 } 752 cstp.TargetName = targetName 753 } 754 case "userName": 755 if v != nil { 756 var userName interface{} 757 err = json.Unmarshal(*v, &userName) 758 if err != nil { 759 return err 760 } 761 cstp.UserName = userName 762 } 763 case "password": 764 if v != nil { 765 password, err := unmarshalBasicSecretBase(*v) 766 if err != nil { 767 return err 768 } 769 cstp.Password = password 770 } 771 } 772 } 773 774 return nil 775} 776 777// ComponentSetup the custom setup of installing 3rd party components. 778type ComponentSetup struct { 779 // LicensedComponentSetupTypeProperties - Install 3rd party component type properties. 780 *LicensedComponentSetupTypeProperties `json:"typeProperties,omitempty"` 781 // Type - Possible values include: 'TypeCustomSetupBase', 'TypeCmdkeySetup', 'TypeEnvironmentVariableSetup', 'TypeComponentSetup' 782 Type TypeBasicCustomSetupBase `json:"type,omitempty"` 783} 784 785// MarshalJSON is the custom marshaler for ComponentSetup. 786func (cs ComponentSetup) MarshalJSON() ([]byte, error) { 787 cs.Type = TypeComponentSetup 788 objectMap := make(map[string]interface{}) 789 if cs.LicensedComponentSetupTypeProperties != nil { 790 objectMap["typeProperties"] = cs.LicensedComponentSetupTypeProperties 791 } 792 if cs.Type != "" { 793 objectMap["type"] = cs.Type 794 } 795 return json.Marshal(objectMap) 796} 797 798// AsCmdkeySetup is the BasicCustomSetupBase implementation for ComponentSetup. 799func (cs ComponentSetup) AsCmdkeySetup() (*CmdkeySetup, bool) { 800 return nil, false 801} 802 803// AsEnvironmentVariableSetup is the BasicCustomSetupBase implementation for ComponentSetup. 804func (cs ComponentSetup) AsEnvironmentVariableSetup() (*EnvironmentVariableSetup, bool) { 805 return nil, false 806} 807 808// AsComponentSetup is the BasicCustomSetupBase implementation for ComponentSetup. 809func (cs ComponentSetup) AsComponentSetup() (*ComponentSetup, bool) { 810 return &cs, true 811} 812 813// AsCustomSetupBase is the BasicCustomSetupBase implementation for ComponentSetup. 814func (cs ComponentSetup) AsCustomSetupBase() (*CustomSetupBase, bool) { 815 return nil, false 816} 817 818// AsBasicCustomSetupBase is the BasicCustomSetupBase implementation for ComponentSetup. 819func (cs ComponentSetup) AsBasicCustomSetupBase() (BasicCustomSetupBase, bool) { 820 return &cs, true 821} 822 823// UnmarshalJSON is the custom unmarshaler for ComponentSetup struct. 824func (cs *ComponentSetup) UnmarshalJSON(body []byte) error { 825 var m map[string]*json.RawMessage 826 err := json.Unmarshal(body, &m) 827 if err != nil { 828 return err 829 } 830 for k, v := range m { 831 switch k { 832 case "typeProperties": 833 if v != nil { 834 var licensedComponentSetupTypeProperties LicensedComponentSetupTypeProperties 835 err = json.Unmarshal(*v, &licensedComponentSetupTypeProperties) 836 if err != nil { 837 return err 838 } 839 cs.LicensedComponentSetupTypeProperties = &licensedComponentSetupTypeProperties 840 } 841 case "type": 842 if v != nil { 843 var typeVar TypeBasicCustomSetupBase 844 err = json.Unmarshal(*v, &typeVar) 845 if err != nil { 846 return err 847 } 848 cs.Type = typeVar 849 } 850 } 851 } 852 853 return nil 854} 855 856// CreateSQLPoolRestorePointDefinition contains the information necessary to perform a create Sql pool 857// restore point operation. 858type CreateSQLPoolRestorePointDefinition struct { 859 // RestorePointLabel - The restore point label to apply 860 RestorePointLabel *string `json:"restorePointLabel,omitempty"` 861} 862 863// CustomerManagedKeyDetails details of the customer managed key associated with the workspace 864type CustomerManagedKeyDetails struct { 865 // Status - READ-ONLY; The customer managed key status on the workspace 866 Status *string `json:"status,omitempty"` 867 // Key - The key object of the workspace 868 Key *WorkspaceKeyDetails `json:"key,omitempty"` 869} 870 871// MarshalJSON is the custom marshaler for CustomerManagedKeyDetails. 872func (cmkd CustomerManagedKeyDetails) MarshalJSON() ([]byte, error) { 873 objectMap := make(map[string]interface{}) 874 if cmkd.Key != nil { 875 objectMap["key"] = cmkd.Key 876 } 877 return json.Marshal(objectMap) 878} 879 880// BasicCustomSetupBase the base definition of the custom setup. 881type BasicCustomSetupBase interface { 882 AsCmdkeySetup() (*CmdkeySetup, bool) 883 AsEnvironmentVariableSetup() (*EnvironmentVariableSetup, bool) 884 AsComponentSetup() (*ComponentSetup, bool) 885 AsCustomSetupBase() (*CustomSetupBase, bool) 886} 887 888// CustomSetupBase the base definition of the custom setup. 889type CustomSetupBase struct { 890 // Type - Possible values include: 'TypeCustomSetupBase', 'TypeCmdkeySetup', 'TypeEnvironmentVariableSetup', 'TypeComponentSetup' 891 Type TypeBasicCustomSetupBase `json:"type,omitempty"` 892} 893 894func unmarshalBasicCustomSetupBase(body []byte) (BasicCustomSetupBase, error) { 895 var m map[string]interface{} 896 err := json.Unmarshal(body, &m) 897 if err != nil { 898 return nil, err 899 } 900 901 switch m["type"] { 902 case string(TypeCmdkeySetup): 903 var cs CmdkeySetup 904 err := json.Unmarshal(body, &cs) 905 return cs, err 906 case string(TypeEnvironmentVariableSetup): 907 var evs EnvironmentVariableSetup 908 err := json.Unmarshal(body, &evs) 909 return evs, err 910 case string(TypeComponentSetup): 911 var cs ComponentSetup 912 err := json.Unmarshal(body, &cs) 913 return cs, err 914 default: 915 var csb CustomSetupBase 916 err := json.Unmarshal(body, &csb) 917 return csb, err 918 } 919} 920func unmarshalBasicCustomSetupBaseArray(body []byte) ([]BasicCustomSetupBase, error) { 921 var rawMessages []*json.RawMessage 922 err := json.Unmarshal(body, &rawMessages) 923 if err != nil { 924 return nil, err 925 } 926 927 csbArray := make([]BasicCustomSetupBase, len(rawMessages)) 928 929 for index, rawMessage := range rawMessages { 930 csb, err := unmarshalBasicCustomSetupBase(*rawMessage) 931 if err != nil { 932 return nil, err 933 } 934 csbArray[index] = csb 935 } 936 return csbArray, nil 937} 938 939// MarshalJSON is the custom marshaler for CustomSetupBase. 940func (csb CustomSetupBase) MarshalJSON() ([]byte, error) { 941 csb.Type = TypeCustomSetupBase 942 objectMap := make(map[string]interface{}) 943 if csb.Type != "" { 944 objectMap["type"] = csb.Type 945 } 946 return json.Marshal(objectMap) 947} 948 949// AsCmdkeySetup is the BasicCustomSetupBase implementation for CustomSetupBase. 950func (csb CustomSetupBase) AsCmdkeySetup() (*CmdkeySetup, bool) { 951 return nil, false 952} 953 954// AsEnvironmentVariableSetup is the BasicCustomSetupBase implementation for CustomSetupBase. 955func (csb CustomSetupBase) AsEnvironmentVariableSetup() (*EnvironmentVariableSetup, bool) { 956 return nil, false 957} 958 959// AsComponentSetup is the BasicCustomSetupBase implementation for CustomSetupBase. 960func (csb CustomSetupBase) AsComponentSetup() (*ComponentSetup, bool) { 961 return nil, false 962} 963 964// AsCustomSetupBase is the BasicCustomSetupBase implementation for CustomSetupBase. 965func (csb CustomSetupBase) AsCustomSetupBase() (*CustomSetupBase, bool) { 966 return &csb, true 967} 968 969// AsBasicCustomSetupBase is the BasicCustomSetupBase implementation for CustomSetupBase. 970func (csb CustomSetupBase) AsBasicCustomSetupBase() (BasicCustomSetupBase, bool) { 971 return &csb, true 972} 973 974// DataLakeStorageAccountDetails details of the data lake storage account associated with the workspace 975type DataLakeStorageAccountDetails struct { 976 // AccountURL - Account URL 977 AccountURL *string `json:"accountUrl,omitempty"` 978 // Filesystem - Filesystem name 979 Filesystem *string `json:"filesystem,omitempty"` 980} 981 982// DataMaskingPolicy ... 983type DataMaskingPolicy struct { 984 autorest.Response `json:"-"` 985 // DataMaskingPolicyProperties - The properties of the data masking policy. 986 *DataMaskingPolicyProperties `json:"properties,omitempty"` 987 // Location - READ-ONLY; The location of the data masking policy. 988 Location *string `json:"location,omitempty"` 989 // Kind - READ-ONLY; The kind of data masking policy. Metadata, used for Azure portal. 990 Kind *string `json:"kind,omitempty"` 991 // ManagedBy - READ-ONLY; Fully qualified resource ID of the sql pool 992 ManagedBy *string `json:"managedBy,omitempty"` 993 // ID - READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} 994 ID *string `json:"id,omitempty"` 995 // Name - READ-ONLY; The name of the resource 996 Name *string `json:"name,omitempty"` 997 // Type - READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" 998 Type *string `json:"type,omitempty"` 999} 1000 1001// MarshalJSON is the custom marshaler for DataMaskingPolicy. 1002func (dmp DataMaskingPolicy) MarshalJSON() ([]byte, error) { 1003 objectMap := make(map[string]interface{}) 1004 if dmp.DataMaskingPolicyProperties != nil { 1005 objectMap["properties"] = dmp.DataMaskingPolicyProperties 1006 } 1007 return json.Marshal(objectMap) 1008} 1009 1010// UnmarshalJSON is the custom unmarshaler for DataMaskingPolicy struct. 1011func (dmp *DataMaskingPolicy) UnmarshalJSON(body []byte) error { 1012 var m map[string]*json.RawMessage 1013 err := json.Unmarshal(body, &m) 1014 if err != nil { 1015 return err 1016 } 1017 for k, v := range m { 1018 switch k { 1019 case "properties": 1020 if v != nil { 1021 var dataMaskingPolicyProperties DataMaskingPolicyProperties 1022 err = json.Unmarshal(*v, &dataMaskingPolicyProperties) 1023 if err != nil { 1024 return err 1025 } 1026 dmp.DataMaskingPolicyProperties = &dataMaskingPolicyProperties 1027 } 1028 case "location": 1029 if v != nil { 1030 var location string 1031 err = json.Unmarshal(*v, &location) 1032 if err != nil { 1033 return err 1034 } 1035 dmp.Location = &location 1036 } 1037 case "kind": 1038 if v != nil { 1039 var kind string 1040 err = json.Unmarshal(*v, &kind) 1041 if err != nil { 1042 return err 1043 } 1044 dmp.Kind = &kind 1045 } 1046 case "managedBy": 1047 if v != nil { 1048 var managedBy string 1049 err = json.Unmarshal(*v, &managedBy) 1050 if err != nil { 1051 return err 1052 } 1053 dmp.ManagedBy = &managedBy 1054 } 1055 case "id": 1056 if v != nil { 1057 var ID string 1058 err = json.Unmarshal(*v, &ID) 1059 if err != nil { 1060 return err 1061 } 1062 dmp.ID = &ID 1063 } 1064 case "name": 1065 if v != nil { 1066 var name string 1067 err = json.Unmarshal(*v, &name) 1068 if err != nil { 1069 return err 1070 } 1071 dmp.Name = &name 1072 } 1073 case "type": 1074 if v != nil { 1075 var typeVar string 1076 err = json.Unmarshal(*v, &typeVar) 1077 if err != nil { 1078 return err 1079 } 1080 dmp.Type = &typeVar 1081 } 1082 } 1083 } 1084 1085 return nil 1086} 1087 1088// DataMaskingPolicyProperties the properties of a database data masking policy. 1089type DataMaskingPolicyProperties struct { 1090 // DataMaskingState - The state of the data masking policy. Possible values include: 'DataMaskingStateDisabled', 'DataMaskingStateEnabled' 1091 DataMaskingState DataMaskingState `json:"dataMaskingState,omitempty"` 1092 // ExemptPrincipals - The list of the exempt principals. Specifies the semicolon-separated list of database users for which the data masking policy does not apply. The specified users receive data results without masking for all of the database queries. 1093 ExemptPrincipals *string `json:"exemptPrincipals,omitempty"` 1094 // ApplicationPrincipals - READ-ONLY; The list of the application principals. This is a legacy parameter and is no longer used. 1095 ApplicationPrincipals *string `json:"applicationPrincipals,omitempty"` 1096 // MaskingLevel - READ-ONLY; The masking level. This is a legacy parameter and is no longer used. 1097 MaskingLevel *string `json:"maskingLevel,omitempty"` 1098} 1099 1100// MarshalJSON is the custom marshaler for DataMaskingPolicyProperties. 1101func (dmpp DataMaskingPolicyProperties) MarshalJSON() ([]byte, error) { 1102 objectMap := make(map[string]interface{}) 1103 if dmpp.DataMaskingState != "" { 1104 objectMap["dataMaskingState"] = dmpp.DataMaskingState 1105 } 1106 if dmpp.ExemptPrincipals != nil { 1107 objectMap["exemptPrincipals"] = dmpp.ExemptPrincipals 1108 } 1109 return json.Marshal(objectMap) 1110} 1111 1112// DataMaskingRule represents a Sql pool data masking rule. 1113type DataMaskingRule struct { 1114 autorest.Response `json:"-"` 1115 // DataMaskingRuleProperties - The properties of the resource. 1116 *DataMaskingRuleProperties `json:"properties,omitempty"` 1117 // Location - READ-ONLY; The location of the data masking rule. 1118 Location *string `json:"location,omitempty"` 1119 // Kind - READ-ONLY; The kind of Data Masking Rule. Metadata, used for Azure portal. 1120 Kind *string `json:"kind,omitempty"` 1121 // ID - READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} 1122 ID *string `json:"id,omitempty"` 1123 // Name - READ-ONLY; The name of the resource 1124 Name *string `json:"name,omitempty"` 1125 // Type - READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" 1126 Type *string `json:"type,omitempty"` 1127} 1128 1129// MarshalJSON is the custom marshaler for DataMaskingRule. 1130func (dmr DataMaskingRule) MarshalJSON() ([]byte, error) { 1131 objectMap := make(map[string]interface{}) 1132 if dmr.DataMaskingRuleProperties != nil { 1133 objectMap["properties"] = dmr.DataMaskingRuleProperties 1134 } 1135 return json.Marshal(objectMap) 1136} 1137 1138// UnmarshalJSON is the custom unmarshaler for DataMaskingRule struct. 1139func (dmr *DataMaskingRule) UnmarshalJSON(body []byte) error { 1140 var m map[string]*json.RawMessage 1141 err := json.Unmarshal(body, &m) 1142 if err != nil { 1143 return err 1144 } 1145 for k, v := range m { 1146 switch k { 1147 case "properties": 1148 if v != nil { 1149 var dataMaskingRuleProperties DataMaskingRuleProperties 1150 err = json.Unmarshal(*v, &dataMaskingRuleProperties) 1151 if err != nil { 1152 return err 1153 } 1154 dmr.DataMaskingRuleProperties = &dataMaskingRuleProperties 1155 } 1156 case "location": 1157 if v != nil { 1158 var location string 1159 err = json.Unmarshal(*v, &location) 1160 if err != nil { 1161 return err 1162 } 1163 dmr.Location = &location 1164 } 1165 case "kind": 1166 if v != nil { 1167 var kind string 1168 err = json.Unmarshal(*v, &kind) 1169 if err != nil { 1170 return err 1171 } 1172 dmr.Kind = &kind 1173 } 1174 case "id": 1175 if v != nil { 1176 var ID string 1177 err = json.Unmarshal(*v, &ID) 1178 if err != nil { 1179 return err 1180 } 1181 dmr.ID = &ID 1182 } 1183 case "name": 1184 if v != nil { 1185 var name string 1186 err = json.Unmarshal(*v, &name) 1187 if err != nil { 1188 return err 1189 } 1190 dmr.Name = &name 1191 } 1192 case "type": 1193 if v != nil { 1194 var typeVar string 1195 err = json.Unmarshal(*v, &typeVar) 1196 if err != nil { 1197 return err 1198 } 1199 dmr.Type = &typeVar 1200 } 1201 } 1202 } 1203 1204 return nil 1205} 1206 1207// DataMaskingRuleListResult the response to a list data masking rules request. 1208type DataMaskingRuleListResult struct { 1209 autorest.Response `json:"-"` 1210 // Value - The list of Sql pool data masking rules. 1211 Value *[]DataMaskingRule `json:"value,omitempty"` 1212} 1213 1214// DataMaskingRuleProperties the properties of a Sql pool data masking rule. 1215type DataMaskingRuleProperties struct { 1216 // ID - READ-ONLY; The rule Id. 1217 ID *string `json:"id,omitempty"` 1218 // AliasName - The alias name. This is a legacy parameter and is no longer used. 1219 AliasName *string `json:"aliasName,omitempty"` 1220 // RuleState - The rule state. Used to delete a rule. To delete an existing rule, specify the schemaName, tableName, columnName, maskingFunction, and specify ruleState as disabled. However, if the rule doesn't already exist, the rule will be created with ruleState set to enabled, regardless of the provided value of ruleState. Possible values include: 'DataMaskingRuleStateDisabled', 'DataMaskingRuleStateEnabled' 1221 RuleState DataMaskingRuleState `json:"ruleState,omitempty"` 1222 // SchemaName - The schema name on which the data masking rule is applied. 1223 SchemaName *string `json:"schemaName,omitempty"` 1224 // TableName - The table name on which the data masking rule is applied. 1225 TableName *string `json:"tableName,omitempty"` 1226 // ColumnName - The column name on which the data masking rule is applied. 1227 ColumnName *string `json:"columnName,omitempty"` 1228 // MaskingFunction - The masking function that is used for the data masking rule. Possible values include: 'DataMaskingFunctionDefault', 'DataMaskingFunctionCCN', 'DataMaskingFunctionEmail', 'DataMaskingFunctionNumber', 'DataMaskingFunctionSSN', 'DataMaskingFunctionText' 1229 MaskingFunction DataMaskingFunction `json:"maskingFunction,omitempty"` 1230 // NumberFrom - The numberFrom property of the masking rule. Required if maskingFunction is set to Number, otherwise this parameter will be ignored. 1231 NumberFrom *string `json:"numberFrom,omitempty"` 1232 // NumberTo - The numberTo property of the data masking rule. Required if maskingFunction is set to Number, otherwise this parameter will be ignored. 1233 NumberTo *string `json:"numberTo,omitempty"` 1234 // PrefixSize - If maskingFunction is set to Text, the number of characters to show unmasked in the beginning of the string. Otherwise, this parameter will be ignored. 1235 PrefixSize *string `json:"prefixSize,omitempty"` 1236 // SuffixSize - If maskingFunction is set to Text, the number of characters to show unmasked at the end of the string. Otherwise, this parameter will be ignored. 1237 SuffixSize *string `json:"suffixSize,omitempty"` 1238 // ReplacementString - If maskingFunction is set to Text, the character to use for masking the unexposed part of the string. Otherwise, this parameter will be ignored. 1239 ReplacementString *string `json:"replacementString,omitempty"` 1240} 1241 1242// MarshalJSON is the custom marshaler for DataMaskingRuleProperties. 1243func (dmrp DataMaskingRuleProperties) MarshalJSON() ([]byte, error) { 1244 objectMap := make(map[string]interface{}) 1245 if dmrp.AliasName != nil { 1246 objectMap["aliasName"] = dmrp.AliasName 1247 } 1248 if dmrp.RuleState != "" { 1249 objectMap["ruleState"] = dmrp.RuleState 1250 } 1251 if dmrp.SchemaName != nil { 1252 objectMap["schemaName"] = dmrp.SchemaName 1253 } 1254 if dmrp.TableName != nil { 1255 objectMap["tableName"] = dmrp.TableName 1256 } 1257 if dmrp.ColumnName != nil { 1258 objectMap["columnName"] = dmrp.ColumnName 1259 } 1260 if dmrp.MaskingFunction != "" { 1261 objectMap["maskingFunction"] = dmrp.MaskingFunction 1262 } 1263 if dmrp.NumberFrom != nil { 1264 objectMap["numberFrom"] = dmrp.NumberFrom 1265 } 1266 if dmrp.NumberTo != nil { 1267 objectMap["numberTo"] = dmrp.NumberTo 1268 } 1269 if dmrp.PrefixSize != nil { 1270 objectMap["prefixSize"] = dmrp.PrefixSize 1271 } 1272 if dmrp.SuffixSize != nil { 1273 objectMap["suffixSize"] = dmrp.SuffixSize 1274 } 1275 if dmrp.ReplacementString != nil { 1276 objectMap["replacementString"] = dmrp.ReplacementString 1277 } 1278 return json.Marshal(objectMap) 1279} 1280 1281// DataWarehouseUserActivities user activities of a data warehouse 1282type DataWarehouseUserActivities struct { 1283 autorest.Response `json:"-"` 1284 // DataWarehouseUserActivitiesProperties - Resource properties. 1285 *DataWarehouseUserActivitiesProperties `json:"properties,omitempty"` 1286 // ID - READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} 1287 ID *string `json:"id,omitempty"` 1288 // Name - READ-ONLY; The name of the resource 1289 Name *string `json:"name,omitempty"` 1290 // Type - READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" 1291 Type *string `json:"type,omitempty"` 1292} 1293 1294// MarshalJSON is the custom marshaler for DataWarehouseUserActivities. 1295func (dwua DataWarehouseUserActivities) MarshalJSON() ([]byte, error) { 1296 objectMap := make(map[string]interface{}) 1297 if dwua.DataWarehouseUserActivitiesProperties != nil { 1298 objectMap["properties"] = dwua.DataWarehouseUserActivitiesProperties 1299 } 1300 return json.Marshal(objectMap) 1301} 1302 1303// UnmarshalJSON is the custom unmarshaler for DataWarehouseUserActivities struct. 1304func (dwua *DataWarehouseUserActivities) UnmarshalJSON(body []byte) error { 1305 var m map[string]*json.RawMessage 1306 err := json.Unmarshal(body, &m) 1307 if err != nil { 1308 return err 1309 } 1310 for k, v := range m { 1311 switch k { 1312 case "properties": 1313 if v != nil { 1314 var dataWarehouseUserActivitiesProperties DataWarehouseUserActivitiesProperties 1315 err = json.Unmarshal(*v, &dataWarehouseUserActivitiesProperties) 1316 if err != nil { 1317 return err 1318 } 1319 dwua.DataWarehouseUserActivitiesProperties = &dataWarehouseUserActivitiesProperties 1320 } 1321 case "id": 1322 if v != nil { 1323 var ID string 1324 err = json.Unmarshal(*v, &ID) 1325 if err != nil { 1326 return err 1327 } 1328 dwua.ID = &ID 1329 } 1330 case "name": 1331 if v != nil { 1332 var name string 1333 err = json.Unmarshal(*v, &name) 1334 if err != nil { 1335 return err 1336 } 1337 dwua.Name = &name 1338 } 1339 case "type": 1340 if v != nil { 1341 var typeVar string 1342 err = json.Unmarshal(*v, &typeVar) 1343 if err != nil { 1344 return err 1345 } 1346 dwua.Type = &typeVar 1347 } 1348 } 1349 } 1350 1351 return nil 1352} 1353 1354// DataWarehouseUserActivitiesProperties user activities of a data warehouse. This currently includes the 1355// count of running or suspended queries. For more information, please view the sys.dm_pdw_exec_requests 1356// dynamic management view (DMV). 1357type DataWarehouseUserActivitiesProperties struct { 1358 // ActiveQueriesCount - READ-ONLY; Count of running and suspended queries. 1359 ActiveQueriesCount *int32 `json:"activeQueriesCount,omitempty"` 1360} 1361 1362// MarshalJSON is the custom marshaler for DataWarehouseUserActivitiesProperties. 1363func (dwuap DataWarehouseUserActivitiesProperties) MarshalJSON() ([]byte, error) { 1364 objectMap := make(map[string]interface{}) 1365 return json.Marshal(objectMap) 1366} 1367 1368// EncryptionDetails details of the encryption associated with the workspace 1369type EncryptionDetails struct { 1370 // DoubleEncryptionEnabled - READ-ONLY; Double Encryption enabled 1371 DoubleEncryptionEnabled *bool `json:"doubleEncryptionEnabled,omitempty"` 1372 // Cmk - Customer Managed Key Details 1373 Cmk *CustomerManagedKeyDetails `json:"cmk,omitempty"` 1374} 1375 1376// MarshalJSON is the custom marshaler for EncryptionDetails. 1377func (ed EncryptionDetails) MarshalJSON() ([]byte, error) { 1378 objectMap := make(map[string]interface{}) 1379 if ed.Cmk != nil { 1380 objectMap["cmk"] = ed.Cmk 1381 } 1382 return json.Marshal(objectMap) 1383} 1384 1385// EntityReference the entity reference. 1386type EntityReference struct { 1387 // Type - The type of this referenced entity. Possible values include: 'IntegrationRuntimeReference', 'LinkedServiceReference' 1388 Type IntegrationRuntimeEntityReferenceType `json:"type,omitempty"` 1389 // ReferenceName - The name of this referenced entity. 1390 ReferenceName *string `json:"referenceName,omitempty"` 1391} 1392 1393// EnvironmentVariableSetup the custom setup of setting environment variable. 1394type EnvironmentVariableSetup struct { 1395 // EnvironmentVariableSetupTypeProperties - Add environment variable type properties. 1396 *EnvironmentVariableSetupTypeProperties `json:"typeProperties,omitempty"` 1397 // Type - Possible values include: 'TypeCustomSetupBase', 'TypeCmdkeySetup', 'TypeEnvironmentVariableSetup', 'TypeComponentSetup' 1398 Type TypeBasicCustomSetupBase `json:"type,omitempty"` 1399} 1400 1401// MarshalJSON is the custom marshaler for EnvironmentVariableSetup. 1402func (evs EnvironmentVariableSetup) MarshalJSON() ([]byte, error) { 1403 evs.Type = TypeEnvironmentVariableSetup 1404 objectMap := make(map[string]interface{}) 1405 if evs.EnvironmentVariableSetupTypeProperties != nil { 1406 objectMap["typeProperties"] = evs.EnvironmentVariableSetupTypeProperties 1407 } 1408 if evs.Type != "" { 1409 objectMap["type"] = evs.Type 1410 } 1411 return json.Marshal(objectMap) 1412} 1413 1414// AsCmdkeySetup is the BasicCustomSetupBase implementation for EnvironmentVariableSetup. 1415func (evs EnvironmentVariableSetup) AsCmdkeySetup() (*CmdkeySetup, bool) { 1416 return nil, false 1417} 1418 1419// AsEnvironmentVariableSetup is the BasicCustomSetupBase implementation for EnvironmentVariableSetup. 1420func (evs EnvironmentVariableSetup) AsEnvironmentVariableSetup() (*EnvironmentVariableSetup, bool) { 1421 return &evs, true 1422} 1423 1424// AsComponentSetup is the BasicCustomSetupBase implementation for EnvironmentVariableSetup. 1425func (evs EnvironmentVariableSetup) AsComponentSetup() (*ComponentSetup, bool) { 1426 return nil, false 1427} 1428 1429// AsCustomSetupBase is the BasicCustomSetupBase implementation for EnvironmentVariableSetup. 1430func (evs EnvironmentVariableSetup) AsCustomSetupBase() (*CustomSetupBase, bool) { 1431 return nil, false 1432} 1433 1434// AsBasicCustomSetupBase is the BasicCustomSetupBase implementation for EnvironmentVariableSetup. 1435func (evs EnvironmentVariableSetup) AsBasicCustomSetupBase() (BasicCustomSetupBase, bool) { 1436 return &evs, true 1437} 1438 1439// UnmarshalJSON is the custom unmarshaler for EnvironmentVariableSetup struct. 1440func (evs *EnvironmentVariableSetup) UnmarshalJSON(body []byte) error { 1441 var m map[string]*json.RawMessage 1442 err := json.Unmarshal(body, &m) 1443 if err != nil { 1444 return err 1445 } 1446 for k, v := range m { 1447 switch k { 1448 case "typeProperties": 1449 if v != nil { 1450 var environmentVariableSetupTypeProperties EnvironmentVariableSetupTypeProperties 1451 err = json.Unmarshal(*v, &environmentVariableSetupTypeProperties) 1452 if err != nil { 1453 return err 1454 } 1455 evs.EnvironmentVariableSetupTypeProperties = &environmentVariableSetupTypeProperties 1456 } 1457 case "type": 1458 if v != nil { 1459 var typeVar TypeBasicCustomSetupBase 1460 err = json.Unmarshal(*v, &typeVar) 1461 if err != nil { 1462 return err 1463 } 1464 evs.Type = typeVar 1465 } 1466 } 1467 } 1468 1469 return nil 1470} 1471 1472// EnvironmentVariableSetupTypeProperties environment variable custom setup type properties. 1473type EnvironmentVariableSetupTypeProperties struct { 1474 // VariableName - The name of the environment variable. 1475 VariableName *string `json:"variableName,omitempty"` 1476 // VariableValue - The value of the environment variable. 1477 VariableValue *string `json:"variableValue,omitempty"` 1478} 1479 1480// ErrorAdditionalInfo the resource management error additional info. 1481type ErrorAdditionalInfo struct { 1482 // Type - READ-ONLY; The additional info type. 1483 Type *string `json:"type,omitempty"` 1484 // Info - READ-ONLY; The additional info. 1485 Info interface{} `json:"info,omitempty"` 1486} 1487 1488// MarshalJSON is the custom marshaler for ErrorAdditionalInfo. 1489func (eai ErrorAdditionalInfo) MarshalJSON() ([]byte, error) { 1490 objectMap := make(map[string]interface{}) 1491 return json.Marshal(objectMap) 1492} 1493 1494// ErrorContract contains details when the response code indicates an error. 1495type ErrorContract struct { 1496 // Error - The error details. 1497 Error *ErrorResponse `json:"error,omitempty"` 1498} 1499 1500// ErrorDetail error details 1501type ErrorDetail struct { 1502 // Message - Error message 1503 Message *string `json:"message,omitempty"` 1504 // Code - Error code 1505 Code *string `json:"code,omitempty"` 1506 // Target - Error target 1507 Target *string `json:"target,omitempty"` 1508} 1509 1510// ErrorResponse common error response for all Azure Resource Manager APIs to return error details for 1511// failed operations. (This also follows the OData error response format.) 1512type ErrorResponse struct { 1513 // Code - READ-ONLY; The error code. 1514 Code *string `json:"code,omitempty"` 1515 // Message - READ-ONLY; The error message. 1516 Message *string `json:"message,omitempty"` 1517 // Target - READ-ONLY; The error target. 1518 Target *string `json:"target,omitempty"` 1519 // Details - READ-ONLY; The error details. 1520 Details *[]ErrorResponse `json:"details,omitempty"` 1521 // AdditionalInfo - READ-ONLY; The error additional info. 1522 AdditionalInfo *[]ErrorAdditionalInfo `json:"additionalInfo,omitempty"` 1523} 1524 1525// MarshalJSON is the custom marshaler for ErrorResponse. 1526func (er ErrorResponse) MarshalJSON() ([]byte, error) { 1527 objectMap := make(map[string]interface{}) 1528 return json.Marshal(objectMap) 1529} 1530 1531// ExtendedServerBlobAuditingPolicy an extended server blob auditing policy. 1532type ExtendedServerBlobAuditingPolicy struct { 1533 autorest.Response `json:"-"` 1534 // ExtendedServerBlobAuditingPolicyProperties - Resource properties. 1535 *ExtendedServerBlobAuditingPolicyProperties `json:"properties,omitempty"` 1536 // ID - READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} 1537 ID *string `json:"id,omitempty"` 1538 // Name - READ-ONLY; The name of the resource 1539 Name *string `json:"name,omitempty"` 1540 // Type - READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" 1541 Type *string `json:"type,omitempty"` 1542} 1543 1544// MarshalJSON is the custom marshaler for ExtendedServerBlobAuditingPolicy. 1545func (esbap ExtendedServerBlobAuditingPolicy) MarshalJSON() ([]byte, error) { 1546 objectMap := make(map[string]interface{}) 1547 if esbap.ExtendedServerBlobAuditingPolicyProperties != nil { 1548 objectMap["properties"] = esbap.ExtendedServerBlobAuditingPolicyProperties 1549 } 1550 return json.Marshal(objectMap) 1551} 1552 1553// UnmarshalJSON is the custom unmarshaler for ExtendedServerBlobAuditingPolicy struct. 1554func (esbap *ExtendedServerBlobAuditingPolicy) UnmarshalJSON(body []byte) error { 1555 var m map[string]*json.RawMessage 1556 err := json.Unmarshal(body, &m) 1557 if err != nil { 1558 return err 1559 } 1560 for k, v := range m { 1561 switch k { 1562 case "properties": 1563 if v != nil { 1564 var extendedServerBlobAuditingPolicyProperties ExtendedServerBlobAuditingPolicyProperties 1565 err = json.Unmarshal(*v, &extendedServerBlobAuditingPolicyProperties) 1566 if err != nil { 1567 return err 1568 } 1569 esbap.ExtendedServerBlobAuditingPolicyProperties = &extendedServerBlobAuditingPolicyProperties 1570 } 1571 case "id": 1572 if v != nil { 1573 var ID string 1574 err = json.Unmarshal(*v, &ID) 1575 if err != nil { 1576 return err 1577 } 1578 esbap.ID = &ID 1579 } 1580 case "name": 1581 if v != nil { 1582 var name string 1583 err = json.Unmarshal(*v, &name) 1584 if err != nil { 1585 return err 1586 } 1587 esbap.Name = &name 1588 } 1589 case "type": 1590 if v != nil { 1591 var typeVar string 1592 err = json.Unmarshal(*v, &typeVar) 1593 if err != nil { 1594 return err 1595 } 1596 esbap.Type = &typeVar 1597 } 1598 } 1599 } 1600 1601 return nil 1602} 1603 1604// ExtendedServerBlobAuditingPolicyListResult a list of server extended auditing settings. 1605type ExtendedServerBlobAuditingPolicyListResult struct { 1606 autorest.Response `json:"-"` 1607 // Value - READ-ONLY; Array of results. 1608 Value *[]ExtendedServerBlobAuditingPolicy `json:"value,omitempty"` 1609 // NextLink - READ-ONLY; Link to retrieve next page of results. 1610 NextLink *string `json:"nextLink,omitempty"` 1611} 1612 1613// MarshalJSON is the custom marshaler for ExtendedServerBlobAuditingPolicyListResult. 1614func (esbaplr ExtendedServerBlobAuditingPolicyListResult) MarshalJSON() ([]byte, error) { 1615 objectMap := make(map[string]interface{}) 1616 return json.Marshal(objectMap) 1617} 1618 1619// ExtendedServerBlobAuditingPolicyListResultIterator provides access to a complete listing of 1620// ExtendedServerBlobAuditingPolicy values. 1621type ExtendedServerBlobAuditingPolicyListResultIterator struct { 1622 i int 1623 page ExtendedServerBlobAuditingPolicyListResultPage 1624} 1625 1626// NextWithContext advances to the next value. If there was an error making 1627// the request the iterator does not advance and the error is returned. 1628func (iter *ExtendedServerBlobAuditingPolicyListResultIterator) NextWithContext(ctx context.Context) (err error) { 1629 if tracing.IsEnabled() { 1630 ctx = tracing.StartSpan(ctx, fqdn+"/ExtendedServerBlobAuditingPolicyListResultIterator.NextWithContext") 1631 defer func() { 1632 sc := -1 1633 if iter.Response().Response.Response != nil { 1634 sc = iter.Response().Response.Response.StatusCode 1635 } 1636 tracing.EndSpan(ctx, sc, err) 1637 }() 1638 } 1639 iter.i++ 1640 if iter.i < len(iter.page.Values()) { 1641 return nil 1642 } 1643 err = iter.page.NextWithContext(ctx) 1644 if err != nil { 1645 iter.i-- 1646 return err 1647 } 1648 iter.i = 0 1649 return nil 1650} 1651 1652// Next advances to the next value. If there was an error making 1653// the request the iterator does not advance and the error is returned. 1654// Deprecated: Use NextWithContext() instead. 1655func (iter *ExtendedServerBlobAuditingPolicyListResultIterator) Next() error { 1656 return iter.NextWithContext(context.Background()) 1657} 1658 1659// NotDone returns true if the enumeration should be started or is not yet complete. 1660func (iter ExtendedServerBlobAuditingPolicyListResultIterator) NotDone() bool { 1661 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 1662} 1663 1664// Response returns the raw server response from the last page request. 1665func (iter ExtendedServerBlobAuditingPolicyListResultIterator) Response() ExtendedServerBlobAuditingPolicyListResult { 1666 return iter.page.Response() 1667} 1668 1669// Value returns the current value or a zero-initialized value if the 1670// iterator has advanced beyond the end of the collection. 1671func (iter ExtendedServerBlobAuditingPolicyListResultIterator) Value() ExtendedServerBlobAuditingPolicy { 1672 if !iter.page.NotDone() { 1673 return ExtendedServerBlobAuditingPolicy{} 1674 } 1675 return iter.page.Values()[iter.i] 1676} 1677 1678// Creates a new instance of the ExtendedServerBlobAuditingPolicyListResultIterator type. 1679func NewExtendedServerBlobAuditingPolicyListResultIterator(page ExtendedServerBlobAuditingPolicyListResultPage) ExtendedServerBlobAuditingPolicyListResultIterator { 1680 return ExtendedServerBlobAuditingPolicyListResultIterator{page: page} 1681} 1682 1683// IsEmpty returns true if the ListResult contains no values. 1684func (esbaplr ExtendedServerBlobAuditingPolicyListResult) IsEmpty() bool { 1685 return esbaplr.Value == nil || len(*esbaplr.Value) == 0 1686} 1687 1688// hasNextLink returns true if the NextLink is not empty. 1689func (esbaplr ExtendedServerBlobAuditingPolicyListResult) hasNextLink() bool { 1690 return esbaplr.NextLink != nil && len(*esbaplr.NextLink) != 0 1691} 1692 1693// extendedServerBlobAuditingPolicyListResultPreparer prepares a request to retrieve the next set of results. 1694// It returns nil if no more results exist. 1695func (esbaplr ExtendedServerBlobAuditingPolicyListResult) extendedServerBlobAuditingPolicyListResultPreparer(ctx context.Context) (*http.Request, error) { 1696 if !esbaplr.hasNextLink() { 1697 return nil, nil 1698 } 1699 return autorest.Prepare((&http.Request{}).WithContext(ctx), 1700 autorest.AsJSON(), 1701 autorest.AsGet(), 1702 autorest.WithBaseURL(to.String(esbaplr.NextLink))) 1703} 1704 1705// ExtendedServerBlobAuditingPolicyListResultPage contains a page of ExtendedServerBlobAuditingPolicy 1706// values. 1707type ExtendedServerBlobAuditingPolicyListResultPage struct { 1708 fn func(context.Context, ExtendedServerBlobAuditingPolicyListResult) (ExtendedServerBlobAuditingPolicyListResult, error) 1709 esbaplr ExtendedServerBlobAuditingPolicyListResult 1710} 1711 1712// NextWithContext advances to the next page of values. If there was an error making 1713// the request the page does not advance and the error is returned. 1714func (page *ExtendedServerBlobAuditingPolicyListResultPage) NextWithContext(ctx context.Context) (err error) { 1715 if tracing.IsEnabled() { 1716 ctx = tracing.StartSpan(ctx, fqdn+"/ExtendedServerBlobAuditingPolicyListResultPage.NextWithContext") 1717 defer func() { 1718 sc := -1 1719 if page.Response().Response.Response != nil { 1720 sc = page.Response().Response.Response.StatusCode 1721 } 1722 tracing.EndSpan(ctx, sc, err) 1723 }() 1724 } 1725 for { 1726 next, err := page.fn(ctx, page.esbaplr) 1727 if err != nil { 1728 return err 1729 } 1730 page.esbaplr = next 1731 if !next.hasNextLink() || !next.IsEmpty() { 1732 break 1733 } 1734 } 1735 return nil 1736} 1737 1738// Next advances to the next page of values. If there was an error making 1739// the request the page does not advance and the error is returned. 1740// Deprecated: Use NextWithContext() instead. 1741func (page *ExtendedServerBlobAuditingPolicyListResultPage) Next() error { 1742 return page.NextWithContext(context.Background()) 1743} 1744 1745// NotDone returns true if the page enumeration should be started or is not yet complete. 1746func (page ExtendedServerBlobAuditingPolicyListResultPage) NotDone() bool { 1747 return !page.esbaplr.IsEmpty() 1748} 1749 1750// Response returns the raw server response from the last page request. 1751func (page ExtendedServerBlobAuditingPolicyListResultPage) Response() ExtendedServerBlobAuditingPolicyListResult { 1752 return page.esbaplr 1753} 1754 1755// Values returns the slice of values for the current page or nil if there are no values. 1756func (page ExtendedServerBlobAuditingPolicyListResultPage) Values() []ExtendedServerBlobAuditingPolicy { 1757 if page.esbaplr.IsEmpty() { 1758 return nil 1759 } 1760 return *page.esbaplr.Value 1761} 1762 1763// Creates a new instance of the ExtendedServerBlobAuditingPolicyListResultPage type. 1764func NewExtendedServerBlobAuditingPolicyListResultPage(cur ExtendedServerBlobAuditingPolicyListResult, getNextPage func(context.Context, ExtendedServerBlobAuditingPolicyListResult) (ExtendedServerBlobAuditingPolicyListResult, error)) ExtendedServerBlobAuditingPolicyListResultPage { 1765 return ExtendedServerBlobAuditingPolicyListResultPage{ 1766 fn: getNextPage, 1767 esbaplr: cur, 1768 } 1769} 1770 1771// ExtendedServerBlobAuditingPolicyProperties properties of an extended server blob auditing policy. 1772type ExtendedServerBlobAuditingPolicyProperties struct { 1773 // PredicateExpression - Specifies condition of where clause when creating an audit. 1774 PredicateExpression *string `json:"predicateExpression,omitempty"` 1775 // State - Specifies the state of the policy. If state is Enabled, storageEndpoint or isAzureMonitorTargetEnabled are required. Possible values include: 'BlobAuditingPolicyStateEnabled', 'BlobAuditingPolicyStateDisabled' 1776 State BlobAuditingPolicyState `json:"state,omitempty"` 1777 // StorageEndpoint - Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). If state is Enabled, storageEndpoint or isAzureMonitorTargetEnabled is required. 1778 StorageEndpoint *string `json:"storageEndpoint,omitempty"` 1779 // StorageAccountAccessKey - Specifies the identifier key of the auditing storage account. 1780 // If state is Enabled and storageEndpoint is specified, not specifying the storageAccountAccessKey will use SQL server system-assigned managed identity to access the storage. 1781 // Prerequisites for using managed identity authentication: 1782 // 1. Assign SQL Server a system-assigned managed identity in Azure Active Directory (AAD). 1783 // 2. Grant SQL Server identity access to the storage account by adding 'Storage Blob Data Contributor' RBAC role to the server identity. 1784 // For more information, see [Auditing to storage using Managed Identity authentication](https://go.microsoft.com/fwlink/?linkid=2114355) 1785 StorageAccountAccessKey *string `json:"storageAccountAccessKey,omitempty"` 1786 // RetentionDays - Specifies the number of days to keep in the audit logs in the storage account. 1787 RetentionDays *int32 `json:"retentionDays,omitempty"` 1788 // AuditActionsAndGroups - Specifies the Actions-Groups and Actions to audit. 1789 // 1790 // The recommended set of action groups to use is the following combination - this will audit all the queries and stored procedures executed against the database, as well as successful and failed logins: 1791 // 1792 // BATCH_COMPLETED_GROUP, 1793 // SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP, 1794 // FAILED_DATABASE_AUTHENTICATION_GROUP. 1795 // 1796 // This above combination is also the set that is configured by default when enabling auditing from the Azure portal. 1797 // 1798 // The supported action groups to audit are (note: choose only specific groups that cover your auditing needs. Using unnecessary groups could lead to very large quantities of audit records): 1799 // 1800 // APPLICATION_ROLE_CHANGE_PASSWORD_GROUP 1801 // BACKUP_RESTORE_GROUP 1802 // DATABASE_LOGOUT_GROUP 1803 // DATABASE_OBJECT_CHANGE_GROUP 1804 // DATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP 1805 // DATABASE_OBJECT_PERMISSION_CHANGE_GROUP 1806 // DATABASE_OPERATION_GROUP 1807 // DATABASE_PERMISSION_CHANGE_GROUP 1808 // DATABASE_PRINCIPAL_CHANGE_GROUP 1809 // DATABASE_PRINCIPAL_IMPERSONATION_GROUP 1810 // DATABASE_ROLE_MEMBER_CHANGE_GROUP 1811 // FAILED_DATABASE_AUTHENTICATION_GROUP 1812 // SCHEMA_OBJECT_ACCESS_GROUP 1813 // SCHEMA_OBJECT_CHANGE_GROUP 1814 // SCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP 1815 // SCHEMA_OBJECT_PERMISSION_CHANGE_GROUP 1816 // SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP 1817 // USER_CHANGE_PASSWORD_GROUP 1818 // BATCH_STARTED_GROUP 1819 // BATCH_COMPLETED_GROUP 1820 // 1821 // These are groups that cover all sql statements and stored procedures executed against the database, and should not be used in combination with other groups as this will result in duplicate audit logs. 1822 // 1823 // For more information, see [Database-Level Audit Action Groups](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-action-groups). 1824 // 1825 // For Database auditing policy, specific Actions can also be specified (note that Actions cannot be specified for Server auditing policy). The supported actions to audit are: 1826 // SELECT 1827 // UPDATE 1828 // INSERT 1829 // DELETE 1830 // EXECUTE 1831 // RECEIVE 1832 // REFERENCES 1833 // 1834 // The general form for defining an action to be audited is: 1835 // {action} ON {object} BY {principal} 1836 // 1837 // Note that <object> in the above format can refer to an object like a table, view, or stored procedure, or an entire database or schema. For the latter cases, the forms DATABASE::{db_name} and SCHEMA::{schema_name} are used, respectively. 1838 // 1839 // For example: 1840 // SELECT on dbo.myTable by public 1841 // SELECT on DATABASE::myDatabase by public 1842 // SELECT on SCHEMA::mySchema by public 1843 // 1844 // For more information, see [Database-Level Audit Actions](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-actions) 1845 AuditActionsAndGroups *[]string `json:"auditActionsAndGroups,omitempty"` 1846 // StorageAccountSubscriptionID - Specifies the blob storage subscription Id. 1847 StorageAccountSubscriptionID *uuid.UUID `json:"storageAccountSubscriptionId,omitempty"` 1848 // IsStorageSecondaryKeyInUse - Specifies whether storageAccountAccessKey value is the storage's secondary key. 1849 IsStorageSecondaryKeyInUse *bool `json:"isStorageSecondaryKeyInUse,omitempty"` 1850 // IsAzureMonitorTargetEnabled - Specifies whether audit events are sent to Azure Monitor. 1851 // In order to send the events to Azure Monitor, specify 'state' as 'Enabled' and 'isAzureMonitorTargetEnabled' as true. 1852 // 1853 // When using REST API to configure auditing, Diagnostic Settings with 'SQLSecurityAuditEvents' diagnostic logs category on the database should be also created. 1854 // Note that for server level audit you should use the 'master' database as {databaseName}. 1855 // 1856 // Diagnostic Settings URI format: 1857 // PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview 1858 // 1859 // For more information, see [Diagnostic Settings REST API](https://go.microsoft.com/fwlink/?linkid=2033207) 1860 // or [Diagnostic Settings PowerShell](https://go.microsoft.com/fwlink/?linkid=2033043) 1861 IsAzureMonitorTargetEnabled *bool `json:"isAzureMonitorTargetEnabled,omitempty"` 1862 // QueueDelayMs - Specifies the amount of time in milliseconds that can elapse before audit actions are forced to be processed. 1863 // The default minimum value is 1000 (1 second). The maximum is 2,147,483,647. 1864 QueueDelayMs *int32 `json:"queueDelayMs,omitempty"` 1865} 1866 1867// ExtendedSQLPoolBlobAuditingPolicy an extended Sql pool blob auditing policy. 1868type ExtendedSQLPoolBlobAuditingPolicy struct { 1869 autorest.Response `json:"-"` 1870 // ExtendedSQLPoolBlobAuditingPolicyProperties - Resource properties. 1871 *ExtendedSQLPoolBlobAuditingPolicyProperties `json:"properties,omitempty"` 1872 // ID - READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} 1873 ID *string `json:"id,omitempty"` 1874 // Name - READ-ONLY; The name of the resource 1875 Name *string `json:"name,omitempty"` 1876 // Type - READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" 1877 Type *string `json:"type,omitempty"` 1878} 1879 1880// MarshalJSON is the custom marshaler for ExtendedSQLPoolBlobAuditingPolicy. 1881func (espbap ExtendedSQLPoolBlobAuditingPolicy) MarshalJSON() ([]byte, error) { 1882 objectMap := make(map[string]interface{}) 1883 if espbap.ExtendedSQLPoolBlobAuditingPolicyProperties != nil { 1884 objectMap["properties"] = espbap.ExtendedSQLPoolBlobAuditingPolicyProperties 1885 } 1886 return json.Marshal(objectMap) 1887} 1888 1889// UnmarshalJSON is the custom unmarshaler for ExtendedSQLPoolBlobAuditingPolicy struct. 1890func (espbap *ExtendedSQLPoolBlobAuditingPolicy) UnmarshalJSON(body []byte) error { 1891 var m map[string]*json.RawMessage 1892 err := json.Unmarshal(body, &m) 1893 if err != nil { 1894 return err 1895 } 1896 for k, v := range m { 1897 switch k { 1898 case "properties": 1899 if v != nil { 1900 var extendedSQLPoolBlobAuditingPolicyProperties ExtendedSQLPoolBlobAuditingPolicyProperties 1901 err = json.Unmarshal(*v, &extendedSQLPoolBlobAuditingPolicyProperties) 1902 if err != nil { 1903 return err 1904 } 1905 espbap.ExtendedSQLPoolBlobAuditingPolicyProperties = &extendedSQLPoolBlobAuditingPolicyProperties 1906 } 1907 case "id": 1908 if v != nil { 1909 var ID string 1910 err = json.Unmarshal(*v, &ID) 1911 if err != nil { 1912 return err 1913 } 1914 espbap.ID = &ID 1915 } 1916 case "name": 1917 if v != nil { 1918 var name string 1919 err = json.Unmarshal(*v, &name) 1920 if err != nil { 1921 return err 1922 } 1923 espbap.Name = &name 1924 } 1925 case "type": 1926 if v != nil { 1927 var typeVar string 1928 err = json.Unmarshal(*v, &typeVar) 1929 if err != nil { 1930 return err 1931 } 1932 espbap.Type = &typeVar 1933 } 1934 } 1935 } 1936 1937 return nil 1938} 1939 1940// ExtendedSQLPoolBlobAuditingPolicyListResult a list of sql pool extended auditing settings. 1941type ExtendedSQLPoolBlobAuditingPolicyListResult struct { 1942 autorest.Response `json:"-"` 1943 // Value - READ-ONLY; Array of results. 1944 Value *[]ExtendedSQLPoolBlobAuditingPolicy `json:"value,omitempty"` 1945 // NextLink - READ-ONLY; Link to retrieve next page of results. 1946 NextLink *string `json:"nextLink,omitempty"` 1947} 1948 1949// MarshalJSON is the custom marshaler for ExtendedSQLPoolBlobAuditingPolicyListResult. 1950func (espbaplr ExtendedSQLPoolBlobAuditingPolicyListResult) MarshalJSON() ([]byte, error) { 1951 objectMap := make(map[string]interface{}) 1952 return json.Marshal(objectMap) 1953} 1954 1955// ExtendedSQLPoolBlobAuditingPolicyListResultIterator provides access to a complete listing of 1956// ExtendedSQLPoolBlobAuditingPolicy values. 1957type ExtendedSQLPoolBlobAuditingPolicyListResultIterator struct { 1958 i int 1959 page ExtendedSQLPoolBlobAuditingPolicyListResultPage 1960} 1961 1962// NextWithContext advances to the next value. If there was an error making 1963// the request the iterator does not advance and the error is returned. 1964func (iter *ExtendedSQLPoolBlobAuditingPolicyListResultIterator) NextWithContext(ctx context.Context) (err error) { 1965 if tracing.IsEnabled() { 1966 ctx = tracing.StartSpan(ctx, fqdn+"/ExtendedSQLPoolBlobAuditingPolicyListResultIterator.NextWithContext") 1967 defer func() { 1968 sc := -1 1969 if iter.Response().Response.Response != nil { 1970 sc = iter.Response().Response.Response.StatusCode 1971 } 1972 tracing.EndSpan(ctx, sc, err) 1973 }() 1974 } 1975 iter.i++ 1976 if iter.i < len(iter.page.Values()) { 1977 return nil 1978 } 1979 err = iter.page.NextWithContext(ctx) 1980 if err != nil { 1981 iter.i-- 1982 return err 1983 } 1984 iter.i = 0 1985 return nil 1986} 1987 1988// Next advances to the next value. If there was an error making 1989// the request the iterator does not advance and the error is returned. 1990// Deprecated: Use NextWithContext() instead. 1991func (iter *ExtendedSQLPoolBlobAuditingPolicyListResultIterator) Next() error { 1992 return iter.NextWithContext(context.Background()) 1993} 1994 1995// NotDone returns true if the enumeration should be started or is not yet complete. 1996func (iter ExtendedSQLPoolBlobAuditingPolicyListResultIterator) NotDone() bool { 1997 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 1998} 1999 2000// Response returns the raw server response from the last page request. 2001func (iter ExtendedSQLPoolBlobAuditingPolicyListResultIterator) Response() ExtendedSQLPoolBlobAuditingPolicyListResult { 2002 return iter.page.Response() 2003} 2004 2005// Value returns the current value or a zero-initialized value if the 2006// iterator has advanced beyond the end of the collection. 2007func (iter ExtendedSQLPoolBlobAuditingPolicyListResultIterator) Value() ExtendedSQLPoolBlobAuditingPolicy { 2008 if !iter.page.NotDone() { 2009 return ExtendedSQLPoolBlobAuditingPolicy{} 2010 } 2011 return iter.page.Values()[iter.i] 2012} 2013 2014// Creates a new instance of the ExtendedSQLPoolBlobAuditingPolicyListResultIterator type. 2015func NewExtendedSQLPoolBlobAuditingPolicyListResultIterator(page ExtendedSQLPoolBlobAuditingPolicyListResultPage) ExtendedSQLPoolBlobAuditingPolicyListResultIterator { 2016 return ExtendedSQLPoolBlobAuditingPolicyListResultIterator{page: page} 2017} 2018 2019// IsEmpty returns true if the ListResult contains no values. 2020func (espbaplr ExtendedSQLPoolBlobAuditingPolicyListResult) IsEmpty() bool { 2021 return espbaplr.Value == nil || len(*espbaplr.Value) == 0 2022} 2023 2024// hasNextLink returns true if the NextLink is not empty. 2025func (espbaplr ExtendedSQLPoolBlobAuditingPolicyListResult) hasNextLink() bool { 2026 return espbaplr.NextLink != nil && len(*espbaplr.NextLink) != 0 2027} 2028 2029// extendedSQLPoolBlobAuditingPolicyListResultPreparer prepares a request to retrieve the next set of results. 2030// It returns nil if no more results exist. 2031func (espbaplr ExtendedSQLPoolBlobAuditingPolicyListResult) extendedSQLPoolBlobAuditingPolicyListResultPreparer(ctx context.Context) (*http.Request, error) { 2032 if !espbaplr.hasNextLink() { 2033 return nil, nil 2034 } 2035 return autorest.Prepare((&http.Request{}).WithContext(ctx), 2036 autorest.AsJSON(), 2037 autorest.AsGet(), 2038 autorest.WithBaseURL(to.String(espbaplr.NextLink))) 2039} 2040 2041// ExtendedSQLPoolBlobAuditingPolicyListResultPage contains a page of ExtendedSQLPoolBlobAuditingPolicy 2042// values. 2043type ExtendedSQLPoolBlobAuditingPolicyListResultPage struct { 2044 fn func(context.Context, ExtendedSQLPoolBlobAuditingPolicyListResult) (ExtendedSQLPoolBlobAuditingPolicyListResult, error) 2045 espbaplr ExtendedSQLPoolBlobAuditingPolicyListResult 2046} 2047 2048// NextWithContext advances to the next page of values. If there was an error making 2049// the request the page does not advance and the error is returned. 2050func (page *ExtendedSQLPoolBlobAuditingPolicyListResultPage) NextWithContext(ctx context.Context) (err error) { 2051 if tracing.IsEnabled() { 2052 ctx = tracing.StartSpan(ctx, fqdn+"/ExtendedSQLPoolBlobAuditingPolicyListResultPage.NextWithContext") 2053 defer func() { 2054 sc := -1 2055 if page.Response().Response.Response != nil { 2056 sc = page.Response().Response.Response.StatusCode 2057 } 2058 tracing.EndSpan(ctx, sc, err) 2059 }() 2060 } 2061 for { 2062 next, err := page.fn(ctx, page.espbaplr) 2063 if err != nil { 2064 return err 2065 } 2066 page.espbaplr = next 2067 if !next.hasNextLink() || !next.IsEmpty() { 2068 break 2069 } 2070 } 2071 return nil 2072} 2073 2074// Next advances to the next page of values. If there was an error making 2075// the request the page does not advance and the error is returned. 2076// Deprecated: Use NextWithContext() instead. 2077func (page *ExtendedSQLPoolBlobAuditingPolicyListResultPage) Next() error { 2078 return page.NextWithContext(context.Background()) 2079} 2080 2081// NotDone returns true if the page enumeration should be started or is not yet complete. 2082func (page ExtendedSQLPoolBlobAuditingPolicyListResultPage) NotDone() bool { 2083 return !page.espbaplr.IsEmpty() 2084} 2085 2086// Response returns the raw server response from the last page request. 2087func (page ExtendedSQLPoolBlobAuditingPolicyListResultPage) Response() ExtendedSQLPoolBlobAuditingPolicyListResult { 2088 return page.espbaplr 2089} 2090 2091// Values returns the slice of values for the current page or nil if there are no values. 2092func (page ExtendedSQLPoolBlobAuditingPolicyListResultPage) Values() []ExtendedSQLPoolBlobAuditingPolicy { 2093 if page.espbaplr.IsEmpty() { 2094 return nil 2095 } 2096 return *page.espbaplr.Value 2097} 2098 2099// Creates a new instance of the ExtendedSQLPoolBlobAuditingPolicyListResultPage type. 2100func NewExtendedSQLPoolBlobAuditingPolicyListResultPage(cur ExtendedSQLPoolBlobAuditingPolicyListResult, getNextPage func(context.Context, ExtendedSQLPoolBlobAuditingPolicyListResult) (ExtendedSQLPoolBlobAuditingPolicyListResult, error)) ExtendedSQLPoolBlobAuditingPolicyListResultPage { 2101 return ExtendedSQLPoolBlobAuditingPolicyListResultPage{ 2102 fn: getNextPage, 2103 espbaplr: cur, 2104 } 2105} 2106 2107// ExtendedSQLPoolBlobAuditingPolicyProperties properties of an extended Sql pool blob auditing policy. 2108type ExtendedSQLPoolBlobAuditingPolicyProperties struct { 2109 // PredicateExpression - Specifies condition of where clause when creating an audit. 2110 PredicateExpression *string `json:"predicateExpression,omitempty"` 2111 // State - Specifies the state of the policy. If state is Enabled, storageEndpoint or isAzureMonitorTargetEnabled are required. Possible values include: 'BlobAuditingPolicyStateEnabled', 'BlobAuditingPolicyStateDisabled' 2112 State BlobAuditingPolicyState `json:"state,omitempty"` 2113 // StorageEndpoint - Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). If state is Enabled, storageEndpoint or isAzureMonitorTargetEnabled is required. 2114 StorageEndpoint *string `json:"storageEndpoint,omitempty"` 2115 // StorageAccountAccessKey - Specifies the identifier key of the auditing storage account. 2116 // If state is Enabled and storageEndpoint is specified, not specifying the storageAccountAccessKey will use SQL server system-assigned managed identity to access the storage. 2117 // Prerequisites for using managed identity authentication: 2118 // 1. Assign SQL Server a system-assigned managed identity in Azure Active Directory (AAD). 2119 // 2. Grant SQL Server identity access to the storage account by adding 'Storage Blob Data Contributor' RBAC role to the server identity. 2120 // For more information, see [Auditing to storage using Managed Identity authentication](https://go.microsoft.com/fwlink/?linkid=2114355) 2121 StorageAccountAccessKey *string `json:"storageAccountAccessKey,omitempty"` 2122 // RetentionDays - Specifies the number of days to keep in the audit logs in the storage account. 2123 RetentionDays *int32 `json:"retentionDays,omitempty"` 2124 // AuditActionsAndGroups - Specifies the Actions-Groups and Actions to audit. 2125 // 2126 // The recommended set of action groups to use is the following combination - this will audit all the queries and stored procedures executed against the database, as well as successful and failed logins: 2127 // 2128 // BATCH_COMPLETED_GROUP, 2129 // SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP, 2130 // FAILED_DATABASE_AUTHENTICATION_GROUP. 2131 // 2132 // This above combination is also the set that is configured by default when enabling auditing from the Azure portal. 2133 // 2134 // The supported action groups to audit are (note: choose only specific groups that cover your auditing needs. Using unnecessary groups could lead to very large quantities of audit records): 2135 // 2136 // APPLICATION_ROLE_CHANGE_PASSWORD_GROUP 2137 // BACKUP_RESTORE_GROUP 2138 // DATABASE_LOGOUT_GROUP 2139 // DATABASE_OBJECT_CHANGE_GROUP 2140 // DATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP 2141 // DATABASE_OBJECT_PERMISSION_CHANGE_GROUP 2142 // DATABASE_OPERATION_GROUP 2143 // DATABASE_PERMISSION_CHANGE_GROUP 2144 // DATABASE_PRINCIPAL_CHANGE_GROUP 2145 // DATABASE_PRINCIPAL_IMPERSONATION_GROUP 2146 // DATABASE_ROLE_MEMBER_CHANGE_GROUP 2147 // FAILED_DATABASE_AUTHENTICATION_GROUP 2148 // SCHEMA_OBJECT_ACCESS_GROUP 2149 // SCHEMA_OBJECT_CHANGE_GROUP 2150 // SCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP 2151 // SCHEMA_OBJECT_PERMISSION_CHANGE_GROUP 2152 // SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP 2153 // USER_CHANGE_PASSWORD_GROUP 2154 // BATCH_STARTED_GROUP 2155 // BATCH_COMPLETED_GROUP 2156 // 2157 // These are groups that cover all sql statements and stored procedures executed against the database, and should not be used in combination with other groups as this will result in duplicate audit logs. 2158 // 2159 // For more information, see [Database-Level Audit Action Groups](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-action-groups). 2160 // 2161 // For Database auditing policy, specific Actions can also be specified (note that Actions cannot be specified for Server auditing policy). The supported actions to audit are: 2162 // SELECT 2163 // UPDATE 2164 // INSERT 2165 // DELETE 2166 // EXECUTE 2167 // RECEIVE 2168 // REFERENCES 2169 // 2170 // The general form for defining an action to be audited is: 2171 // {action} ON {object} BY {principal} 2172 // 2173 // Note that <object> in the above format can refer to an object like a table, view, or stored procedure, or an entire database or schema. For the latter cases, the forms DATABASE::{db_name} and SCHEMA::{schema_name} are used, respectively. 2174 // 2175 // For example: 2176 // SELECT on dbo.myTable by public 2177 // SELECT on DATABASE::myDatabase by public 2178 // SELECT on SCHEMA::mySchema by public 2179 // 2180 // For more information, see [Database-Level Audit Actions](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-actions) 2181 AuditActionsAndGroups *[]string `json:"auditActionsAndGroups,omitempty"` 2182 // StorageAccountSubscriptionID - Specifies the blob storage subscription Id. 2183 StorageAccountSubscriptionID *uuid.UUID `json:"storageAccountSubscriptionId,omitempty"` 2184 // IsStorageSecondaryKeyInUse - Specifies whether storageAccountAccessKey value is the storage's secondary key. 2185 IsStorageSecondaryKeyInUse *bool `json:"isStorageSecondaryKeyInUse,omitempty"` 2186 // IsAzureMonitorTargetEnabled - Specifies whether audit events are sent to Azure Monitor. 2187 // In order to send the events to Azure Monitor, specify 'state' as 'Enabled' and 'isAzureMonitorTargetEnabled' as true. 2188 // 2189 // When using REST API to configure auditing, Diagnostic Settings with 'SQLSecurityAuditEvents' diagnostic logs category on the database should be also created. 2190 // Note that for server level audit you should use the 'master' database as {databaseName}. 2191 // 2192 // Diagnostic Settings URI format: 2193 // PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview 2194 // 2195 // For more information, see [Diagnostic Settings REST API](https://go.microsoft.com/fwlink/?linkid=2033207) 2196 // or [Diagnostic Settings PowerShell](https://go.microsoft.com/fwlink/?linkid=2033043) 2197 IsAzureMonitorTargetEnabled *bool `json:"isAzureMonitorTargetEnabled,omitempty"` 2198 // QueueDelayMs - Specifies the amount of time in milliseconds that can elapse before audit actions are forced to be processed. 2199 // The default minimum value is 1000 (1 second). The maximum is 2,147,483,647. 2200 QueueDelayMs *int32 `json:"queueDelayMs,omitempty"` 2201} 2202 2203// GeoBackupPolicy a database geo backup policy. 2204type GeoBackupPolicy struct { 2205 autorest.Response `json:"-"` 2206 // GeoBackupPolicyProperties - The properties of the geo backup policy. 2207 *GeoBackupPolicyProperties `json:"properties,omitempty"` 2208 // Kind - READ-ONLY; Kind of geo backup policy. This is metadata used for the Azure portal experience. 2209 Kind *string `json:"kind,omitempty"` 2210 // Location - READ-ONLY; Backup policy location. 2211 Location *string `json:"location,omitempty"` 2212 // ID - READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} 2213 ID *string `json:"id,omitempty"` 2214 // Name - READ-ONLY; The name of the resource 2215 Name *string `json:"name,omitempty"` 2216 // Type - READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" 2217 Type *string `json:"type,omitempty"` 2218} 2219 2220// MarshalJSON is the custom marshaler for GeoBackupPolicy. 2221func (gbp GeoBackupPolicy) MarshalJSON() ([]byte, error) { 2222 objectMap := make(map[string]interface{}) 2223 if gbp.GeoBackupPolicyProperties != nil { 2224 objectMap["properties"] = gbp.GeoBackupPolicyProperties 2225 } 2226 return json.Marshal(objectMap) 2227} 2228 2229// UnmarshalJSON is the custom unmarshaler for GeoBackupPolicy struct. 2230func (gbp *GeoBackupPolicy) UnmarshalJSON(body []byte) error { 2231 var m map[string]*json.RawMessage 2232 err := json.Unmarshal(body, &m) 2233 if err != nil { 2234 return err 2235 } 2236 for k, v := range m { 2237 switch k { 2238 case "properties": 2239 if v != nil { 2240 var geoBackupPolicyProperties GeoBackupPolicyProperties 2241 err = json.Unmarshal(*v, &geoBackupPolicyProperties) 2242 if err != nil { 2243 return err 2244 } 2245 gbp.GeoBackupPolicyProperties = &geoBackupPolicyProperties 2246 } 2247 case "kind": 2248 if v != nil { 2249 var kind string 2250 err = json.Unmarshal(*v, &kind) 2251 if err != nil { 2252 return err 2253 } 2254 gbp.Kind = &kind 2255 } 2256 case "location": 2257 if v != nil { 2258 var location string 2259 err = json.Unmarshal(*v, &location) 2260 if err != nil { 2261 return err 2262 } 2263 gbp.Location = &location 2264 } 2265 case "id": 2266 if v != nil { 2267 var ID string 2268 err = json.Unmarshal(*v, &ID) 2269 if err != nil { 2270 return err 2271 } 2272 gbp.ID = &ID 2273 } 2274 case "name": 2275 if v != nil { 2276 var name string 2277 err = json.Unmarshal(*v, &name) 2278 if err != nil { 2279 return err 2280 } 2281 gbp.Name = &name 2282 } 2283 case "type": 2284 if v != nil { 2285 var typeVar string 2286 err = json.Unmarshal(*v, &typeVar) 2287 if err != nil { 2288 return err 2289 } 2290 gbp.Type = &typeVar 2291 } 2292 } 2293 } 2294 2295 return nil 2296} 2297 2298// GeoBackupPolicyListResult the response to a list geo backup policies request. 2299type GeoBackupPolicyListResult struct { 2300 autorest.Response `json:"-"` 2301 // Value - The list of geo backup policies. 2302 Value *[]GeoBackupPolicy `json:"value,omitempty"` 2303} 2304 2305// GeoBackupPolicyProperties the properties of the geo backup policy. 2306type GeoBackupPolicyProperties struct { 2307 // State - The state of the geo backup policy. Possible values include: 'GeoBackupPolicyStateDisabled', 'GeoBackupPolicyStateEnabled' 2308 State GeoBackupPolicyState `json:"state,omitempty"` 2309 // StorageType - READ-ONLY; The storage type of the geo backup policy. 2310 StorageType *string `json:"storageType,omitempty"` 2311} 2312 2313// MarshalJSON is the custom marshaler for GeoBackupPolicyProperties. 2314func (gbpp GeoBackupPolicyProperties) MarshalJSON() ([]byte, error) { 2315 objectMap := make(map[string]interface{}) 2316 if gbpp.State != "" { 2317 objectMap["state"] = gbpp.State 2318 } 2319 return json.Marshal(objectMap) 2320} 2321 2322// GetSsisObjectMetadataRequest the request payload of get SSIS object metadata. 2323type GetSsisObjectMetadataRequest struct { 2324 // MetadataPath - Metadata path. 2325 MetadataPath *string `json:"metadataPath,omitempty"` 2326} 2327 2328// BasicIntegrationRuntime azure Synapse nested object which serves as a compute resource for activities. 2329type BasicIntegrationRuntime interface { 2330 AsManagedIntegrationRuntime() (*ManagedIntegrationRuntime, bool) 2331 AsSelfHostedIntegrationRuntime() (*SelfHostedIntegrationRuntime, bool) 2332 AsIntegrationRuntime() (*IntegrationRuntime, bool) 2333} 2334 2335// IntegrationRuntime azure Synapse nested object which serves as a compute resource for activities. 2336type IntegrationRuntime struct { 2337 // AdditionalProperties - Unmatched properties from the message are deserialized this collection 2338 AdditionalProperties map[string]interface{} `json:""` 2339 // Description - Integration runtime description. 2340 Description *string `json:"description,omitempty"` 2341 // Type - Possible values include: 'TypeIntegrationRuntime', 'TypeManaged', 'TypeSelfHosted' 2342 Type Type `json:"type,omitempty"` 2343} 2344 2345func unmarshalBasicIntegrationRuntime(body []byte) (BasicIntegrationRuntime, error) { 2346 var m map[string]interface{} 2347 err := json.Unmarshal(body, &m) 2348 if err != nil { 2349 return nil, err 2350 } 2351 2352 switch m["type"] { 2353 case string(TypeManaged): 2354 var mir ManagedIntegrationRuntime 2355 err := json.Unmarshal(body, &mir) 2356 return mir, err 2357 case string(TypeSelfHosted): 2358 var shir SelfHostedIntegrationRuntime 2359 err := json.Unmarshal(body, &shir) 2360 return shir, err 2361 default: 2362 var ir IntegrationRuntime 2363 err := json.Unmarshal(body, &ir) 2364 return ir, err 2365 } 2366} 2367func unmarshalBasicIntegrationRuntimeArray(body []byte) ([]BasicIntegrationRuntime, error) { 2368 var rawMessages []*json.RawMessage 2369 err := json.Unmarshal(body, &rawMessages) 2370 if err != nil { 2371 return nil, err 2372 } 2373 2374 irArray := make([]BasicIntegrationRuntime, len(rawMessages)) 2375 2376 for index, rawMessage := range rawMessages { 2377 ir, err := unmarshalBasicIntegrationRuntime(*rawMessage) 2378 if err != nil { 2379 return nil, err 2380 } 2381 irArray[index] = ir 2382 } 2383 return irArray, nil 2384} 2385 2386// MarshalJSON is the custom marshaler for IntegrationRuntime. 2387func (ir IntegrationRuntime) MarshalJSON() ([]byte, error) { 2388 ir.Type = TypeIntegrationRuntime 2389 objectMap := make(map[string]interface{}) 2390 if ir.Description != nil { 2391 objectMap["description"] = ir.Description 2392 } 2393 if ir.Type != "" { 2394 objectMap["type"] = ir.Type 2395 } 2396 for k, v := range ir.AdditionalProperties { 2397 objectMap[k] = v 2398 } 2399 return json.Marshal(objectMap) 2400} 2401 2402// AsManagedIntegrationRuntime is the BasicIntegrationRuntime implementation for IntegrationRuntime. 2403func (ir IntegrationRuntime) AsManagedIntegrationRuntime() (*ManagedIntegrationRuntime, bool) { 2404 return nil, false 2405} 2406 2407// AsSelfHostedIntegrationRuntime is the BasicIntegrationRuntime implementation for IntegrationRuntime. 2408func (ir IntegrationRuntime) AsSelfHostedIntegrationRuntime() (*SelfHostedIntegrationRuntime, bool) { 2409 return nil, false 2410} 2411 2412// AsIntegrationRuntime is the BasicIntegrationRuntime implementation for IntegrationRuntime. 2413func (ir IntegrationRuntime) AsIntegrationRuntime() (*IntegrationRuntime, bool) { 2414 return &ir, true 2415} 2416 2417// AsBasicIntegrationRuntime is the BasicIntegrationRuntime implementation for IntegrationRuntime. 2418func (ir IntegrationRuntime) AsBasicIntegrationRuntime() (BasicIntegrationRuntime, bool) { 2419 return &ir, true 2420} 2421 2422// UnmarshalJSON is the custom unmarshaler for IntegrationRuntime struct. 2423func (ir *IntegrationRuntime) UnmarshalJSON(body []byte) error { 2424 var m map[string]*json.RawMessage 2425 err := json.Unmarshal(body, &m) 2426 if err != nil { 2427 return err 2428 } 2429 for k, v := range m { 2430 switch k { 2431 default: 2432 if v != nil { 2433 var additionalProperties interface{} 2434 err = json.Unmarshal(*v, &additionalProperties) 2435 if err != nil { 2436 return err 2437 } 2438 if ir.AdditionalProperties == nil { 2439 ir.AdditionalProperties = make(map[string]interface{}) 2440 } 2441 ir.AdditionalProperties[k] = additionalProperties 2442 } 2443 case "description": 2444 if v != nil { 2445 var description string 2446 err = json.Unmarshal(*v, &description) 2447 if err != nil { 2448 return err 2449 } 2450 ir.Description = &description 2451 } 2452 case "type": 2453 if v != nil { 2454 var typeVar Type 2455 err = json.Unmarshal(*v, &typeVar) 2456 if err != nil { 2457 return err 2458 } 2459 ir.Type = typeVar 2460 } 2461 } 2462 } 2463 2464 return nil 2465} 2466 2467// IntegrationRuntimeAuthKeys the integration runtime authentication keys. 2468type IntegrationRuntimeAuthKeys struct { 2469 autorest.Response `json:"-"` 2470 // AuthKey1 - The primary integration runtime authentication key. 2471 AuthKey1 *string `json:"authKey1,omitempty"` 2472 // AuthKey2 - The secondary integration runtime authentication key. 2473 AuthKey2 *string `json:"authKey2,omitempty"` 2474} 2475 2476// IntegrationRuntimeComputeProperties the compute resource properties for managed integration runtime. 2477type IntegrationRuntimeComputeProperties struct { 2478 // AdditionalProperties - Unmatched properties from the message are deserialized this collection 2479 AdditionalProperties map[string]interface{} `json:""` 2480 // Location - The location for managed integration runtime. The supported regions could be found on https://docs.microsoft.com/en-us/azure/data-factory/data-factory-data-movement-activities 2481 Location *string `json:"location,omitempty"` 2482 // NodeSize - The node size requirement to managed integration runtime. 2483 NodeSize *string `json:"nodeSize,omitempty"` 2484 // NumberOfNodes - The required number of nodes for managed integration runtime. 2485 NumberOfNodes *int32 `json:"numberOfNodes,omitempty"` 2486 // MaxParallelExecutionsPerNode - Maximum parallel executions count per node for managed integration runtime. 2487 MaxParallelExecutionsPerNode *int32 `json:"maxParallelExecutionsPerNode,omitempty"` 2488 // DataFlowProperties - Data flow properties for managed integration runtime. 2489 DataFlowProperties *IntegrationRuntimeDataFlowProperties `json:"dataFlowProperties,omitempty"` 2490 // VNetProperties - VNet properties for managed integration runtime. 2491 VNetProperties *IntegrationRuntimeVNetProperties `json:"vNetProperties,omitempty"` 2492} 2493 2494// MarshalJSON is the custom marshaler for IntegrationRuntimeComputeProperties. 2495func (ircp IntegrationRuntimeComputeProperties) MarshalJSON() ([]byte, error) { 2496 objectMap := make(map[string]interface{}) 2497 if ircp.Location != nil { 2498 objectMap["location"] = ircp.Location 2499 } 2500 if ircp.NodeSize != nil { 2501 objectMap["nodeSize"] = ircp.NodeSize 2502 } 2503 if ircp.NumberOfNodes != nil { 2504 objectMap["numberOfNodes"] = ircp.NumberOfNodes 2505 } 2506 if ircp.MaxParallelExecutionsPerNode != nil { 2507 objectMap["maxParallelExecutionsPerNode"] = ircp.MaxParallelExecutionsPerNode 2508 } 2509 if ircp.DataFlowProperties != nil { 2510 objectMap["dataFlowProperties"] = ircp.DataFlowProperties 2511 } 2512 if ircp.VNetProperties != nil { 2513 objectMap["vNetProperties"] = ircp.VNetProperties 2514 } 2515 for k, v := range ircp.AdditionalProperties { 2516 objectMap[k] = v 2517 } 2518 return json.Marshal(objectMap) 2519} 2520 2521// UnmarshalJSON is the custom unmarshaler for IntegrationRuntimeComputeProperties struct. 2522func (ircp *IntegrationRuntimeComputeProperties) UnmarshalJSON(body []byte) error { 2523 var m map[string]*json.RawMessage 2524 err := json.Unmarshal(body, &m) 2525 if err != nil { 2526 return err 2527 } 2528 for k, v := range m { 2529 switch k { 2530 default: 2531 if v != nil { 2532 var additionalProperties interface{} 2533 err = json.Unmarshal(*v, &additionalProperties) 2534 if err != nil { 2535 return err 2536 } 2537 if ircp.AdditionalProperties == nil { 2538 ircp.AdditionalProperties = make(map[string]interface{}) 2539 } 2540 ircp.AdditionalProperties[k] = additionalProperties 2541 } 2542 case "location": 2543 if v != nil { 2544 var location string 2545 err = json.Unmarshal(*v, &location) 2546 if err != nil { 2547 return err 2548 } 2549 ircp.Location = &location 2550 } 2551 case "nodeSize": 2552 if v != nil { 2553 var nodeSize string 2554 err = json.Unmarshal(*v, &nodeSize) 2555 if err != nil { 2556 return err 2557 } 2558 ircp.NodeSize = &nodeSize 2559 } 2560 case "numberOfNodes": 2561 if v != nil { 2562 var numberOfNodes int32 2563 err = json.Unmarshal(*v, &numberOfNodes) 2564 if err != nil { 2565 return err 2566 } 2567 ircp.NumberOfNodes = &numberOfNodes 2568 } 2569 case "maxParallelExecutionsPerNode": 2570 if v != nil { 2571 var maxParallelExecutionsPerNode int32 2572 err = json.Unmarshal(*v, &maxParallelExecutionsPerNode) 2573 if err != nil { 2574 return err 2575 } 2576 ircp.MaxParallelExecutionsPerNode = &maxParallelExecutionsPerNode 2577 } 2578 case "dataFlowProperties": 2579 if v != nil { 2580 var dataFlowProperties IntegrationRuntimeDataFlowProperties 2581 err = json.Unmarshal(*v, &dataFlowProperties) 2582 if err != nil { 2583 return err 2584 } 2585 ircp.DataFlowProperties = &dataFlowProperties 2586 } 2587 case "vNetProperties": 2588 if v != nil { 2589 var vNetProperties IntegrationRuntimeVNetProperties 2590 err = json.Unmarshal(*v, &vNetProperties) 2591 if err != nil { 2592 return err 2593 } 2594 ircp.VNetProperties = &vNetProperties 2595 } 2596 } 2597 } 2598 2599 return nil 2600} 2601 2602// IntegrationRuntimeConnectionInfo connection information for encrypting the on-premises data source 2603// credentials. 2604type IntegrationRuntimeConnectionInfo struct { 2605 autorest.Response `json:"-"` 2606 // AdditionalProperties - Unmatched properties from the message are deserialized this collection 2607 AdditionalProperties map[string]interface{} `json:""` 2608 // ServiceToken - READ-ONLY; The token generated in service. Callers use this token to authenticate to integration runtime. 2609 ServiceToken *string `json:"serviceToken,omitempty"` 2610 // IdentityCertThumbprint - READ-ONLY; The integration runtime SSL certificate thumbprint. Click-Once application uses it to do server validation. 2611 IdentityCertThumbprint *string `json:"identityCertThumbprint,omitempty"` 2612 // HostServiceURI - READ-ONLY; The on-premises integration runtime host URL. 2613 HostServiceURI *string `json:"hostServiceUri,omitempty"` 2614 // Version - READ-ONLY; The integration runtime version. 2615 Version *string `json:"version,omitempty"` 2616 // PublicKey - READ-ONLY; The public key for encrypting a credential when transferring the credential to the integration runtime. 2617 PublicKey *string `json:"publicKey,omitempty"` 2618 // IsIdentityCertExprired - READ-ONLY; Whether the identity certificate is expired. 2619 IsIdentityCertExprired *bool `json:"isIdentityCertExprired,omitempty"` 2620} 2621 2622// MarshalJSON is the custom marshaler for IntegrationRuntimeConnectionInfo. 2623func (irci IntegrationRuntimeConnectionInfo) MarshalJSON() ([]byte, error) { 2624 objectMap := make(map[string]interface{}) 2625 for k, v := range irci.AdditionalProperties { 2626 objectMap[k] = v 2627 } 2628 return json.Marshal(objectMap) 2629} 2630 2631// UnmarshalJSON is the custom unmarshaler for IntegrationRuntimeConnectionInfo struct. 2632func (irci *IntegrationRuntimeConnectionInfo) UnmarshalJSON(body []byte) error { 2633 var m map[string]*json.RawMessage 2634 err := json.Unmarshal(body, &m) 2635 if err != nil { 2636 return err 2637 } 2638 for k, v := range m { 2639 switch k { 2640 default: 2641 if v != nil { 2642 var additionalProperties interface{} 2643 err = json.Unmarshal(*v, &additionalProperties) 2644 if err != nil { 2645 return err 2646 } 2647 if irci.AdditionalProperties == nil { 2648 irci.AdditionalProperties = make(map[string]interface{}) 2649 } 2650 irci.AdditionalProperties[k] = additionalProperties 2651 } 2652 case "serviceToken": 2653 if v != nil { 2654 var serviceToken string 2655 err = json.Unmarshal(*v, &serviceToken) 2656 if err != nil { 2657 return err 2658 } 2659 irci.ServiceToken = &serviceToken 2660 } 2661 case "identityCertThumbprint": 2662 if v != nil { 2663 var identityCertThumbprint string 2664 err = json.Unmarshal(*v, &identityCertThumbprint) 2665 if err != nil { 2666 return err 2667 } 2668 irci.IdentityCertThumbprint = &identityCertThumbprint 2669 } 2670 case "hostServiceUri": 2671 if v != nil { 2672 var hostServiceURI string 2673 err = json.Unmarshal(*v, &hostServiceURI) 2674 if err != nil { 2675 return err 2676 } 2677 irci.HostServiceURI = &hostServiceURI 2678 } 2679 case "version": 2680 if v != nil { 2681 var version string 2682 err = json.Unmarshal(*v, &version) 2683 if err != nil { 2684 return err 2685 } 2686 irci.Version = &version 2687 } 2688 case "publicKey": 2689 if v != nil { 2690 var publicKey string 2691 err = json.Unmarshal(*v, &publicKey) 2692 if err != nil { 2693 return err 2694 } 2695 irci.PublicKey = &publicKey 2696 } 2697 case "isIdentityCertExprired": 2698 if v != nil { 2699 var isIdentityCertExprired bool 2700 err = json.Unmarshal(*v, &isIdentityCertExprired) 2701 if err != nil { 2702 return err 2703 } 2704 irci.IsIdentityCertExprired = &isIdentityCertExprired 2705 } 2706 } 2707 } 2708 2709 return nil 2710} 2711 2712// IntegrationRuntimeCustomSetupScriptProperties custom setup script properties for a managed dedicated 2713// integration runtime. 2714type IntegrationRuntimeCustomSetupScriptProperties struct { 2715 // BlobContainerURI - The URI of the Azure blob container that contains the custom setup script. 2716 BlobContainerURI *string `json:"blobContainerUri,omitempty"` 2717 // SasToken - The SAS token of the Azure blob container. 2718 SasToken *SecureString `json:"sasToken,omitempty"` 2719} 2720 2721// IntegrationRuntimeDataFlowProperties data flow properties for managed integration runtime. 2722type IntegrationRuntimeDataFlowProperties struct { 2723 // AdditionalProperties - Unmatched properties from the message are deserialized this collection 2724 AdditionalProperties map[string]interface{} `json:""` 2725 // ComputeType - Compute type of the cluster which will execute data flow job. Possible values include: 'General', 'MemoryOptimized', 'ComputeOptimized' 2726 ComputeType DataFlowComputeType `json:"computeType,omitempty"` 2727 // CoreCount - Core count of the cluster which will execute data flow job. Supported values are: 8, 16, 32, 48, 80, 144 and 272. 2728 CoreCount *int32 `json:"coreCount,omitempty"` 2729 // TimeToLive - Time to live (in minutes) setting of the cluster which will execute data flow job. 2730 TimeToLive *int32 `json:"timeToLive,omitempty"` 2731} 2732 2733// MarshalJSON is the custom marshaler for IntegrationRuntimeDataFlowProperties. 2734func (irdfp IntegrationRuntimeDataFlowProperties) MarshalJSON() ([]byte, error) { 2735 objectMap := make(map[string]interface{}) 2736 if irdfp.ComputeType != "" { 2737 objectMap["computeType"] = irdfp.ComputeType 2738 } 2739 if irdfp.CoreCount != nil { 2740 objectMap["coreCount"] = irdfp.CoreCount 2741 } 2742 if irdfp.TimeToLive != nil { 2743 objectMap["timeToLive"] = irdfp.TimeToLive 2744 } 2745 for k, v := range irdfp.AdditionalProperties { 2746 objectMap[k] = v 2747 } 2748 return json.Marshal(objectMap) 2749} 2750 2751// UnmarshalJSON is the custom unmarshaler for IntegrationRuntimeDataFlowProperties struct. 2752func (irdfp *IntegrationRuntimeDataFlowProperties) UnmarshalJSON(body []byte) error { 2753 var m map[string]*json.RawMessage 2754 err := json.Unmarshal(body, &m) 2755 if err != nil { 2756 return err 2757 } 2758 for k, v := range m { 2759 switch k { 2760 default: 2761 if v != nil { 2762 var additionalProperties interface{} 2763 err = json.Unmarshal(*v, &additionalProperties) 2764 if err != nil { 2765 return err 2766 } 2767 if irdfp.AdditionalProperties == nil { 2768 irdfp.AdditionalProperties = make(map[string]interface{}) 2769 } 2770 irdfp.AdditionalProperties[k] = additionalProperties 2771 } 2772 case "computeType": 2773 if v != nil { 2774 var computeType DataFlowComputeType 2775 err = json.Unmarshal(*v, &computeType) 2776 if err != nil { 2777 return err 2778 } 2779 irdfp.ComputeType = computeType 2780 } 2781 case "coreCount": 2782 if v != nil { 2783 var coreCount int32 2784 err = json.Unmarshal(*v, &coreCount) 2785 if err != nil { 2786 return err 2787 } 2788 irdfp.CoreCount = &coreCount 2789 } 2790 case "timeToLive": 2791 if v != nil { 2792 var timeToLive int32 2793 err = json.Unmarshal(*v, &timeToLive) 2794 if err != nil { 2795 return err 2796 } 2797 irdfp.TimeToLive = &timeToLive 2798 } 2799 } 2800 } 2801 2802 return nil 2803} 2804 2805// IntegrationRuntimeDataProxyProperties data proxy properties for a managed dedicated integration runtime. 2806type IntegrationRuntimeDataProxyProperties struct { 2807 // ConnectVia - The self-hosted integration runtime reference. 2808 ConnectVia *EntityReference `json:"connectVia,omitempty"` 2809 // StagingLinkedService - The staging linked service reference. 2810 StagingLinkedService *EntityReference `json:"stagingLinkedService,omitempty"` 2811 // Path - The path to contain the staged data in the Blob storage. 2812 Path *string `json:"path,omitempty"` 2813} 2814 2815// IntegrationRuntimeListResponse a list of integration runtime resources. 2816type IntegrationRuntimeListResponse struct { 2817 autorest.Response `json:"-"` 2818 // Value - List of integration runtimes. 2819 Value *[]IntegrationRuntimeResource `json:"value,omitempty"` 2820 // NextLink - The link to the next page of results, if any remaining results exist. 2821 NextLink *string `json:"nextLink,omitempty"` 2822} 2823 2824// IntegrationRuntimeListResponseIterator provides access to a complete listing of 2825// IntegrationRuntimeResource values. 2826type IntegrationRuntimeListResponseIterator struct { 2827 i int 2828 page IntegrationRuntimeListResponsePage 2829} 2830 2831// NextWithContext advances to the next value. If there was an error making 2832// the request the iterator does not advance and the error is returned. 2833func (iter *IntegrationRuntimeListResponseIterator) NextWithContext(ctx context.Context) (err error) { 2834 if tracing.IsEnabled() { 2835 ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationRuntimeListResponseIterator.NextWithContext") 2836 defer func() { 2837 sc := -1 2838 if iter.Response().Response.Response != nil { 2839 sc = iter.Response().Response.Response.StatusCode 2840 } 2841 tracing.EndSpan(ctx, sc, err) 2842 }() 2843 } 2844 iter.i++ 2845 if iter.i < len(iter.page.Values()) { 2846 return nil 2847 } 2848 err = iter.page.NextWithContext(ctx) 2849 if err != nil { 2850 iter.i-- 2851 return err 2852 } 2853 iter.i = 0 2854 return nil 2855} 2856 2857// Next advances to the next value. If there was an error making 2858// the request the iterator does not advance and the error is returned. 2859// Deprecated: Use NextWithContext() instead. 2860func (iter *IntegrationRuntimeListResponseIterator) Next() error { 2861 return iter.NextWithContext(context.Background()) 2862} 2863 2864// NotDone returns true if the enumeration should be started or is not yet complete. 2865func (iter IntegrationRuntimeListResponseIterator) NotDone() bool { 2866 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 2867} 2868 2869// Response returns the raw server response from the last page request. 2870func (iter IntegrationRuntimeListResponseIterator) Response() IntegrationRuntimeListResponse { 2871 return iter.page.Response() 2872} 2873 2874// Value returns the current value or a zero-initialized value if the 2875// iterator has advanced beyond the end of the collection. 2876func (iter IntegrationRuntimeListResponseIterator) Value() IntegrationRuntimeResource { 2877 if !iter.page.NotDone() { 2878 return IntegrationRuntimeResource{} 2879 } 2880 return iter.page.Values()[iter.i] 2881} 2882 2883// Creates a new instance of the IntegrationRuntimeListResponseIterator type. 2884func NewIntegrationRuntimeListResponseIterator(page IntegrationRuntimeListResponsePage) IntegrationRuntimeListResponseIterator { 2885 return IntegrationRuntimeListResponseIterator{page: page} 2886} 2887 2888// IsEmpty returns true if the ListResult contains no values. 2889func (irlr IntegrationRuntimeListResponse) IsEmpty() bool { 2890 return irlr.Value == nil || len(*irlr.Value) == 0 2891} 2892 2893// hasNextLink returns true if the NextLink is not empty. 2894func (irlr IntegrationRuntimeListResponse) hasNextLink() bool { 2895 return irlr.NextLink != nil && len(*irlr.NextLink) != 0 2896} 2897 2898// integrationRuntimeListResponsePreparer prepares a request to retrieve the next set of results. 2899// It returns nil if no more results exist. 2900func (irlr IntegrationRuntimeListResponse) integrationRuntimeListResponsePreparer(ctx context.Context) (*http.Request, error) { 2901 if !irlr.hasNextLink() { 2902 return nil, nil 2903 } 2904 return autorest.Prepare((&http.Request{}).WithContext(ctx), 2905 autorest.AsJSON(), 2906 autorest.AsGet(), 2907 autorest.WithBaseURL(to.String(irlr.NextLink))) 2908} 2909 2910// IntegrationRuntimeListResponsePage contains a page of IntegrationRuntimeResource values. 2911type IntegrationRuntimeListResponsePage struct { 2912 fn func(context.Context, IntegrationRuntimeListResponse) (IntegrationRuntimeListResponse, error) 2913 irlr IntegrationRuntimeListResponse 2914} 2915 2916// NextWithContext advances to the next page of values. If there was an error making 2917// the request the page does not advance and the error is returned. 2918func (page *IntegrationRuntimeListResponsePage) NextWithContext(ctx context.Context) (err error) { 2919 if tracing.IsEnabled() { 2920 ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationRuntimeListResponsePage.NextWithContext") 2921 defer func() { 2922 sc := -1 2923 if page.Response().Response.Response != nil { 2924 sc = page.Response().Response.Response.StatusCode 2925 } 2926 tracing.EndSpan(ctx, sc, err) 2927 }() 2928 } 2929 for { 2930 next, err := page.fn(ctx, page.irlr) 2931 if err != nil { 2932 return err 2933 } 2934 page.irlr = next 2935 if !next.hasNextLink() || !next.IsEmpty() { 2936 break 2937 } 2938 } 2939 return nil 2940} 2941 2942// Next advances to the next page of values. If there was an error making 2943// the request the page does not advance and the error is returned. 2944// Deprecated: Use NextWithContext() instead. 2945func (page *IntegrationRuntimeListResponsePage) Next() error { 2946 return page.NextWithContext(context.Background()) 2947} 2948 2949// NotDone returns true if the page enumeration should be started or is not yet complete. 2950func (page IntegrationRuntimeListResponsePage) NotDone() bool { 2951 return !page.irlr.IsEmpty() 2952} 2953 2954// Response returns the raw server response from the last page request. 2955func (page IntegrationRuntimeListResponsePage) Response() IntegrationRuntimeListResponse { 2956 return page.irlr 2957} 2958 2959// Values returns the slice of values for the current page or nil if there are no values. 2960func (page IntegrationRuntimeListResponsePage) Values() []IntegrationRuntimeResource { 2961 if page.irlr.IsEmpty() { 2962 return nil 2963 } 2964 return *page.irlr.Value 2965} 2966 2967// Creates a new instance of the IntegrationRuntimeListResponsePage type. 2968func NewIntegrationRuntimeListResponsePage(cur IntegrationRuntimeListResponse, getNextPage func(context.Context, IntegrationRuntimeListResponse) (IntegrationRuntimeListResponse, error)) IntegrationRuntimeListResponsePage { 2969 return IntegrationRuntimeListResponsePage{ 2970 fn: getNextPage, 2971 irlr: cur, 2972 } 2973} 2974 2975// IntegrationRuntimeMonitoringData get monitoring data response. 2976type IntegrationRuntimeMonitoringData struct { 2977 autorest.Response `json:"-"` 2978 // Name - Integration runtime name. 2979 Name *string `json:"name,omitempty"` 2980 // Nodes - Integration runtime node monitoring data. 2981 Nodes *[]IntegrationRuntimeNodeMonitoringData `json:"nodes,omitempty"` 2982} 2983 2984// IntegrationRuntimeNodeIPAddress the IP address of self-hosted integration runtime node. 2985type IntegrationRuntimeNodeIPAddress struct { 2986 autorest.Response `json:"-"` 2987 // IPAddress - READ-ONLY; The IP address of self-hosted integration runtime node. 2988 IPAddress *string `json:"ipAddress,omitempty"` 2989} 2990 2991// MarshalJSON is the custom marshaler for IntegrationRuntimeNodeIPAddress. 2992func (irnia IntegrationRuntimeNodeIPAddress) MarshalJSON() ([]byte, error) { 2993 objectMap := make(map[string]interface{}) 2994 return json.Marshal(objectMap) 2995} 2996 2997// IntegrationRuntimeNodeMonitoringData monitoring data for integration runtime node. 2998type IntegrationRuntimeNodeMonitoringData struct { 2999 // AdditionalProperties - Unmatched properties from the message are deserialized this collection 3000 AdditionalProperties map[string]interface{} `json:""` 3001 // NodeName - READ-ONLY; Name of the integration runtime node. 3002 NodeName *string `json:"nodeName,omitempty"` 3003 // AvailableMemoryInMB - READ-ONLY; Available memory (MB) on the integration runtime node. 3004 AvailableMemoryInMB *int32 `json:"availableMemoryInMB,omitempty"` 3005 // CPUUtilization - READ-ONLY; CPU percentage on the integration runtime node. 3006 CPUUtilization *int32 `json:"cpuUtilization,omitempty"` 3007 // ConcurrentJobsLimit - READ-ONLY; Maximum concurrent jobs on the integration runtime node. 3008 ConcurrentJobsLimit *int32 `json:"concurrentJobsLimit,omitempty"` 3009 // ConcurrentJobsRunning - READ-ONLY; The number of jobs currently running on the integration runtime node. 3010 ConcurrentJobsRunning *int32 `json:"concurrentJobsRunning,omitempty"` 3011 // MaxConcurrentJobs - READ-ONLY; The maximum concurrent jobs in this integration runtime. 3012 MaxConcurrentJobs *int32 `json:"maxConcurrentJobs,omitempty"` 3013 // SentBytes - READ-ONLY; Sent bytes on the integration runtime node. 3014 SentBytes *float64 `json:"sentBytes,omitempty"` 3015 // ReceivedBytes - READ-ONLY; Received bytes on the integration runtime node. 3016 ReceivedBytes *float64 `json:"receivedBytes,omitempty"` 3017} 3018 3019// MarshalJSON is the custom marshaler for IntegrationRuntimeNodeMonitoringData. 3020func (irnmd IntegrationRuntimeNodeMonitoringData) MarshalJSON() ([]byte, error) { 3021 objectMap := make(map[string]interface{}) 3022 for k, v := range irnmd.AdditionalProperties { 3023 objectMap[k] = v 3024 } 3025 return json.Marshal(objectMap) 3026} 3027 3028// UnmarshalJSON is the custom unmarshaler for IntegrationRuntimeNodeMonitoringData struct. 3029func (irnmd *IntegrationRuntimeNodeMonitoringData) UnmarshalJSON(body []byte) error { 3030 var m map[string]*json.RawMessage 3031 err := json.Unmarshal(body, &m) 3032 if err != nil { 3033 return err 3034 } 3035 for k, v := range m { 3036 switch k { 3037 default: 3038 if v != nil { 3039 var additionalProperties interface{} 3040 err = json.Unmarshal(*v, &additionalProperties) 3041 if err != nil { 3042 return err 3043 } 3044 if irnmd.AdditionalProperties == nil { 3045 irnmd.AdditionalProperties = make(map[string]interface{}) 3046 } 3047 irnmd.AdditionalProperties[k] = additionalProperties 3048 } 3049 case "nodeName": 3050 if v != nil { 3051 var nodeName string 3052 err = json.Unmarshal(*v, &nodeName) 3053 if err != nil { 3054 return err 3055 } 3056 irnmd.NodeName = &nodeName 3057 } 3058 case "availableMemoryInMB": 3059 if v != nil { 3060 var availableMemoryInMB int32 3061 err = json.Unmarshal(*v, &availableMemoryInMB) 3062 if err != nil { 3063 return err 3064 } 3065 irnmd.AvailableMemoryInMB = &availableMemoryInMB 3066 } 3067 case "cpuUtilization": 3068 if v != nil { 3069 var CPUUtilization int32 3070 err = json.Unmarshal(*v, &CPUUtilization) 3071 if err != nil { 3072 return err 3073 } 3074 irnmd.CPUUtilization = &CPUUtilization 3075 } 3076 case "concurrentJobsLimit": 3077 if v != nil { 3078 var concurrentJobsLimit int32 3079 err = json.Unmarshal(*v, &concurrentJobsLimit) 3080 if err != nil { 3081 return err 3082 } 3083 irnmd.ConcurrentJobsLimit = &concurrentJobsLimit 3084 } 3085 case "concurrentJobsRunning": 3086 if v != nil { 3087 var concurrentJobsRunning int32 3088 err = json.Unmarshal(*v, &concurrentJobsRunning) 3089 if err != nil { 3090 return err 3091 } 3092 irnmd.ConcurrentJobsRunning = &concurrentJobsRunning 3093 } 3094 case "maxConcurrentJobs": 3095 if v != nil { 3096 var maxConcurrentJobs int32 3097 err = json.Unmarshal(*v, &maxConcurrentJobs) 3098 if err != nil { 3099 return err 3100 } 3101 irnmd.MaxConcurrentJobs = &maxConcurrentJobs 3102 } 3103 case "sentBytes": 3104 if v != nil { 3105 var sentBytes float64 3106 err = json.Unmarshal(*v, &sentBytes) 3107 if err != nil { 3108 return err 3109 } 3110 irnmd.SentBytes = &sentBytes 3111 } 3112 case "receivedBytes": 3113 if v != nil { 3114 var receivedBytes float64 3115 err = json.Unmarshal(*v, &receivedBytes) 3116 if err != nil { 3117 return err 3118 } 3119 irnmd.ReceivedBytes = &receivedBytes 3120 } 3121 } 3122 } 3123 3124 return nil 3125} 3126 3127// IntegrationRuntimeObjectMetadataRefreshFuture an abstraction for monitoring and retrieving the results 3128// of a long-running operation. 3129type IntegrationRuntimeObjectMetadataRefreshFuture struct { 3130 azure.FutureAPI 3131 // Result returns the result of the asynchronous operation. 3132 // If the operation has not completed it will return an error. 3133 Result func(IntegrationRuntimeObjectMetadataClient) (SsisObjectMetadataStatusResponse, error) 3134} 3135 3136// UnmarshalJSON is the custom unmarshaller for CreateFuture. 3137func (future *IntegrationRuntimeObjectMetadataRefreshFuture) UnmarshalJSON(body []byte) error { 3138 var azFuture azure.Future 3139 if err := json.Unmarshal(body, &azFuture); err != nil { 3140 return err 3141 } 3142 future.FutureAPI = &azFuture 3143 future.Result = future.result 3144 return nil 3145} 3146 3147// result is the default implementation for IntegrationRuntimeObjectMetadataRefreshFuture.Result. 3148func (future *IntegrationRuntimeObjectMetadataRefreshFuture) result(client IntegrationRuntimeObjectMetadataClient) (somsr SsisObjectMetadataStatusResponse, err error) { 3149 var done bool 3150 done, err = future.DoneWithContext(context.Background(), client) 3151 if err != nil { 3152 err = autorest.NewErrorWithError(err, "synapse.IntegrationRuntimeObjectMetadataRefreshFuture", "Result", future.Response(), "Polling failure") 3153 return 3154 } 3155 if !done { 3156 somsr.Response.Response = future.Response() 3157 err = azure.NewAsyncOpIncompleteError("synapse.IntegrationRuntimeObjectMetadataRefreshFuture") 3158 return 3159 } 3160 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 3161 if somsr.Response.Response, err = future.GetResult(sender); err == nil && somsr.Response.Response.StatusCode != http.StatusNoContent { 3162 somsr, err = client.RefreshResponder(somsr.Response.Response) 3163 if err != nil { 3164 err = autorest.NewErrorWithError(err, "synapse.IntegrationRuntimeObjectMetadataRefreshFuture", "Result", somsr.Response.Response, "Failure responding to request") 3165 } 3166 } 3167 return 3168} 3169 3170// IntegrationRuntimeRegenerateKeyParameters parameters to regenerate the authentication key. 3171type IntegrationRuntimeRegenerateKeyParameters struct { 3172 // KeyName - The name of the authentication key to regenerate. Possible values include: 'AuthKey1', 'AuthKey2' 3173 KeyName IntegrationRuntimeAuthKeyName `json:"keyName,omitempty"` 3174} 3175 3176// IntegrationRuntimeResource integration runtime resource type. 3177type IntegrationRuntimeResource struct { 3178 autorest.Response `json:"-"` 3179 // Properties - Integration runtime properties. 3180 Properties BasicIntegrationRuntime `json:"properties,omitempty"` 3181 // Etag - READ-ONLY; Resource Etag. 3182 Etag *string `json:"etag,omitempty"` 3183 // ID - READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} 3184 ID *string `json:"id,omitempty"` 3185 // Name - READ-ONLY; The name of the resource 3186 Name *string `json:"name,omitempty"` 3187 // Type - READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" 3188 Type *string `json:"type,omitempty"` 3189} 3190 3191// MarshalJSON is the custom marshaler for IntegrationRuntimeResource. 3192func (irr IntegrationRuntimeResource) MarshalJSON() ([]byte, error) { 3193 objectMap := make(map[string]interface{}) 3194 objectMap["properties"] = irr.Properties 3195 return json.Marshal(objectMap) 3196} 3197 3198// UnmarshalJSON is the custom unmarshaler for IntegrationRuntimeResource struct. 3199func (irr *IntegrationRuntimeResource) UnmarshalJSON(body []byte) error { 3200 var m map[string]*json.RawMessage 3201 err := json.Unmarshal(body, &m) 3202 if err != nil { 3203 return err 3204 } 3205 for k, v := range m { 3206 switch k { 3207 case "properties": 3208 if v != nil { 3209 properties, err := unmarshalBasicIntegrationRuntime(*v) 3210 if err != nil { 3211 return err 3212 } 3213 irr.Properties = properties 3214 } 3215 case "etag": 3216 if v != nil { 3217 var etag string 3218 err = json.Unmarshal(*v, &etag) 3219 if err != nil { 3220 return err 3221 } 3222 irr.Etag = &etag 3223 } 3224 case "id": 3225 if v != nil { 3226 var ID string 3227 err = json.Unmarshal(*v, &ID) 3228 if err != nil { 3229 return err 3230 } 3231 irr.ID = &ID 3232 } 3233 case "name": 3234 if v != nil { 3235 var name string 3236 err = json.Unmarshal(*v, &name) 3237 if err != nil { 3238 return err 3239 } 3240 irr.Name = &name 3241 } 3242 case "type": 3243 if v != nil { 3244 var typeVar string 3245 err = json.Unmarshal(*v, &typeVar) 3246 if err != nil { 3247 return err 3248 } 3249 irr.Type = &typeVar 3250 } 3251 } 3252 } 3253 3254 return nil 3255} 3256 3257// IntegrationRuntimesCreateFuture an abstraction for monitoring and retrieving the results of a 3258// long-running operation. 3259type IntegrationRuntimesCreateFuture struct { 3260 azure.FutureAPI 3261 // Result returns the result of the asynchronous operation. 3262 // If the operation has not completed it will return an error. 3263 Result func(IntegrationRuntimesClient) (IntegrationRuntimeResource, error) 3264} 3265 3266// UnmarshalJSON is the custom unmarshaller for CreateFuture. 3267func (future *IntegrationRuntimesCreateFuture) UnmarshalJSON(body []byte) error { 3268 var azFuture azure.Future 3269 if err := json.Unmarshal(body, &azFuture); err != nil { 3270 return err 3271 } 3272 future.FutureAPI = &azFuture 3273 future.Result = future.result 3274 return nil 3275} 3276 3277// result is the default implementation for IntegrationRuntimesCreateFuture.Result. 3278func (future *IntegrationRuntimesCreateFuture) result(client IntegrationRuntimesClient) (irr IntegrationRuntimeResource, err error) { 3279 var done bool 3280 done, err = future.DoneWithContext(context.Background(), client) 3281 if err != nil { 3282 err = autorest.NewErrorWithError(err, "synapse.IntegrationRuntimesCreateFuture", "Result", future.Response(), "Polling failure") 3283 return 3284 } 3285 if !done { 3286 irr.Response.Response = future.Response() 3287 err = azure.NewAsyncOpIncompleteError("synapse.IntegrationRuntimesCreateFuture") 3288 return 3289 } 3290 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 3291 if irr.Response.Response, err = future.GetResult(sender); err == nil && irr.Response.Response.StatusCode != http.StatusNoContent { 3292 irr, err = client.CreateResponder(irr.Response.Response) 3293 if err != nil { 3294 err = autorest.NewErrorWithError(err, "synapse.IntegrationRuntimesCreateFuture", "Result", irr.Response.Response, "Failure responding to request") 3295 } 3296 } 3297 return 3298} 3299 3300// IntegrationRuntimesDeleteFuture an abstraction for monitoring and retrieving the results of a 3301// long-running operation. 3302type IntegrationRuntimesDeleteFuture struct { 3303 azure.FutureAPI 3304 // Result returns the result of the asynchronous operation. 3305 // If the operation has not completed it will return an error. 3306 Result func(IntegrationRuntimesClient) (autorest.Response, error) 3307} 3308 3309// UnmarshalJSON is the custom unmarshaller for CreateFuture. 3310func (future *IntegrationRuntimesDeleteFuture) UnmarshalJSON(body []byte) error { 3311 var azFuture azure.Future 3312 if err := json.Unmarshal(body, &azFuture); err != nil { 3313 return err 3314 } 3315 future.FutureAPI = &azFuture 3316 future.Result = future.result 3317 return nil 3318} 3319 3320// result is the default implementation for IntegrationRuntimesDeleteFuture.Result. 3321func (future *IntegrationRuntimesDeleteFuture) result(client IntegrationRuntimesClient) (ar autorest.Response, err error) { 3322 var done bool 3323 done, err = future.DoneWithContext(context.Background(), client) 3324 if err != nil { 3325 err = autorest.NewErrorWithError(err, "synapse.IntegrationRuntimesDeleteFuture", "Result", future.Response(), "Polling failure") 3326 return 3327 } 3328 if !done { 3329 ar.Response = future.Response() 3330 err = azure.NewAsyncOpIncompleteError("synapse.IntegrationRuntimesDeleteFuture") 3331 return 3332 } 3333 ar.Response = future.Response() 3334 return 3335} 3336 3337// IntegrationRuntimesDisableInteractiveQueryFuture an abstraction for monitoring and retrieving the 3338// results of a long-running operation. 3339type IntegrationRuntimesDisableInteractiveQueryFuture struct { 3340 azure.FutureAPI 3341 // Result returns the result of the asynchronous operation. 3342 // If the operation has not completed it will return an error. 3343 Result func(IntegrationRuntimesClient) (autorest.Response, error) 3344} 3345 3346// UnmarshalJSON is the custom unmarshaller for CreateFuture. 3347func (future *IntegrationRuntimesDisableInteractiveQueryFuture) UnmarshalJSON(body []byte) error { 3348 var azFuture azure.Future 3349 if err := json.Unmarshal(body, &azFuture); err != nil { 3350 return err 3351 } 3352 future.FutureAPI = &azFuture 3353 future.Result = future.result 3354 return nil 3355} 3356 3357// result is the default implementation for IntegrationRuntimesDisableInteractiveQueryFuture.Result. 3358func (future *IntegrationRuntimesDisableInteractiveQueryFuture) result(client IntegrationRuntimesClient) (ar autorest.Response, err error) { 3359 var done bool 3360 done, err = future.DoneWithContext(context.Background(), client) 3361 if err != nil { 3362 err = autorest.NewErrorWithError(err, "synapse.IntegrationRuntimesDisableInteractiveQueryFuture", "Result", future.Response(), "Polling failure") 3363 return 3364 } 3365 if !done { 3366 ar.Response = future.Response() 3367 err = azure.NewAsyncOpIncompleteError("synapse.IntegrationRuntimesDisableInteractiveQueryFuture") 3368 return 3369 } 3370 ar.Response = future.Response() 3371 return 3372} 3373 3374// IntegrationRuntimesEnableInteractiveQueryFuture an abstraction for monitoring and retrieving the results 3375// of a long-running operation. 3376type IntegrationRuntimesEnableInteractiveQueryFuture struct { 3377 azure.FutureAPI 3378 // Result returns the result of the asynchronous operation. 3379 // If the operation has not completed it will return an error. 3380 Result func(IntegrationRuntimesClient) (autorest.Response, error) 3381} 3382 3383// UnmarshalJSON is the custom unmarshaller for CreateFuture. 3384func (future *IntegrationRuntimesEnableInteractiveQueryFuture) UnmarshalJSON(body []byte) error { 3385 var azFuture azure.Future 3386 if err := json.Unmarshal(body, &azFuture); err != nil { 3387 return err 3388 } 3389 future.FutureAPI = &azFuture 3390 future.Result = future.result 3391 return nil 3392} 3393 3394// result is the default implementation for IntegrationRuntimesEnableInteractiveQueryFuture.Result. 3395func (future *IntegrationRuntimesEnableInteractiveQueryFuture) result(client IntegrationRuntimesClient) (ar autorest.Response, err error) { 3396 var done bool 3397 done, err = future.DoneWithContext(context.Background(), client) 3398 if err != nil { 3399 err = autorest.NewErrorWithError(err, "synapse.IntegrationRuntimesEnableInteractiveQueryFuture", "Result", future.Response(), "Polling failure") 3400 return 3401 } 3402 if !done { 3403 ar.Response = future.Response() 3404 err = azure.NewAsyncOpIncompleteError("synapse.IntegrationRuntimesEnableInteractiveQueryFuture") 3405 return 3406 } 3407 ar.Response = future.Response() 3408 return 3409} 3410 3411// IntegrationRuntimeSsisCatalogInfo catalog information for managed dedicated integration runtime. 3412type IntegrationRuntimeSsisCatalogInfo struct { 3413 // AdditionalProperties - Unmatched properties from the message are deserialized this collection 3414 AdditionalProperties map[string]interface{} `json:""` 3415 // CatalogServerEndpoint - The catalog database server URL. 3416 CatalogServerEndpoint *string `json:"catalogServerEndpoint,omitempty"` 3417 // CatalogAdminUserName - The administrator user name of catalog database. 3418 CatalogAdminUserName *string `json:"catalogAdminUserName,omitempty"` 3419 // CatalogAdminPassword - The password of the administrator user account of the catalog database. 3420 CatalogAdminPassword *SecureString `json:"catalogAdminPassword,omitempty"` 3421 // CatalogPricingTier - The pricing tier for the catalog database. The valid values could be found in https://azure.microsoft.com/en-us/pricing/details/sql-database/. Possible values include: 'IntegrationRuntimeSsisCatalogPricingTierBasic', 'IntegrationRuntimeSsisCatalogPricingTierStandard', 'IntegrationRuntimeSsisCatalogPricingTierPremium', 'IntegrationRuntimeSsisCatalogPricingTierPremiumRS' 3422 CatalogPricingTier IntegrationRuntimeSsisCatalogPricingTier `json:"catalogPricingTier,omitempty"` 3423} 3424 3425// MarshalJSON is the custom marshaler for IntegrationRuntimeSsisCatalogInfo. 3426func (irsci IntegrationRuntimeSsisCatalogInfo) MarshalJSON() ([]byte, error) { 3427 objectMap := make(map[string]interface{}) 3428 if irsci.CatalogServerEndpoint != nil { 3429 objectMap["catalogServerEndpoint"] = irsci.CatalogServerEndpoint 3430 } 3431 if irsci.CatalogAdminUserName != nil { 3432 objectMap["catalogAdminUserName"] = irsci.CatalogAdminUserName 3433 } 3434 if irsci.CatalogAdminPassword != nil { 3435 objectMap["catalogAdminPassword"] = irsci.CatalogAdminPassword 3436 } 3437 if irsci.CatalogPricingTier != "" { 3438 objectMap["catalogPricingTier"] = irsci.CatalogPricingTier 3439 } 3440 for k, v := range irsci.AdditionalProperties { 3441 objectMap[k] = v 3442 } 3443 return json.Marshal(objectMap) 3444} 3445 3446// UnmarshalJSON is the custom unmarshaler for IntegrationRuntimeSsisCatalogInfo struct. 3447func (irsci *IntegrationRuntimeSsisCatalogInfo) UnmarshalJSON(body []byte) error { 3448 var m map[string]*json.RawMessage 3449 err := json.Unmarshal(body, &m) 3450 if err != nil { 3451 return err 3452 } 3453 for k, v := range m { 3454 switch k { 3455 default: 3456 if v != nil { 3457 var additionalProperties interface{} 3458 err = json.Unmarshal(*v, &additionalProperties) 3459 if err != nil { 3460 return err 3461 } 3462 if irsci.AdditionalProperties == nil { 3463 irsci.AdditionalProperties = make(map[string]interface{}) 3464 } 3465 irsci.AdditionalProperties[k] = additionalProperties 3466 } 3467 case "catalogServerEndpoint": 3468 if v != nil { 3469 var catalogServerEndpoint string 3470 err = json.Unmarshal(*v, &catalogServerEndpoint) 3471 if err != nil { 3472 return err 3473 } 3474 irsci.CatalogServerEndpoint = &catalogServerEndpoint 3475 } 3476 case "catalogAdminUserName": 3477 if v != nil { 3478 var catalogAdminUserName string 3479 err = json.Unmarshal(*v, &catalogAdminUserName) 3480 if err != nil { 3481 return err 3482 } 3483 irsci.CatalogAdminUserName = &catalogAdminUserName 3484 } 3485 case "catalogAdminPassword": 3486 if v != nil { 3487 var catalogAdminPassword SecureString 3488 err = json.Unmarshal(*v, &catalogAdminPassword) 3489 if err != nil { 3490 return err 3491 } 3492 irsci.CatalogAdminPassword = &catalogAdminPassword 3493 } 3494 case "catalogPricingTier": 3495 if v != nil { 3496 var catalogPricingTier IntegrationRuntimeSsisCatalogPricingTier 3497 err = json.Unmarshal(*v, &catalogPricingTier) 3498 if err != nil { 3499 return err 3500 } 3501 irsci.CatalogPricingTier = catalogPricingTier 3502 } 3503 } 3504 } 3505 3506 return nil 3507} 3508 3509// IntegrationRuntimeSsisProperties SSIS properties for managed integration runtime. 3510type IntegrationRuntimeSsisProperties struct { 3511 // AdditionalProperties - Unmatched properties from the message are deserialized this collection 3512 AdditionalProperties map[string]interface{} `json:""` 3513 // CatalogInfo - Catalog information for managed dedicated integration runtime. 3514 CatalogInfo *IntegrationRuntimeSsisCatalogInfo `json:"catalogInfo,omitempty"` 3515 // LicenseType - License type for bringing your own license scenario. Possible values include: 'BasePrice', 'LicenseIncluded' 3516 LicenseType IntegrationRuntimeLicenseType `json:"licenseType,omitempty"` 3517 // CustomSetupScriptProperties - Custom setup script properties for a managed dedicated integration runtime. 3518 CustomSetupScriptProperties *IntegrationRuntimeCustomSetupScriptProperties `json:"customSetupScriptProperties,omitempty"` 3519 // DataProxyProperties - Data proxy properties for a managed dedicated integration runtime. 3520 DataProxyProperties *IntegrationRuntimeDataProxyProperties `json:"dataProxyProperties,omitempty"` 3521 // Edition - The edition for the SSIS Integration Runtime. Possible values include: 'Standard', 'Enterprise' 3522 Edition IntegrationRuntimeEdition `json:"edition,omitempty"` 3523 // ExpressCustomSetupProperties - Custom setup without script properties for a SSIS integration runtime. 3524 ExpressCustomSetupProperties *[]BasicCustomSetupBase `json:"expressCustomSetupProperties,omitempty"` 3525} 3526 3527// MarshalJSON is the custom marshaler for IntegrationRuntimeSsisProperties. 3528func (irsp IntegrationRuntimeSsisProperties) MarshalJSON() ([]byte, error) { 3529 objectMap := make(map[string]interface{}) 3530 if irsp.CatalogInfo != nil { 3531 objectMap["catalogInfo"] = irsp.CatalogInfo 3532 } 3533 if irsp.LicenseType != "" { 3534 objectMap["licenseType"] = irsp.LicenseType 3535 } 3536 if irsp.CustomSetupScriptProperties != nil { 3537 objectMap["customSetupScriptProperties"] = irsp.CustomSetupScriptProperties 3538 } 3539 if irsp.DataProxyProperties != nil { 3540 objectMap["dataProxyProperties"] = irsp.DataProxyProperties 3541 } 3542 if irsp.Edition != "" { 3543 objectMap["edition"] = irsp.Edition 3544 } 3545 if irsp.ExpressCustomSetupProperties != nil { 3546 objectMap["expressCustomSetupProperties"] = irsp.ExpressCustomSetupProperties 3547 } 3548 for k, v := range irsp.AdditionalProperties { 3549 objectMap[k] = v 3550 } 3551 return json.Marshal(objectMap) 3552} 3553 3554// UnmarshalJSON is the custom unmarshaler for IntegrationRuntimeSsisProperties struct. 3555func (irsp *IntegrationRuntimeSsisProperties) UnmarshalJSON(body []byte) error { 3556 var m map[string]*json.RawMessage 3557 err := json.Unmarshal(body, &m) 3558 if err != nil { 3559 return err 3560 } 3561 for k, v := range m { 3562 switch k { 3563 default: 3564 if v != nil { 3565 var additionalProperties interface{} 3566 err = json.Unmarshal(*v, &additionalProperties) 3567 if err != nil { 3568 return err 3569 } 3570 if irsp.AdditionalProperties == nil { 3571 irsp.AdditionalProperties = make(map[string]interface{}) 3572 } 3573 irsp.AdditionalProperties[k] = additionalProperties 3574 } 3575 case "catalogInfo": 3576 if v != nil { 3577 var catalogInfo IntegrationRuntimeSsisCatalogInfo 3578 err = json.Unmarshal(*v, &catalogInfo) 3579 if err != nil { 3580 return err 3581 } 3582 irsp.CatalogInfo = &catalogInfo 3583 } 3584 case "licenseType": 3585 if v != nil { 3586 var licenseType IntegrationRuntimeLicenseType 3587 err = json.Unmarshal(*v, &licenseType) 3588 if err != nil { 3589 return err 3590 } 3591 irsp.LicenseType = licenseType 3592 } 3593 case "customSetupScriptProperties": 3594 if v != nil { 3595 var customSetupScriptProperties IntegrationRuntimeCustomSetupScriptProperties 3596 err = json.Unmarshal(*v, &customSetupScriptProperties) 3597 if err != nil { 3598 return err 3599 } 3600 irsp.CustomSetupScriptProperties = &customSetupScriptProperties 3601 } 3602 case "dataProxyProperties": 3603 if v != nil { 3604 var dataProxyProperties IntegrationRuntimeDataProxyProperties 3605 err = json.Unmarshal(*v, &dataProxyProperties) 3606 if err != nil { 3607 return err 3608 } 3609 irsp.DataProxyProperties = &dataProxyProperties 3610 } 3611 case "edition": 3612 if v != nil { 3613 var edition IntegrationRuntimeEdition 3614 err = json.Unmarshal(*v, &edition) 3615 if err != nil { 3616 return err 3617 } 3618 irsp.Edition = edition 3619 } 3620 case "expressCustomSetupProperties": 3621 if v != nil { 3622 expressCustomSetupProperties, err := unmarshalBasicCustomSetupBaseArray(*v) 3623 if err != nil { 3624 return err 3625 } 3626 irsp.ExpressCustomSetupProperties = &expressCustomSetupProperties 3627 } 3628 } 3629 } 3630 3631 return nil 3632} 3633 3634// IntegrationRuntimesStartFuture an abstraction for monitoring and retrieving the results of a 3635// long-running operation. 3636type IntegrationRuntimesStartFuture struct { 3637 azure.FutureAPI 3638 // Result returns the result of the asynchronous operation. 3639 // If the operation has not completed it will return an error. 3640 Result func(IntegrationRuntimesClient) (IntegrationRuntimeStatusResponse, error) 3641} 3642 3643// UnmarshalJSON is the custom unmarshaller for CreateFuture. 3644func (future *IntegrationRuntimesStartFuture) UnmarshalJSON(body []byte) error { 3645 var azFuture azure.Future 3646 if err := json.Unmarshal(body, &azFuture); err != nil { 3647 return err 3648 } 3649 future.FutureAPI = &azFuture 3650 future.Result = future.result 3651 return nil 3652} 3653 3654// result is the default implementation for IntegrationRuntimesStartFuture.Result. 3655func (future *IntegrationRuntimesStartFuture) result(client IntegrationRuntimesClient) (irsr IntegrationRuntimeStatusResponse, err error) { 3656 var done bool 3657 done, err = future.DoneWithContext(context.Background(), client) 3658 if err != nil { 3659 err = autorest.NewErrorWithError(err, "synapse.IntegrationRuntimesStartFuture", "Result", future.Response(), "Polling failure") 3660 return 3661 } 3662 if !done { 3663 irsr.Response.Response = future.Response() 3664 err = azure.NewAsyncOpIncompleteError("synapse.IntegrationRuntimesStartFuture") 3665 return 3666 } 3667 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 3668 if irsr.Response.Response, err = future.GetResult(sender); err == nil && irsr.Response.Response.StatusCode != http.StatusNoContent { 3669 irsr, err = client.StartResponder(irsr.Response.Response) 3670 if err != nil { 3671 err = autorest.NewErrorWithError(err, "synapse.IntegrationRuntimesStartFuture", "Result", irsr.Response.Response, "Failure responding to request") 3672 } 3673 } 3674 return 3675} 3676 3677// IntegrationRuntimesStopFuture an abstraction for monitoring and retrieving the results of a long-running 3678// operation. 3679type IntegrationRuntimesStopFuture struct { 3680 azure.FutureAPI 3681 // Result returns the result of the asynchronous operation. 3682 // If the operation has not completed it will return an error. 3683 Result func(IntegrationRuntimesClient) (autorest.Response, error) 3684} 3685 3686// UnmarshalJSON is the custom unmarshaller for CreateFuture. 3687func (future *IntegrationRuntimesStopFuture) UnmarshalJSON(body []byte) error { 3688 var azFuture azure.Future 3689 if err := json.Unmarshal(body, &azFuture); err != nil { 3690 return err 3691 } 3692 future.FutureAPI = &azFuture 3693 future.Result = future.result 3694 return nil 3695} 3696 3697// result is the default implementation for IntegrationRuntimesStopFuture.Result. 3698func (future *IntegrationRuntimesStopFuture) result(client IntegrationRuntimesClient) (ar autorest.Response, err error) { 3699 var done bool 3700 done, err = future.DoneWithContext(context.Background(), client) 3701 if err != nil { 3702 err = autorest.NewErrorWithError(err, "synapse.IntegrationRuntimesStopFuture", "Result", future.Response(), "Polling failure") 3703 return 3704 } 3705 if !done { 3706 ar.Response = future.Response() 3707 err = azure.NewAsyncOpIncompleteError("synapse.IntegrationRuntimesStopFuture") 3708 return 3709 } 3710 ar.Response = future.Response() 3711 return 3712} 3713 3714// BasicIntegrationRuntimeStatus integration runtime status. 3715type BasicIntegrationRuntimeStatus interface { 3716 AsManagedIntegrationRuntimeStatus() (*ManagedIntegrationRuntimeStatus, bool) 3717 AsSelfHostedIntegrationRuntimeStatus() (*SelfHostedIntegrationRuntimeStatus, bool) 3718 AsIntegrationRuntimeStatus() (*IntegrationRuntimeStatus, bool) 3719} 3720 3721// IntegrationRuntimeStatus integration runtime status. 3722type IntegrationRuntimeStatus struct { 3723 // AdditionalProperties - Unmatched properties from the message are deserialized this collection 3724 AdditionalProperties map[string]interface{} `json:""` 3725 // DataFactoryName - READ-ONLY; The workspace name which the integration runtime belong to. 3726 DataFactoryName *string `json:"dataFactoryName,omitempty"` 3727 // State - READ-ONLY; The state of integration runtime. Possible values include: 'Initial', 'Stopped', 'Started', 'Starting', 'Stopping', 'NeedRegistration', 'Online', 'Limited', 'Offline', 'AccessDenied' 3728 State IntegrationRuntimeState `json:"state,omitempty"` 3729 // Type - Possible values include: 'TypeBasicIntegrationRuntimeStatusTypeIntegrationRuntimeStatus', 'TypeBasicIntegrationRuntimeStatusTypeManaged', 'TypeBasicIntegrationRuntimeStatusTypeSelfHosted' 3730 Type TypeBasicIntegrationRuntimeStatus `json:"type,omitempty"` 3731} 3732 3733func unmarshalBasicIntegrationRuntimeStatus(body []byte) (BasicIntegrationRuntimeStatus, error) { 3734 var m map[string]interface{} 3735 err := json.Unmarshal(body, &m) 3736 if err != nil { 3737 return nil, err 3738 } 3739 3740 switch m["type"] { 3741 case string(TypeBasicIntegrationRuntimeStatusTypeManaged): 3742 var mirs ManagedIntegrationRuntimeStatus 3743 err := json.Unmarshal(body, &mirs) 3744 return mirs, err 3745 case string(TypeBasicIntegrationRuntimeStatusTypeSelfHosted): 3746 var shirs SelfHostedIntegrationRuntimeStatus 3747 err := json.Unmarshal(body, &shirs) 3748 return shirs, err 3749 default: 3750 var irs IntegrationRuntimeStatus 3751 err := json.Unmarshal(body, &irs) 3752 return irs, err 3753 } 3754} 3755func unmarshalBasicIntegrationRuntimeStatusArray(body []byte) ([]BasicIntegrationRuntimeStatus, error) { 3756 var rawMessages []*json.RawMessage 3757 err := json.Unmarshal(body, &rawMessages) 3758 if err != nil { 3759 return nil, err 3760 } 3761 3762 irsArray := make([]BasicIntegrationRuntimeStatus, len(rawMessages)) 3763 3764 for index, rawMessage := range rawMessages { 3765 irs, err := unmarshalBasicIntegrationRuntimeStatus(*rawMessage) 3766 if err != nil { 3767 return nil, err 3768 } 3769 irsArray[index] = irs 3770 } 3771 return irsArray, nil 3772} 3773 3774// MarshalJSON is the custom marshaler for IntegrationRuntimeStatus. 3775func (irs IntegrationRuntimeStatus) MarshalJSON() ([]byte, error) { 3776 irs.Type = TypeBasicIntegrationRuntimeStatusTypeIntegrationRuntimeStatus 3777 objectMap := make(map[string]interface{}) 3778 if irs.Type != "" { 3779 objectMap["type"] = irs.Type 3780 } 3781 for k, v := range irs.AdditionalProperties { 3782 objectMap[k] = v 3783 } 3784 return json.Marshal(objectMap) 3785} 3786 3787// AsManagedIntegrationRuntimeStatus is the BasicIntegrationRuntimeStatus implementation for IntegrationRuntimeStatus. 3788func (irs IntegrationRuntimeStatus) AsManagedIntegrationRuntimeStatus() (*ManagedIntegrationRuntimeStatus, bool) { 3789 return nil, false 3790} 3791 3792// AsSelfHostedIntegrationRuntimeStatus is the BasicIntegrationRuntimeStatus implementation for IntegrationRuntimeStatus. 3793func (irs IntegrationRuntimeStatus) AsSelfHostedIntegrationRuntimeStatus() (*SelfHostedIntegrationRuntimeStatus, bool) { 3794 return nil, false 3795} 3796 3797// AsIntegrationRuntimeStatus is the BasicIntegrationRuntimeStatus implementation for IntegrationRuntimeStatus. 3798func (irs IntegrationRuntimeStatus) AsIntegrationRuntimeStatus() (*IntegrationRuntimeStatus, bool) { 3799 return &irs, true 3800} 3801 3802// AsBasicIntegrationRuntimeStatus is the BasicIntegrationRuntimeStatus implementation for IntegrationRuntimeStatus. 3803func (irs IntegrationRuntimeStatus) AsBasicIntegrationRuntimeStatus() (BasicIntegrationRuntimeStatus, bool) { 3804 return &irs, true 3805} 3806 3807// UnmarshalJSON is the custom unmarshaler for IntegrationRuntimeStatus struct. 3808func (irs *IntegrationRuntimeStatus) UnmarshalJSON(body []byte) error { 3809 var m map[string]*json.RawMessage 3810 err := json.Unmarshal(body, &m) 3811 if err != nil { 3812 return err 3813 } 3814 for k, v := range m { 3815 switch k { 3816 default: 3817 if v != nil { 3818 var additionalProperties interface{} 3819 err = json.Unmarshal(*v, &additionalProperties) 3820 if err != nil { 3821 return err 3822 } 3823 if irs.AdditionalProperties == nil { 3824 irs.AdditionalProperties = make(map[string]interface{}) 3825 } 3826 irs.AdditionalProperties[k] = additionalProperties 3827 } 3828 case "dataFactoryName": 3829 if v != nil { 3830 var dataFactoryName string 3831 err = json.Unmarshal(*v, &dataFactoryName) 3832 if err != nil { 3833 return err 3834 } 3835 irs.DataFactoryName = &dataFactoryName 3836 } 3837 case "state": 3838 if v != nil { 3839 var state IntegrationRuntimeState 3840 err = json.Unmarshal(*v, &state) 3841 if err != nil { 3842 return err 3843 } 3844 irs.State = state 3845 } 3846 case "type": 3847 if v != nil { 3848 var typeVar TypeBasicIntegrationRuntimeStatus 3849 err = json.Unmarshal(*v, &typeVar) 3850 if err != nil { 3851 return err 3852 } 3853 irs.Type = typeVar 3854 } 3855 } 3856 } 3857 3858 return nil 3859} 3860 3861// IntegrationRuntimeStatusResponse integration runtime status response. 3862type IntegrationRuntimeStatusResponse struct { 3863 autorest.Response `json:"-"` 3864 // Name - READ-ONLY; The integration runtime name. 3865 Name *string `json:"name,omitempty"` 3866 // Properties - Integration runtime properties. 3867 Properties BasicIntegrationRuntimeStatus `json:"properties,omitempty"` 3868} 3869 3870// MarshalJSON is the custom marshaler for IntegrationRuntimeStatusResponse. 3871func (irsr IntegrationRuntimeStatusResponse) MarshalJSON() ([]byte, error) { 3872 objectMap := make(map[string]interface{}) 3873 objectMap["properties"] = irsr.Properties 3874 return json.Marshal(objectMap) 3875} 3876 3877// UnmarshalJSON is the custom unmarshaler for IntegrationRuntimeStatusResponse struct. 3878func (irsr *IntegrationRuntimeStatusResponse) UnmarshalJSON(body []byte) error { 3879 var m map[string]*json.RawMessage 3880 err := json.Unmarshal(body, &m) 3881 if err != nil { 3882 return err 3883 } 3884 for k, v := range m { 3885 switch k { 3886 case "name": 3887 if v != nil { 3888 var name string 3889 err = json.Unmarshal(*v, &name) 3890 if err != nil { 3891 return err 3892 } 3893 irsr.Name = &name 3894 } 3895 case "properties": 3896 if v != nil { 3897 properties, err := unmarshalBasicIntegrationRuntimeStatus(*v) 3898 if err != nil { 3899 return err 3900 } 3901 irsr.Properties = properties 3902 } 3903 } 3904 } 3905 3906 return nil 3907} 3908 3909// IntegrationRuntimeVNetProperties vNet properties for managed integration runtime. 3910type IntegrationRuntimeVNetProperties struct { 3911 // AdditionalProperties - Unmatched properties from the message are deserialized this collection 3912 AdditionalProperties map[string]interface{} `json:""` 3913 // VNetID - The ID of the VNet that this integration runtime will join. 3914 VNetID *string `json:"vNetId,omitempty"` 3915 // Subnet - The name of the subnet this integration runtime will join. 3916 Subnet *string `json:"subnet,omitempty"` 3917 // PublicIPs - Resource IDs of the public IP addresses that this integration runtime will use. 3918 PublicIPs *[]string `json:"publicIPs,omitempty"` 3919} 3920 3921// MarshalJSON is the custom marshaler for IntegrationRuntimeVNetProperties. 3922func (irvnp IntegrationRuntimeVNetProperties) MarshalJSON() ([]byte, error) { 3923 objectMap := make(map[string]interface{}) 3924 if irvnp.VNetID != nil { 3925 objectMap["vNetId"] = irvnp.VNetID 3926 } 3927 if irvnp.Subnet != nil { 3928 objectMap["subnet"] = irvnp.Subnet 3929 } 3930 if irvnp.PublicIPs != nil { 3931 objectMap["publicIPs"] = irvnp.PublicIPs 3932 } 3933 for k, v := range irvnp.AdditionalProperties { 3934 objectMap[k] = v 3935 } 3936 return json.Marshal(objectMap) 3937} 3938 3939// UnmarshalJSON is the custom unmarshaler for IntegrationRuntimeVNetProperties struct. 3940func (irvnp *IntegrationRuntimeVNetProperties) UnmarshalJSON(body []byte) error { 3941 var m map[string]*json.RawMessage 3942 err := json.Unmarshal(body, &m) 3943 if err != nil { 3944 return err 3945 } 3946 for k, v := range m { 3947 switch k { 3948 default: 3949 if v != nil { 3950 var additionalProperties interface{} 3951 err = json.Unmarshal(*v, &additionalProperties) 3952 if err != nil { 3953 return err 3954 } 3955 if irvnp.AdditionalProperties == nil { 3956 irvnp.AdditionalProperties = make(map[string]interface{}) 3957 } 3958 irvnp.AdditionalProperties[k] = additionalProperties 3959 } 3960 case "vNetId": 3961 if v != nil { 3962 var vNetID string 3963 err = json.Unmarshal(*v, &vNetID) 3964 if err != nil { 3965 return err 3966 } 3967 irvnp.VNetID = &vNetID 3968 } 3969 case "subnet": 3970 if v != nil { 3971 var subnet string 3972 err = json.Unmarshal(*v, &subnet) 3973 if err != nil { 3974 return err 3975 } 3976 irvnp.Subnet = &subnet 3977 } 3978 case "publicIPs": 3979 if v != nil { 3980 var publicIPs []string 3981 err = json.Unmarshal(*v, &publicIPs) 3982 if err != nil { 3983 return err 3984 } 3985 irvnp.PublicIPs = &publicIPs 3986 } 3987 } 3988 } 3989 3990 return nil 3991} 3992 3993// IPFirewallRuleInfo IP firewall rule 3994type IPFirewallRuleInfo struct { 3995 autorest.Response `json:"-"` 3996 // IPFirewallRuleProperties - IP firewall rule properties 3997 *IPFirewallRuleProperties `json:"properties,omitempty"` 3998 // ID - READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} 3999 ID *string `json:"id,omitempty"` 4000 // Name - READ-ONLY; The name of the resource 4001 Name *string `json:"name,omitempty"` 4002 // Type - READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" 4003 Type *string `json:"type,omitempty"` 4004} 4005 4006// MarshalJSON is the custom marshaler for IPFirewallRuleInfo. 4007func (ifri IPFirewallRuleInfo) MarshalJSON() ([]byte, error) { 4008 objectMap := make(map[string]interface{}) 4009 if ifri.IPFirewallRuleProperties != nil { 4010 objectMap["properties"] = ifri.IPFirewallRuleProperties 4011 } 4012 return json.Marshal(objectMap) 4013} 4014 4015// UnmarshalJSON is the custom unmarshaler for IPFirewallRuleInfo struct. 4016func (ifri *IPFirewallRuleInfo) UnmarshalJSON(body []byte) error { 4017 var m map[string]*json.RawMessage 4018 err := json.Unmarshal(body, &m) 4019 if err != nil { 4020 return err 4021 } 4022 for k, v := range m { 4023 switch k { 4024 case "properties": 4025 if v != nil { 4026 var IPFirewallRuleProperties IPFirewallRuleProperties 4027 err = json.Unmarshal(*v, &IPFirewallRuleProperties) 4028 if err != nil { 4029 return err 4030 } 4031 ifri.IPFirewallRuleProperties = &IPFirewallRuleProperties 4032 } 4033 case "id": 4034 if v != nil { 4035 var ID string 4036 err = json.Unmarshal(*v, &ID) 4037 if err != nil { 4038 return err 4039 } 4040 ifri.ID = &ID 4041 } 4042 case "name": 4043 if v != nil { 4044 var name string 4045 err = json.Unmarshal(*v, &name) 4046 if err != nil { 4047 return err 4048 } 4049 ifri.Name = &name 4050 } 4051 case "type": 4052 if v != nil { 4053 var typeVar string 4054 err = json.Unmarshal(*v, &typeVar) 4055 if err != nil { 4056 return err 4057 } 4058 ifri.Type = &typeVar 4059 } 4060 } 4061 } 4062 4063 return nil 4064} 4065 4066// IPFirewallRuleInfoListResult list of IP firewall rules 4067type IPFirewallRuleInfoListResult struct { 4068 autorest.Response `json:"-"` 4069 // NextLink - Link to next page of results 4070 NextLink *string `json:"nextLink,omitempty"` 4071 // Value - List of IP firewall rules 4072 Value *[]IPFirewallRuleInfo `json:"value,omitempty"` 4073} 4074 4075// IPFirewallRuleInfoListResultIterator provides access to a complete listing of IPFirewallRuleInfo values. 4076type IPFirewallRuleInfoListResultIterator struct { 4077 i int 4078 page IPFirewallRuleInfoListResultPage 4079} 4080 4081// NextWithContext advances to the next value. If there was an error making 4082// the request the iterator does not advance and the error is returned. 4083func (iter *IPFirewallRuleInfoListResultIterator) NextWithContext(ctx context.Context) (err error) { 4084 if tracing.IsEnabled() { 4085 ctx = tracing.StartSpan(ctx, fqdn+"/IPFirewallRuleInfoListResultIterator.NextWithContext") 4086 defer func() { 4087 sc := -1 4088 if iter.Response().Response.Response != nil { 4089 sc = iter.Response().Response.Response.StatusCode 4090 } 4091 tracing.EndSpan(ctx, sc, err) 4092 }() 4093 } 4094 iter.i++ 4095 if iter.i < len(iter.page.Values()) { 4096 return nil 4097 } 4098 err = iter.page.NextWithContext(ctx) 4099 if err != nil { 4100 iter.i-- 4101 return err 4102 } 4103 iter.i = 0 4104 return nil 4105} 4106 4107// Next advances to the next value. If there was an error making 4108// the request the iterator does not advance and the error is returned. 4109// Deprecated: Use NextWithContext() instead. 4110func (iter *IPFirewallRuleInfoListResultIterator) Next() error { 4111 return iter.NextWithContext(context.Background()) 4112} 4113 4114// NotDone returns true if the enumeration should be started or is not yet complete. 4115func (iter IPFirewallRuleInfoListResultIterator) NotDone() bool { 4116 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 4117} 4118 4119// Response returns the raw server response from the last page request. 4120func (iter IPFirewallRuleInfoListResultIterator) Response() IPFirewallRuleInfoListResult { 4121 return iter.page.Response() 4122} 4123 4124// Value returns the current value or a zero-initialized value if the 4125// iterator has advanced beyond the end of the collection. 4126func (iter IPFirewallRuleInfoListResultIterator) Value() IPFirewallRuleInfo { 4127 if !iter.page.NotDone() { 4128 return IPFirewallRuleInfo{} 4129 } 4130 return iter.page.Values()[iter.i] 4131} 4132 4133// Creates a new instance of the IPFirewallRuleInfoListResultIterator type. 4134func NewIPFirewallRuleInfoListResultIterator(page IPFirewallRuleInfoListResultPage) IPFirewallRuleInfoListResultIterator { 4135 return IPFirewallRuleInfoListResultIterator{page: page} 4136} 4137 4138// IsEmpty returns true if the ListResult contains no values. 4139func (ifrilr IPFirewallRuleInfoListResult) IsEmpty() bool { 4140 return ifrilr.Value == nil || len(*ifrilr.Value) == 0 4141} 4142 4143// hasNextLink returns true if the NextLink is not empty. 4144func (ifrilr IPFirewallRuleInfoListResult) hasNextLink() bool { 4145 return ifrilr.NextLink != nil && len(*ifrilr.NextLink) != 0 4146} 4147 4148// iPFirewallRuleInfoListResultPreparer prepares a request to retrieve the next set of results. 4149// It returns nil if no more results exist. 4150func (ifrilr IPFirewallRuleInfoListResult) iPFirewallRuleInfoListResultPreparer(ctx context.Context) (*http.Request, error) { 4151 if !ifrilr.hasNextLink() { 4152 return nil, nil 4153 } 4154 return autorest.Prepare((&http.Request{}).WithContext(ctx), 4155 autorest.AsJSON(), 4156 autorest.AsGet(), 4157 autorest.WithBaseURL(to.String(ifrilr.NextLink))) 4158} 4159 4160// IPFirewallRuleInfoListResultPage contains a page of IPFirewallRuleInfo values. 4161type IPFirewallRuleInfoListResultPage struct { 4162 fn func(context.Context, IPFirewallRuleInfoListResult) (IPFirewallRuleInfoListResult, error) 4163 ifrilr IPFirewallRuleInfoListResult 4164} 4165 4166// NextWithContext advances to the next page of values. If there was an error making 4167// the request the page does not advance and the error is returned. 4168func (page *IPFirewallRuleInfoListResultPage) NextWithContext(ctx context.Context) (err error) { 4169 if tracing.IsEnabled() { 4170 ctx = tracing.StartSpan(ctx, fqdn+"/IPFirewallRuleInfoListResultPage.NextWithContext") 4171 defer func() { 4172 sc := -1 4173 if page.Response().Response.Response != nil { 4174 sc = page.Response().Response.Response.StatusCode 4175 } 4176 tracing.EndSpan(ctx, sc, err) 4177 }() 4178 } 4179 for { 4180 next, err := page.fn(ctx, page.ifrilr) 4181 if err != nil { 4182 return err 4183 } 4184 page.ifrilr = next 4185 if !next.hasNextLink() || !next.IsEmpty() { 4186 break 4187 } 4188 } 4189 return nil 4190} 4191 4192// Next advances to the next page of values. If there was an error making 4193// the request the page does not advance and the error is returned. 4194// Deprecated: Use NextWithContext() instead. 4195func (page *IPFirewallRuleInfoListResultPage) Next() error { 4196 return page.NextWithContext(context.Background()) 4197} 4198 4199// NotDone returns true if the page enumeration should be started or is not yet complete. 4200func (page IPFirewallRuleInfoListResultPage) NotDone() bool { 4201 return !page.ifrilr.IsEmpty() 4202} 4203 4204// Response returns the raw server response from the last page request. 4205func (page IPFirewallRuleInfoListResultPage) Response() IPFirewallRuleInfoListResult { 4206 return page.ifrilr 4207} 4208 4209// Values returns the slice of values for the current page or nil if there are no values. 4210func (page IPFirewallRuleInfoListResultPage) Values() []IPFirewallRuleInfo { 4211 if page.ifrilr.IsEmpty() { 4212 return nil 4213 } 4214 return *page.ifrilr.Value 4215} 4216 4217// Creates a new instance of the IPFirewallRuleInfoListResultPage type. 4218func NewIPFirewallRuleInfoListResultPage(cur IPFirewallRuleInfoListResult, getNextPage func(context.Context, IPFirewallRuleInfoListResult) (IPFirewallRuleInfoListResult, error)) IPFirewallRuleInfoListResultPage { 4219 return IPFirewallRuleInfoListResultPage{ 4220 fn: getNextPage, 4221 ifrilr: cur, 4222 } 4223} 4224 4225// IPFirewallRuleProperties IP firewall rule properties 4226type IPFirewallRuleProperties struct { 4227 // EndIPAddress - The end IP address of the firewall rule. Must be IPv4 format. Must be greater than or equal to startIpAddress 4228 EndIPAddress *string `json:"endIpAddress,omitempty"` 4229 // ProvisioningState - READ-ONLY; Resource provisioning state. Possible values include: 'ProvisioningStateProvisioning', 'ProvisioningStateSucceeded', 'ProvisioningStateDeleting', 'ProvisioningStateFailed', 'ProvisioningStateDeleteError' 4230 ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` 4231 // StartIPAddress - The start IP address of the firewall rule. Must be IPv4 format 4232 StartIPAddress *string `json:"startIpAddress,omitempty"` 4233} 4234 4235// MarshalJSON is the custom marshaler for IPFirewallRuleProperties. 4236func (ifrp IPFirewallRuleProperties) MarshalJSON() ([]byte, error) { 4237 objectMap := make(map[string]interface{}) 4238 if ifrp.EndIPAddress != nil { 4239 objectMap["endIpAddress"] = ifrp.EndIPAddress 4240 } 4241 if ifrp.StartIPAddress != nil { 4242 objectMap["startIpAddress"] = ifrp.StartIPAddress 4243 } 4244 return json.Marshal(objectMap) 4245} 4246 4247// IPFirewallRulesCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a 4248// long-running operation. 4249type IPFirewallRulesCreateOrUpdateFuture struct { 4250 azure.FutureAPI 4251 // Result returns the result of the asynchronous operation. 4252 // If the operation has not completed it will return an error. 4253 Result func(IPFirewallRulesClient) (IPFirewallRuleInfo, error) 4254} 4255 4256// UnmarshalJSON is the custom unmarshaller for CreateFuture. 4257func (future *IPFirewallRulesCreateOrUpdateFuture) UnmarshalJSON(body []byte) error { 4258 var azFuture azure.Future 4259 if err := json.Unmarshal(body, &azFuture); err != nil { 4260 return err 4261 } 4262 future.FutureAPI = &azFuture 4263 future.Result = future.result 4264 return nil 4265} 4266 4267// result is the default implementation for IPFirewallRulesCreateOrUpdateFuture.Result. 4268func (future *IPFirewallRulesCreateOrUpdateFuture) result(client IPFirewallRulesClient) (ifri IPFirewallRuleInfo, err error) { 4269 var done bool 4270 done, err = future.DoneWithContext(context.Background(), client) 4271 if err != nil { 4272 err = autorest.NewErrorWithError(err, "synapse.IPFirewallRulesCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") 4273 return 4274 } 4275 if !done { 4276 ifri.Response.Response = future.Response() 4277 err = azure.NewAsyncOpIncompleteError("synapse.IPFirewallRulesCreateOrUpdateFuture") 4278 return 4279 } 4280 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 4281 if ifri.Response.Response, err = future.GetResult(sender); err == nil && ifri.Response.Response.StatusCode != http.StatusNoContent { 4282 ifri, err = client.CreateOrUpdateResponder(ifri.Response.Response) 4283 if err != nil { 4284 err = autorest.NewErrorWithError(err, "synapse.IPFirewallRulesCreateOrUpdateFuture", "Result", ifri.Response.Response, "Failure responding to request") 4285 } 4286 } 4287 return 4288} 4289 4290// IPFirewallRulesDeleteFuture an abstraction for monitoring and retrieving the results of a long-running 4291// operation. 4292type IPFirewallRulesDeleteFuture struct { 4293 azure.FutureAPI 4294 // Result returns the result of the asynchronous operation. 4295 // If the operation has not completed it will return an error. 4296 Result func(IPFirewallRulesClient) (SetObject, error) 4297} 4298 4299// UnmarshalJSON is the custom unmarshaller for CreateFuture. 4300func (future *IPFirewallRulesDeleteFuture) UnmarshalJSON(body []byte) error { 4301 var azFuture azure.Future 4302 if err := json.Unmarshal(body, &azFuture); err != nil { 4303 return err 4304 } 4305 future.FutureAPI = &azFuture 4306 future.Result = future.result 4307 return nil 4308} 4309 4310// result is the default implementation for IPFirewallRulesDeleteFuture.Result. 4311func (future *IPFirewallRulesDeleteFuture) result(client IPFirewallRulesClient) (so SetObject, err error) { 4312 var done bool 4313 done, err = future.DoneWithContext(context.Background(), client) 4314 if err != nil { 4315 err = autorest.NewErrorWithError(err, "synapse.IPFirewallRulesDeleteFuture", "Result", future.Response(), "Polling failure") 4316 return 4317 } 4318 if !done { 4319 so.Response.Response = future.Response() 4320 err = azure.NewAsyncOpIncompleteError("synapse.IPFirewallRulesDeleteFuture") 4321 return 4322 } 4323 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 4324 if so.Response.Response, err = future.GetResult(sender); err == nil && so.Response.Response.StatusCode != http.StatusNoContent { 4325 so, err = client.DeleteResponder(so.Response.Response) 4326 if err != nil { 4327 err = autorest.NewErrorWithError(err, "synapse.IPFirewallRulesDeleteFuture", "Result", so.Response.Response, "Failure responding to request") 4328 } 4329 } 4330 return 4331} 4332 4333// IPFirewallRulesReplaceAllFuture an abstraction for monitoring and retrieving the results of a 4334// long-running operation. 4335type IPFirewallRulesReplaceAllFuture struct { 4336 azure.FutureAPI 4337 // Result returns the result of the asynchronous operation. 4338 // If the operation has not completed it will return an error. 4339 Result func(IPFirewallRulesClient) (ReplaceAllFirewallRulesOperationResponse, error) 4340} 4341 4342// UnmarshalJSON is the custom unmarshaller for CreateFuture. 4343func (future *IPFirewallRulesReplaceAllFuture) UnmarshalJSON(body []byte) error { 4344 var azFuture azure.Future 4345 if err := json.Unmarshal(body, &azFuture); err != nil { 4346 return err 4347 } 4348 future.FutureAPI = &azFuture 4349 future.Result = future.result 4350 return nil 4351} 4352 4353// result is the default implementation for IPFirewallRulesReplaceAllFuture.Result. 4354func (future *IPFirewallRulesReplaceAllFuture) result(client IPFirewallRulesClient) (rafror ReplaceAllFirewallRulesOperationResponse, err error) { 4355 var done bool 4356 done, err = future.DoneWithContext(context.Background(), client) 4357 if err != nil { 4358 err = autorest.NewErrorWithError(err, "synapse.IPFirewallRulesReplaceAllFuture", "Result", future.Response(), "Polling failure") 4359 return 4360 } 4361 if !done { 4362 rafror.Response.Response = future.Response() 4363 err = azure.NewAsyncOpIncompleteError("synapse.IPFirewallRulesReplaceAllFuture") 4364 return 4365 } 4366 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 4367 if rafror.Response.Response, err = future.GetResult(sender); err == nil && rafror.Response.Response.StatusCode != http.StatusNoContent { 4368 rafror, err = client.ReplaceAllResponder(rafror.Response.Response) 4369 if err != nil { 4370 err = autorest.NewErrorWithError(err, "synapse.IPFirewallRulesReplaceAllFuture", "Result", rafror.Response.Response, "Failure responding to request") 4371 } 4372 } 4373 return 4374} 4375 4376// Key a workspace key 4377type Key struct { 4378 autorest.Response `json:"-"` 4379 // KeyProperties - Keys resource properties 4380 *KeyProperties `json:"properties,omitempty"` 4381 // ID - READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} 4382 ID *string `json:"id,omitempty"` 4383 // Name - READ-ONLY; The name of the resource 4384 Name *string `json:"name,omitempty"` 4385 // Type - READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" 4386 Type *string `json:"type,omitempty"` 4387} 4388 4389// MarshalJSON is the custom marshaler for Key. 4390func (kVar Key) MarshalJSON() ([]byte, error) { 4391 objectMap := make(map[string]interface{}) 4392 if kVar.KeyProperties != nil { 4393 objectMap["properties"] = kVar.KeyProperties 4394 } 4395 return json.Marshal(objectMap) 4396} 4397 4398// UnmarshalJSON is the custom unmarshaler for Key struct. 4399func (kVar *Key) UnmarshalJSON(body []byte) error { 4400 var m map[string]*json.RawMessage 4401 err := json.Unmarshal(body, &m) 4402 if err != nil { 4403 return err 4404 } 4405 for k, v := range m { 4406 switch k { 4407 case "properties": 4408 if v != nil { 4409 var keyProperties KeyProperties 4410 err = json.Unmarshal(*v, &keyProperties) 4411 if err != nil { 4412 return err 4413 } 4414 kVar.KeyProperties = &keyProperties 4415 } 4416 case "id": 4417 if v != nil { 4418 var ID string 4419 err = json.Unmarshal(*v, &ID) 4420 if err != nil { 4421 return err 4422 } 4423 kVar.ID = &ID 4424 } 4425 case "name": 4426 if v != nil { 4427 var name string 4428 err = json.Unmarshal(*v, &name) 4429 if err != nil { 4430 return err 4431 } 4432 kVar.Name = &name 4433 } 4434 case "type": 4435 if v != nil { 4436 var typeVar string 4437 err = json.Unmarshal(*v, &typeVar) 4438 if err != nil { 4439 return err 4440 } 4441 kVar.Type = &typeVar 4442 } 4443 } 4444 } 4445 4446 return nil 4447} 4448 4449// KeyInfoListResult list of keys 4450type KeyInfoListResult struct { 4451 autorest.Response `json:"-"` 4452 // NextLink - Link to the next page of results 4453 NextLink *string `json:"nextLink,omitempty"` 4454 // Value - List of keys 4455 Value *[]Key `json:"value,omitempty"` 4456} 4457 4458// KeyInfoListResultIterator provides access to a complete listing of Key values. 4459type KeyInfoListResultIterator struct { 4460 i int 4461 page KeyInfoListResultPage 4462} 4463 4464// NextWithContext advances to the next value. If there was an error making 4465// the request the iterator does not advance and the error is returned. 4466func (iter *KeyInfoListResultIterator) NextWithContext(ctx context.Context) (err error) { 4467 if tracing.IsEnabled() { 4468 ctx = tracing.StartSpan(ctx, fqdn+"/KeyInfoListResultIterator.NextWithContext") 4469 defer func() { 4470 sc := -1 4471 if iter.Response().Response.Response != nil { 4472 sc = iter.Response().Response.Response.StatusCode 4473 } 4474 tracing.EndSpan(ctx, sc, err) 4475 }() 4476 } 4477 iter.i++ 4478 if iter.i < len(iter.page.Values()) { 4479 return nil 4480 } 4481 err = iter.page.NextWithContext(ctx) 4482 if err != nil { 4483 iter.i-- 4484 return err 4485 } 4486 iter.i = 0 4487 return nil 4488} 4489 4490// Next advances to the next value. If there was an error making 4491// the request the iterator does not advance and the error is returned. 4492// Deprecated: Use NextWithContext() instead. 4493func (iter *KeyInfoListResultIterator) Next() error { 4494 return iter.NextWithContext(context.Background()) 4495} 4496 4497// NotDone returns true if the enumeration should be started or is not yet complete. 4498func (iter KeyInfoListResultIterator) NotDone() bool { 4499 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 4500} 4501 4502// Response returns the raw server response from the last page request. 4503func (iter KeyInfoListResultIterator) Response() KeyInfoListResult { 4504 return iter.page.Response() 4505} 4506 4507// Value returns the current value or a zero-initialized value if the 4508// iterator has advanced beyond the end of the collection. 4509func (iter KeyInfoListResultIterator) Value() Key { 4510 if !iter.page.NotDone() { 4511 return Key{} 4512 } 4513 return iter.page.Values()[iter.i] 4514} 4515 4516// Creates a new instance of the KeyInfoListResultIterator type. 4517func NewKeyInfoListResultIterator(page KeyInfoListResultPage) KeyInfoListResultIterator { 4518 return KeyInfoListResultIterator{page: page} 4519} 4520 4521// IsEmpty returns true if the ListResult contains no values. 4522func (kilr KeyInfoListResult) IsEmpty() bool { 4523 return kilr.Value == nil || len(*kilr.Value) == 0 4524} 4525 4526// hasNextLink returns true if the NextLink is not empty. 4527func (kilr KeyInfoListResult) hasNextLink() bool { 4528 return kilr.NextLink != nil && len(*kilr.NextLink) != 0 4529} 4530 4531// keyInfoListResultPreparer prepares a request to retrieve the next set of results. 4532// It returns nil if no more results exist. 4533func (kilr KeyInfoListResult) keyInfoListResultPreparer(ctx context.Context) (*http.Request, error) { 4534 if !kilr.hasNextLink() { 4535 return nil, nil 4536 } 4537 return autorest.Prepare((&http.Request{}).WithContext(ctx), 4538 autorest.AsJSON(), 4539 autorest.AsGet(), 4540 autorest.WithBaseURL(to.String(kilr.NextLink))) 4541} 4542 4543// KeyInfoListResultPage contains a page of Key values. 4544type KeyInfoListResultPage struct { 4545 fn func(context.Context, KeyInfoListResult) (KeyInfoListResult, error) 4546 kilr KeyInfoListResult 4547} 4548 4549// NextWithContext advances to the next page of values. If there was an error making 4550// the request the page does not advance and the error is returned. 4551func (page *KeyInfoListResultPage) NextWithContext(ctx context.Context) (err error) { 4552 if tracing.IsEnabled() { 4553 ctx = tracing.StartSpan(ctx, fqdn+"/KeyInfoListResultPage.NextWithContext") 4554 defer func() { 4555 sc := -1 4556 if page.Response().Response.Response != nil { 4557 sc = page.Response().Response.Response.StatusCode 4558 } 4559 tracing.EndSpan(ctx, sc, err) 4560 }() 4561 } 4562 for { 4563 next, err := page.fn(ctx, page.kilr) 4564 if err != nil { 4565 return err 4566 } 4567 page.kilr = next 4568 if !next.hasNextLink() || !next.IsEmpty() { 4569 break 4570 } 4571 } 4572 return nil 4573} 4574 4575// Next advances to the next page of values. If there was an error making 4576// the request the page does not advance and the error is returned. 4577// Deprecated: Use NextWithContext() instead. 4578func (page *KeyInfoListResultPage) Next() error { 4579 return page.NextWithContext(context.Background()) 4580} 4581 4582// NotDone returns true if the page enumeration should be started or is not yet complete. 4583func (page KeyInfoListResultPage) NotDone() bool { 4584 return !page.kilr.IsEmpty() 4585} 4586 4587// Response returns the raw server response from the last page request. 4588func (page KeyInfoListResultPage) Response() KeyInfoListResult { 4589 return page.kilr 4590} 4591 4592// Values returns the slice of values for the current page or nil if there are no values. 4593func (page KeyInfoListResultPage) Values() []Key { 4594 if page.kilr.IsEmpty() { 4595 return nil 4596 } 4597 return *page.kilr.Value 4598} 4599 4600// Creates a new instance of the KeyInfoListResultPage type. 4601func NewKeyInfoListResultPage(cur KeyInfoListResult, getNextPage func(context.Context, KeyInfoListResult) (KeyInfoListResult, error)) KeyInfoListResultPage { 4602 return KeyInfoListResultPage{ 4603 fn: getNextPage, 4604 kilr: cur, 4605 } 4606} 4607 4608// KeyProperties key properties 4609type KeyProperties struct { 4610 // IsActiveCMK - Used to activate the workspace after a customer managed key is provided. 4611 IsActiveCMK *bool `json:"isActiveCMK,omitempty"` 4612 // KeyVaultURL - The Key Vault Url of the workspace key. 4613 KeyVaultURL *string `json:"keyVaultUrl,omitempty"` 4614} 4615 4616// LibraryRequirements library requirements for a Big Data pool powered by Apache Spark 4617type LibraryRequirements struct { 4618 // Time - READ-ONLY; The last update time of the library requirements file. 4619 Time *date.Time `json:"time,omitempty"` 4620 // Content - The library requirements. 4621 Content *string `json:"content,omitempty"` 4622 // Filename - The filename of the library requirements file. 4623 Filename *string `json:"filename,omitempty"` 4624} 4625 4626// MarshalJSON is the custom marshaler for LibraryRequirements. 4627func (lr LibraryRequirements) MarshalJSON() ([]byte, error) { 4628 objectMap := make(map[string]interface{}) 4629 if lr.Content != nil { 4630 objectMap["content"] = lr.Content 4631 } 4632 if lr.Filename != nil { 4633 objectMap["filename"] = lr.Filename 4634 } 4635 return json.Marshal(objectMap) 4636} 4637 4638// LicensedComponentSetupTypeProperties installation of licensed component setup type properties. 4639type LicensedComponentSetupTypeProperties struct { 4640 // ComponentName - The name of the 3rd party component. 4641 ComponentName *string `json:"componentName,omitempty"` 4642 // LicenseKey - The license key to activate the component. 4643 LicenseKey BasicSecretBase `json:"licenseKey,omitempty"` 4644} 4645 4646// UnmarshalJSON is the custom unmarshaler for LicensedComponentSetupTypeProperties struct. 4647func (lcstp *LicensedComponentSetupTypeProperties) UnmarshalJSON(body []byte) error { 4648 var m map[string]*json.RawMessage 4649 err := json.Unmarshal(body, &m) 4650 if err != nil { 4651 return err 4652 } 4653 for k, v := range m { 4654 switch k { 4655 case "componentName": 4656 if v != nil { 4657 var componentName string 4658 err = json.Unmarshal(*v, &componentName) 4659 if err != nil { 4660 return err 4661 } 4662 lcstp.ComponentName = &componentName 4663 } 4664 case "licenseKey": 4665 if v != nil { 4666 licenseKey, err := unmarshalBasicSecretBase(*v) 4667 if err != nil { 4668 return err 4669 } 4670 lcstp.LicenseKey = licenseKey 4671 } 4672 } 4673 } 4674 4675 return nil 4676} 4677 4678// LinkedIntegrationRuntime the linked integration runtime information. 4679type LinkedIntegrationRuntime struct { 4680 // Name - READ-ONLY; The name of the linked integration runtime. 4681 Name *string `json:"name,omitempty"` 4682 // SubscriptionID - READ-ONLY; The subscription ID for which the linked integration runtime belong to. 4683 SubscriptionID *string `json:"subscriptionId,omitempty"` 4684 // DataFactoryName - READ-ONLY; The name of the workspace for which the linked integration runtime belong to. 4685 DataFactoryName *string `json:"dataFactoryName,omitempty"` 4686 // DataFactoryLocation - READ-ONLY; The location of the workspace for which the linked integration runtime belong to. 4687 DataFactoryLocation *string `json:"dataFactoryLocation,omitempty"` 4688 // CreateTime - READ-ONLY; The creating time of the linked integration runtime. 4689 CreateTime *date.Time `json:"createTime,omitempty"` 4690} 4691 4692// MarshalJSON is the custom marshaler for LinkedIntegrationRuntime. 4693func (lir LinkedIntegrationRuntime) MarshalJSON() ([]byte, error) { 4694 objectMap := make(map[string]interface{}) 4695 return json.Marshal(objectMap) 4696} 4697 4698// LinkedIntegrationRuntimeKeyAuthorization the key authorization type integration runtime. 4699type LinkedIntegrationRuntimeKeyAuthorization struct { 4700 // Key - The key used for authorization. 4701 Key *SecureString `json:"key,omitempty"` 4702 // AuthorizationType - Possible values include: 'AuthorizationTypeLinkedIntegrationRuntimeType', 'AuthorizationTypeKey', 'AuthorizationTypeRBAC' 4703 AuthorizationType AuthorizationType `json:"authorizationType,omitempty"` 4704} 4705 4706// MarshalJSON is the custom marshaler for LinkedIntegrationRuntimeKeyAuthorization. 4707func (lirka LinkedIntegrationRuntimeKeyAuthorization) MarshalJSON() ([]byte, error) { 4708 lirka.AuthorizationType = AuthorizationTypeKey 4709 objectMap := make(map[string]interface{}) 4710 if lirka.Key != nil { 4711 objectMap["key"] = lirka.Key 4712 } 4713 if lirka.AuthorizationType != "" { 4714 objectMap["authorizationType"] = lirka.AuthorizationType 4715 } 4716 return json.Marshal(objectMap) 4717} 4718 4719// AsLinkedIntegrationRuntimeKeyAuthorization is the BasicLinkedIntegrationRuntimeType implementation for LinkedIntegrationRuntimeKeyAuthorization. 4720func (lirka LinkedIntegrationRuntimeKeyAuthorization) AsLinkedIntegrationRuntimeKeyAuthorization() (*LinkedIntegrationRuntimeKeyAuthorization, bool) { 4721 return &lirka, true 4722} 4723 4724// AsLinkedIntegrationRuntimeRbacAuthorization is the BasicLinkedIntegrationRuntimeType implementation for LinkedIntegrationRuntimeKeyAuthorization. 4725func (lirka LinkedIntegrationRuntimeKeyAuthorization) AsLinkedIntegrationRuntimeRbacAuthorization() (*LinkedIntegrationRuntimeRbacAuthorization, bool) { 4726 return nil, false 4727} 4728 4729// AsLinkedIntegrationRuntimeType is the BasicLinkedIntegrationRuntimeType implementation for LinkedIntegrationRuntimeKeyAuthorization. 4730func (lirka LinkedIntegrationRuntimeKeyAuthorization) AsLinkedIntegrationRuntimeType() (*LinkedIntegrationRuntimeType, bool) { 4731 return nil, false 4732} 4733 4734// AsBasicLinkedIntegrationRuntimeType is the BasicLinkedIntegrationRuntimeType implementation for LinkedIntegrationRuntimeKeyAuthorization. 4735func (lirka LinkedIntegrationRuntimeKeyAuthorization) AsBasicLinkedIntegrationRuntimeType() (BasicLinkedIntegrationRuntimeType, bool) { 4736 return &lirka, true 4737} 4738 4739// LinkedIntegrationRuntimeRbacAuthorization the role based access control (RBAC) authorization type 4740// integration runtime. 4741type LinkedIntegrationRuntimeRbacAuthorization struct { 4742 // ResourceID - The resource identifier of the integration runtime to be shared. 4743 ResourceID *string `json:"resourceId,omitempty"` 4744 // AuthorizationType - Possible values include: 'AuthorizationTypeLinkedIntegrationRuntimeType', 'AuthorizationTypeKey', 'AuthorizationTypeRBAC' 4745 AuthorizationType AuthorizationType `json:"authorizationType,omitempty"` 4746} 4747 4748// MarshalJSON is the custom marshaler for LinkedIntegrationRuntimeRbacAuthorization. 4749func (lirra LinkedIntegrationRuntimeRbacAuthorization) MarshalJSON() ([]byte, error) { 4750 lirra.AuthorizationType = AuthorizationTypeRBAC 4751 objectMap := make(map[string]interface{}) 4752 if lirra.ResourceID != nil { 4753 objectMap["resourceId"] = lirra.ResourceID 4754 } 4755 if lirra.AuthorizationType != "" { 4756 objectMap["authorizationType"] = lirra.AuthorizationType 4757 } 4758 return json.Marshal(objectMap) 4759} 4760 4761// AsLinkedIntegrationRuntimeKeyAuthorization is the BasicLinkedIntegrationRuntimeType implementation for LinkedIntegrationRuntimeRbacAuthorization. 4762func (lirra LinkedIntegrationRuntimeRbacAuthorization) AsLinkedIntegrationRuntimeKeyAuthorization() (*LinkedIntegrationRuntimeKeyAuthorization, bool) { 4763 return nil, false 4764} 4765 4766// AsLinkedIntegrationRuntimeRbacAuthorization is the BasicLinkedIntegrationRuntimeType implementation for LinkedIntegrationRuntimeRbacAuthorization. 4767func (lirra LinkedIntegrationRuntimeRbacAuthorization) AsLinkedIntegrationRuntimeRbacAuthorization() (*LinkedIntegrationRuntimeRbacAuthorization, bool) { 4768 return &lirra, true 4769} 4770 4771// AsLinkedIntegrationRuntimeType is the BasicLinkedIntegrationRuntimeType implementation for LinkedIntegrationRuntimeRbacAuthorization. 4772func (lirra LinkedIntegrationRuntimeRbacAuthorization) AsLinkedIntegrationRuntimeType() (*LinkedIntegrationRuntimeType, bool) { 4773 return nil, false 4774} 4775 4776// AsBasicLinkedIntegrationRuntimeType is the BasicLinkedIntegrationRuntimeType implementation for LinkedIntegrationRuntimeRbacAuthorization. 4777func (lirra LinkedIntegrationRuntimeRbacAuthorization) AsBasicLinkedIntegrationRuntimeType() (BasicLinkedIntegrationRuntimeType, bool) { 4778 return &lirra, true 4779} 4780 4781// BasicLinkedIntegrationRuntimeType the base definition of a linked integration runtime. 4782type BasicLinkedIntegrationRuntimeType interface { 4783 AsLinkedIntegrationRuntimeKeyAuthorization() (*LinkedIntegrationRuntimeKeyAuthorization, bool) 4784 AsLinkedIntegrationRuntimeRbacAuthorization() (*LinkedIntegrationRuntimeRbacAuthorization, bool) 4785 AsLinkedIntegrationRuntimeType() (*LinkedIntegrationRuntimeType, bool) 4786} 4787 4788// LinkedIntegrationRuntimeType the base definition of a linked integration runtime. 4789type LinkedIntegrationRuntimeType struct { 4790 // AuthorizationType - Possible values include: 'AuthorizationTypeLinkedIntegrationRuntimeType', 'AuthorizationTypeKey', 'AuthorizationTypeRBAC' 4791 AuthorizationType AuthorizationType `json:"authorizationType,omitempty"` 4792} 4793 4794func unmarshalBasicLinkedIntegrationRuntimeType(body []byte) (BasicLinkedIntegrationRuntimeType, error) { 4795 var m map[string]interface{} 4796 err := json.Unmarshal(body, &m) 4797 if err != nil { 4798 return nil, err 4799 } 4800 4801 switch m["authorizationType"] { 4802 case string(AuthorizationTypeKey): 4803 var lirka LinkedIntegrationRuntimeKeyAuthorization 4804 err := json.Unmarshal(body, &lirka) 4805 return lirka, err 4806 case string(AuthorizationTypeRBAC): 4807 var lirra LinkedIntegrationRuntimeRbacAuthorization 4808 err := json.Unmarshal(body, &lirra) 4809 return lirra, err 4810 default: 4811 var lirt LinkedIntegrationRuntimeType 4812 err := json.Unmarshal(body, &lirt) 4813 return lirt, err 4814 } 4815} 4816func unmarshalBasicLinkedIntegrationRuntimeTypeArray(body []byte) ([]BasicLinkedIntegrationRuntimeType, error) { 4817 var rawMessages []*json.RawMessage 4818 err := json.Unmarshal(body, &rawMessages) 4819 if err != nil { 4820 return nil, err 4821 } 4822 4823 lirtArray := make([]BasicLinkedIntegrationRuntimeType, len(rawMessages)) 4824 4825 for index, rawMessage := range rawMessages { 4826 lirt, err := unmarshalBasicLinkedIntegrationRuntimeType(*rawMessage) 4827 if err != nil { 4828 return nil, err 4829 } 4830 lirtArray[index] = lirt 4831 } 4832 return lirtArray, nil 4833} 4834 4835// MarshalJSON is the custom marshaler for LinkedIntegrationRuntimeType. 4836func (lirt LinkedIntegrationRuntimeType) MarshalJSON() ([]byte, error) { 4837 lirt.AuthorizationType = AuthorizationTypeLinkedIntegrationRuntimeType 4838 objectMap := make(map[string]interface{}) 4839 if lirt.AuthorizationType != "" { 4840 objectMap["authorizationType"] = lirt.AuthorizationType 4841 } 4842 return json.Marshal(objectMap) 4843} 4844 4845// AsLinkedIntegrationRuntimeKeyAuthorization is the BasicLinkedIntegrationRuntimeType implementation for LinkedIntegrationRuntimeType. 4846func (lirt LinkedIntegrationRuntimeType) AsLinkedIntegrationRuntimeKeyAuthorization() (*LinkedIntegrationRuntimeKeyAuthorization, bool) { 4847 return nil, false 4848} 4849 4850// AsLinkedIntegrationRuntimeRbacAuthorization is the BasicLinkedIntegrationRuntimeType implementation for LinkedIntegrationRuntimeType. 4851func (lirt LinkedIntegrationRuntimeType) AsLinkedIntegrationRuntimeRbacAuthorization() (*LinkedIntegrationRuntimeRbacAuthorization, bool) { 4852 return nil, false 4853} 4854 4855// AsLinkedIntegrationRuntimeType is the BasicLinkedIntegrationRuntimeType implementation for LinkedIntegrationRuntimeType. 4856func (lirt LinkedIntegrationRuntimeType) AsLinkedIntegrationRuntimeType() (*LinkedIntegrationRuntimeType, bool) { 4857 return &lirt, true 4858} 4859 4860// AsBasicLinkedIntegrationRuntimeType is the BasicLinkedIntegrationRuntimeType implementation for LinkedIntegrationRuntimeType. 4861func (lirt LinkedIntegrationRuntimeType) AsBasicLinkedIntegrationRuntimeType() (BasicLinkedIntegrationRuntimeType, bool) { 4862 return &lirt, true 4863} 4864 4865// ListAvailableRpOperation ... 4866type ListAvailableRpOperation struct { 4867 autorest.Response `json:"-"` 4868 Value *[]AvailableRpOperation `json:"value,omitempty"` 4869} 4870 4871// ListSQLPoolSecurityAlertPolicies a list of SQL pool security alert policies. 4872type ListSQLPoolSecurityAlertPolicies struct { 4873 autorest.Response `json:"-"` 4874 // Value - READ-ONLY; Array of results. 4875 Value *[]SQLPoolSecurityAlertPolicy `json:"value,omitempty"` 4876 // NextLink - READ-ONLY; Link to retrieve next page of results. 4877 NextLink *string `json:"nextLink,omitempty"` 4878} 4879 4880// MarshalJSON is the custom marshaler for ListSQLPoolSecurityAlertPolicies. 4881func (lspsap ListSQLPoolSecurityAlertPolicies) MarshalJSON() ([]byte, error) { 4882 objectMap := make(map[string]interface{}) 4883 return json.Marshal(objectMap) 4884} 4885 4886// ListSQLPoolSecurityAlertPoliciesIterator provides access to a complete listing of 4887// SQLPoolSecurityAlertPolicy values. 4888type ListSQLPoolSecurityAlertPoliciesIterator struct { 4889 i int 4890 page ListSQLPoolSecurityAlertPoliciesPage 4891} 4892 4893// NextWithContext advances to the next value. If there was an error making 4894// the request the iterator does not advance and the error is returned. 4895func (iter *ListSQLPoolSecurityAlertPoliciesIterator) NextWithContext(ctx context.Context) (err error) { 4896 if tracing.IsEnabled() { 4897 ctx = tracing.StartSpan(ctx, fqdn+"/ListSQLPoolSecurityAlertPoliciesIterator.NextWithContext") 4898 defer func() { 4899 sc := -1 4900 if iter.Response().Response.Response != nil { 4901 sc = iter.Response().Response.Response.StatusCode 4902 } 4903 tracing.EndSpan(ctx, sc, err) 4904 }() 4905 } 4906 iter.i++ 4907 if iter.i < len(iter.page.Values()) { 4908 return nil 4909 } 4910 err = iter.page.NextWithContext(ctx) 4911 if err != nil { 4912 iter.i-- 4913 return err 4914 } 4915 iter.i = 0 4916 return nil 4917} 4918 4919// Next advances to the next value. If there was an error making 4920// the request the iterator does not advance and the error is returned. 4921// Deprecated: Use NextWithContext() instead. 4922func (iter *ListSQLPoolSecurityAlertPoliciesIterator) Next() error { 4923 return iter.NextWithContext(context.Background()) 4924} 4925 4926// NotDone returns true if the enumeration should be started or is not yet complete. 4927func (iter ListSQLPoolSecurityAlertPoliciesIterator) NotDone() bool { 4928 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 4929} 4930 4931// Response returns the raw server response from the last page request. 4932func (iter ListSQLPoolSecurityAlertPoliciesIterator) Response() ListSQLPoolSecurityAlertPolicies { 4933 return iter.page.Response() 4934} 4935 4936// Value returns the current value or a zero-initialized value if the 4937// iterator has advanced beyond the end of the collection. 4938func (iter ListSQLPoolSecurityAlertPoliciesIterator) Value() SQLPoolSecurityAlertPolicy { 4939 if !iter.page.NotDone() { 4940 return SQLPoolSecurityAlertPolicy{} 4941 } 4942 return iter.page.Values()[iter.i] 4943} 4944 4945// Creates a new instance of the ListSQLPoolSecurityAlertPoliciesIterator type. 4946func NewListSQLPoolSecurityAlertPoliciesIterator(page ListSQLPoolSecurityAlertPoliciesPage) ListSQLPoolSecurityAlertPoliciesIterator { 4947 return ListSQLPoolSecurityAlertPoliciesIterator{page: page} 4948} 4949 4950// IsEmpty returns true if the ListResult contains no values. 4951func (lspsap ListSQLPoolSecurityAlertPolicies) IsEmpty() bool { 4952 return lspsap.Value == nil || len(*lspsap.Value) == 0 4953} 4954 4955// hasNextLink returns true if the NextLink is not empty. 4956func (lspsap ListSQLPoolSecurityAlertPolicies) hasNextLink() bool { 4957 return lspsap.NextLink != nil && len(*lspsap.NextLink) != 0 4958} 4959 4960// listSQLPoolSecurityAlertPoliciesPreparer prepares a request to retrieve the next set of results. 4961// It returns nil if no more results exist. 4962func (lspsap ListSQLPoolSecurityAlertPolicies) listSQLPoolSecurityAlertPoliciesPreparer(ctx context.Context) (*http.Request, error) { 4963 if !lspsap.hasNextLink() { 4964 return nil, nil 4965 } 4966 return autorest.Prepare((&http.Request{}).WithContext(ctx), 4967 autorest.AsJSON(), 4968 autorest.AsGet(), 4969 autorest.WithBaseURL(to.String(lspsap.NextLink))) 4970} 4971 4972// ListSQLPoolSecurityAlertPoliciesPage contains a page of SQLPoolSecurityAlertPolicy values. 4973type ListSQLPoolSecurityAlertPoliciesPage struct { 4974 fn func(context.Context, ListSQLPoolSecurityAlertPolicies) (ListSQLPoolSecurityAlertPolicies, error) 4975 lspsap ListSQLPoolSecurityAlertPolicies 4976} 4977 4978// NextWithContext advances to the next page of values. If there was an error making 4979// the request the page does not advance and the error is returned. 4980func (page *ListSQLPoolSecurityAlertPoliciesPage) NextWithContext(ctx context.Context) (err error) { 4981 if tracing.IsEnabled() { 4982 ctx = tracing.StartSpan(ctx, fqdn+"/ListSQLPoolSecurityAlertPoliciesPage.NextWithContext") 4983 defer func() { 4984 sc := -1 4985 if page.Response().Response.Response != nil { 4986 sc = page.Response().Response.Response.StatusCode 4987 } 4988 tracing.EndSpan(ctx, sc, err) 4989 }() 4990 } 4991 for { 4992 next, err := page.fn(ctx, page.lspsap) 4993 if err != nil { 4994 return err 4995 } 4996 page.lspsap = next 4997 if !next.hasNextLink() || !next.IsEmpty() { 4998 break 4999 } 5000 } 5001 return nil 5002} 5003 5004// Next advances to the next page of values. If there was an error making 5005// the request the page does not advance and the error is returned. 5006// Deprecated: Use NextWithContext() instead. 5007func (page *ListSQLPoolSecurityAlertPoliciesPage) Next() error { 5008 return page.NextWithContext(context.Background()) 5009} 5010 5011// NotDone returns true if the page enumeration should be started or is not yet complete. 5012func (page ListSQLPoolSecurityAlertPoliciesPage) NotDone() bool { 5013 return !page.lspsap.IsEmpty() 5014} 5015 5016// Response returns the raw server response from the last page request. 5017func (page ListSQLPoolSecurityAlertPoliciesPage) Response() ListSQLPoolSecurityAlertPolicies { 5018 return page.lspsap 5019} 5020 5021// Values returns the slice of values for the current page or nil if there are no values. 5022func (page ListSQLPoolSecurityAlertPoliciesPage) Values() []SQLPoolSecurityAlertPolicy { 5023 if page.lspsap.IsEmpty() { 5024 return nil 5025 } 5026 return *page.lspsap.Value 5027} 5028 5029// Creates a new instance of the ListSQLPoolSecurityAlertPoliciesPage type. 5030func NewListSQLPoolSecurityAlertPoliciesPage(cur ListSQLPoolSecurityAlertPolicies, getNextPage func(context.Context, ListSQLPoolSecurityAlertPolicies) (ListSQLPoolSecurityAlertPolicies, error)) ListSQLPoolSecurityAlertPoliciesPage { 5031 return ListSQLPoolSecurityAlertPoliciesPage{ 5032 fn: getNextPage, 5033 lspsap: cur, 5034 } 5035} 5036 5037// ManagedIdentity the workspace managed identity 5038type ManagedIdentity struct { 5039 // PrincipalID - READ-ONLY; The principal ID of the workspace managed identity 5040 PrincipalID *string `json:"principalId,omitempty"` 5041 // TenantID - READ-ONLY; The tenant ID of the workspace managed identity 5042 TenantID *uuid.UUID `json:"tenantId,omitempty"` 5043 // Type - The type of managed identity for the workspace. Possible values include: 'ResourceIdentityTypeNone', 'ResourceIdentityTypeSystemAssigned' 5044 Type ResourceIdentityType `json:"type,omitempty"` 5045} 5046 5047// MarshalJSON is the custom marshaler for ManagedIdentity. 5048func (mi ManagedIdentity) MarshalJSON() ([]byte, error) { 5049 objectMap := make(map[string]interface{}) 5050 if mi.Type != "" { 5051 objectMap["type"] = mi.Type 5052 } 5053 return json.Marshal(objectMap) 5054} 5055 5056// ManagedIdentitySQLControlSettingsModel sql Control Settings for workspace managed identity 5057type ManagedIdentitySQLControlSettingsModel struct { 5058 autorest.Response `json:"-"` 5059 // ManagedIdentitySQLControlSettingsModelProperties - Sql Control Settings for workspace managed identity 5060 *ManagedIdentitySQLControlSettingsModelProperties `json:"properties,omitempty"` 5061 // ID - READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} 5062 ID *string `json:"id,omitempty"` 5063 // Name - READ-ONLY; The name of the resource 5064 Name *string `json:"name,omitempty"` 5065 // Type - READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" 5066 Type *string `json:"type,omitempty"` 5067} 5068 5069// MarshalJSON is the custom marshaler for ManagedIdentitySQLControlSettingsModel. 5070func (miscsm ManagedIdentitySQLControlSettingsModel) MarshalJSON() ([]byte, error) { 5071 objectMap := make(map[string]interface{}) 5072 if miscsm.ManagedIdentitySQLControlSettingsModelProperties != nil { 5073 objectMap["properties"] = miscsm.ManagedIdentitySQLControlSettingsModelProperties 5074 } 5075 return json.Marshal(objectMap) 5076} 5077 5078// UnmarshalJSON is the custom unmarshaler for ManagedIdentitySQLControlSettingsModel struct. 5079func (miscsm *ManagedIdentitySQLControlSettingsModel) UnmarshalJSON(body []byte) error { 5080 var m map[string]*json.RawMessage 5081 err := json.Unmarshal(body, &m) 5082 if err != nil { 5083 return err 5084 } 5085 for k, v := range m { 5086 switch k { 5087 case "properties": 5088 if v != nil { 5089 var managedIdentitySQLControlSettingsModelProperties ManagedIdentitySQLControlSettingsModelProperties 5090 err = json.Unmarshal(*v, &managedIdentitySQLControlSettingsModelProperties) 5091 if err != nil { 5092 return err 5093 } 5094 miscsm.ManagedIdentitySQLControlSettingsModelProperties = &managedIdentitySQLControlSettingsModelProperties 5095 } 5096 case "id": 5097 if v != nil { 5098 var ID string 5099 err = json.Unmarshal(*v, &ID) 5100 if err != nil { 5101 return err 5102 } 5103 miscsm.ID = &ID 5104 } 5105 case "name": 5106 if v != nil { 5107 var name string 5108 err = json.Unmarshal(*v, &name) 5109 if err != nil { 5110 return err 5111 } 5112 miscsm.Name = &name 5113 } 5114 case "type": 5115 if v != nil { 5116 var typeVar string 5117 err = json.Unmarshal(*v, &typeVar) 5118 if err != nil { 5119 return err 5120 } 5121 miscsm.Type = &typeVar 5122 } 5123 } 5124 } 5125 5126 return nil 5127} 5128 5129// ManagedIdentitySQLControlSettingsModelProperties sql Control Settings for workspace managed identity 5130type ManagedIdentitySQLControlSettingsModelProperties struct { 5131 // GrantSQLControlToManagedIdentity - Grant sql control to managed identity 5132 GrantSQLControlToManagedIdentity *ManagedIdentitySQLControlSettingsModelPropertiesGrantSQLControlToManagedIdentity `json:"grantSqlControlToManagedIdentity,omitempty"` 5133} 5134 5135// ManagedIdentitySQLControlSettingsModelPropertiesGrantSQLControlToManagedIdentity grant sql control to 5136// managed identity 5137type ManagedIdentitySQLControlSettingsModelPropertiesGrantSQLControlToManagedIdentity struct { 5138 // DesiredState - Desired state. Possible values include: 'DesiredStateEnabled', 'DesiredStateDisabled' 5139 DesiredState DesiredState `json:"desiredState,omitempty"` 5140 // ActualState - READ-ONLY; Actual state. Possible values include: 'Enabling', 'Enabled', 'Disabling', 'Disabled', 'Unknown' 5141 ActualState ActualState `json:"actualState,omitempty"` 5142} 5143 5144// MarshalJSON is the custom marshaler for ManagedIdentitySQLControlSettingsModelPropertiesGrantSQLControlToManagedIdentity. 5145func (miscsmSctmi ManagedIdentitySQLControlSettingsModelPropertiesGrantSQLControlToManagedIdentity) MarshalJSON() ([]byte, error) { 5146 objectMap := make(map[string]interface{}) 5147 if miscsmSctmi.DesiredState != "" { 5148 objectMap["desiredState"] = miscsmSctmi.DesiredState 5149 } 5150 return json.Marshal(objectMap) 5151} 5152 5153// ManagedIntegrationRuntime managed integration runtime, including managed elastic and managed dedicated 5154// integration runtimes. 5155type ManagedIntegrationRuntime struct { 5156 // State - READ-ONLY; Integration runtime state, only valid for managed dedicated integration runtime. Possible values include: 'Initial', 'Stopped', 'Started', 'Starting', 'Stopping', 'NeedRegistration', 'Online', 'Limited', 'Offline', 'AccessDenied' 5157 State IntegrationRuntimeState `json:"state,omitempty"` 5158 // ManagedIntegrationRuntimeTypeProperties - Managed integration runtime properties. 5159 *ManagedIntegrationRuntimeTypeProperties `json:"typeProperties,omitempty"` 5160 // AdditionalProperties - Unmatched properties from the message are deserialized this collection 5161 AdditionalProperties map[string]interface{} `json:""` 5162 // Description - Integration runtime description. 5163 Description *string `json:"description,omitempty"` 5164 // Type - Possible values include: 'TypeIntegrationRuntime', 'TypeManaged', 'TypeSelfHosted' 5165 Type Type `json:"type,omitempty"` 5166} 5167 5168// MarshalJSON is the custom marshaler for ManagedIntegrationRuntime. 5169func (mir ManagedIntegrationRuntime) MarshalJSON() ([]byte, error) { 5170 mir.Type = TypeManaged 5171 objectMap := make(map[string]interface{}) 5172 if mir.ManagedIntegrationRuntimeTypeProperties != nil { 5173 objectMap["typeProperties"] = mir.ManagedIntegrationRuntimeTypeProperties 5174 } 5175 if mir.Description != nil { 5176 objectMap["description"] = mir.Description 5177 } 5178 if mir.Type != "" { 5179 objectMap["type"] = mir.Type 5180 } 5181 for k, v := range mir.AdditionalProperties { 5182 objectMap[k] = v 5183 } 5184 return json.Marshal(objectMap) 5185} 5186 5187// AsManagedIntegrationRuntime is the BasicIntegrationRuntime implementation for ManagedIntegrationRuntime. 5188func (mir ManagedIntegrationRuntime) AsManagedIntegrationRuntime() (*ManagedIntegrationRuntime, bool) { 5189 return &mir, true 5190} 5191 5192// AsSelfHostedIntegrationRuntime is the BasicIntegrationRuntime implementation for ManagedIntegrationRuntime. 5193func (mir ManagedIntegrationRuntime) AsSelfHostedIntegrationRuntime() (*SelfHostedIntegrationRuntime, bool) { 5194 return nil, false 5195} 5196 5197// AsIntegrationRuntime is the BasicIntegrationRuntime implementation for ManagedIntegrationRuntime. 5198func (mir ManagedIntegrationRuntime) AsIntegrationRuntime() (*IntegrationRuntime, bool) { 5199 return nil, false 5200} 5201 5202// AsBasicIntegrationRuntime is the BasicIntegrationRuntime implementation for ManagedIntegrationRuntime. 5203func (mir ManagedIntegrationRuntime) AsBasicIntegrationRuntime() (BasicIntegrationRuntime, bool) { 5204 return &mir, true 5205} 5206 5207// UnmarshalJSON is the custom unmarshaler for ManagedIntegrationRuntime struct. 5208func (mir *ManagedIntegrationRuntime) UnmarshalJSON(body []byte) error { 5209 var m map[string]*json.RawMessage 5210 err := json.Unmarshal(body, &m) 5211 if err != nil { 5212 return err 5213 } 5214 for k, v := range m { 5215 switch k { 5216 case "state": 5217 if v != nil { 5218 var state IntegrationRuntimeState 5219 err = json.Unmarshal(*v, &state) 5220 if err != nil { 5221 return err 5222 } 5223 mir.State = state 5224 } 5225 case "typeProperties": 5226 if v != nil { 5227 var managedIntegrationRuntimeTypeProperties ManagedIntegrationRuntimeTypeProperties 5228 err = json.Unmarshal(*v, &managedIntegrationRuntimeTypeProperties) 5229 if err != nil { 5230 return err 5231 } 5232 mir.ManagedIntegrationRuntimeTypeProperties = &managedIntegrationRuntimeTypeProperties 5233 } 5234 default: 5235 if v != nil { 5236 var additionalProperties interface{} 5237 err = json.Unmarshal(*v, &additionalProperties) 5238 if err != nil { 5239 return err 5240 } 5241 if mir.AdditionalProperties == nil { 5242 mir.AdditionalProperties = make(map[string]interface{}) 5243 } 5244 mir.AdditionalProperties[k] = additionalProperties 5245 } 5246 case "description": 5247 if v != nil { 5248 var description string 5249 err = json.Unmarshal(*v, &description) 5250 if err != nil { 5251 return err 5252 } 5253 mir.Description = &description 5254 } 5255 case "type": 5256 if v != nil { 5257 var typeVar Type 5258 err = json.Unmarshal(*v, &typeVar) 5259 if err != nil { 5260 return err 5261 } 5262 mir.Type = typeVar 5263 } 5264 } 5265 } 5266 5267 return nil 5268} 5269 5270// ManagedIntegrationRuntimeError error definition for managed integration runtime. 5271type ManagedIntegrationRuntimeError struct { 5272 // Time - READ-ONLY; The time when the error occurred. 5273 Time *date.Time `json:"time,omitempty"` 5274 // Code - READ-ONLY; Error code. 5275 Code *string `json:"code,omitempty"` 5276 // Parameters - READ-ONLY; Managed integration runtime error parameters. 5277 Parameters *[]string `json:"parameters,omitempty"` 5278 // Message - READ-ONLY; Error message. 5279 Message *string `json:"message,omitempty"` 5280} 5281 5282// MarshalJSON is the custom marshaler for ManagedIntegrationRuntimeError. 5283func (mire ManagedIntegrationRuntimeError) MarshalJSON() ([]byte, error) { 5284 objectMap := make(map[string]interface{}) 5285 return json.Marshal(objectMap) 5286} 5287 5288// ManagedIntegrationRuntimeNode properties of integration runtime node. 5289type ManagedIntegrationRuntimeNode struct { 5290 // NodeID - READ-ONLY; The managed integration runtime node id. 5291 NodeID *string `json:"nodeId,omitempty"` 5292 // Status - READ-ONLY; The managed integration runtime node status. Possible values include: 'ManagedIntegrationRuntimeNodeStatusStarting', 'ManagedIntegrationRuntimeNodeStatusAvailable', 'ManagedIntegrationRuntimeNodeStatusRecycling', 'ManagedIntegrationRuntimeNodeStatusUnavailable' 5293 Status ManagedIntegrationRuntimeNodeStatus `json:"status,omitempty"` 5294 // Errors - The errors that occurred on this integration runtime node. 5295 Errors *[]ManagedIntegrationRuntimeError `json:"errors,omitempty"` 5296} 5297 5298// MarshalJSON is the custom marshaler for ManagedIntegrationRuntimeNode. 5299func (mirn ManagedIntegrationRuntimeNode) MarshalJSON() ([]byte, error) { 5300 objectMap := make(map[string]interface{}) 5301 if mirn.Errors != nil { 5302 objectMap["errors"] = mirn.Errors 5303 } 5304 return json.Marshal(objectMap) 5305} 5306 5307// ManagedIntegrationRuntimeOperationResult properties of managed integration runtime operation result. 5308type ManagedIntegrationRuntimeOperationResult struct { 5309 // Type - READ-ONLY; The operation type. Could be start or stop. 5310 Type *string `json:"type,omitempty"` 5311 // StartTime - READ-ONLY; The start time of the operation. 5312 StartTime *date.Time `json:"startTime,omitempty"` 5313 // Result - READ-ONLY; The operation result. 5314 Result *string `json:"result,omitempty"` 5315 // ErrorCode - READ-ONLY; The error code. 5316 ErrorCode *string `json:"errorCode,omitempty"` 5317 // Parameters - READ-ONLY; Managed integration runtime error parameters. 5318 Parameters *[]string `json:"parameters,omitempty"` 5319 // ActivityID - READ-ONLY; The activity id for the operation request. 5320 ActivityID *string `json:"activityId,omitempty"` 5321} 5322 5323// MarshalJSON is the custom marshaler for ManagedIntegrationRuntimeOperationResult. 5324func (miror ManagedIntegrationRuntimeOperationResult) MarshalJSON() ([]byte, error) { 5325 objectMap := make(map[string]interface{}) 5326 return json.Marshal(objectMap) 5327} 5328 5329// ManagedIntegrationRuntimeStatus managed integration runtime status. 5330type ManagedIntegrationRuntimeStatus struct { 5331 // ManagedIntegrationRuntimeStatusTypeProperties - Managed integration runtime status type properties. 5332 *ManagedIntegrationRuntimeStatusTypeProperties `json:"typeProperties,omitempty"` 5333 // AdditionalProperties - Unmatched properties from the message are deserialized this collection 5334 AdditionalProperties map[string]interface{} `json:""` 5335 // DataFactoryName - READ-ONLY; The workspace name which the integration runtime belong to. 5336 DataFactoryName *string `json:"dataFactoryName,omitempty"` 5337 // State - READ-ONLY; The state of integration runtime. Possible values include: 'Initial', 'Stopped', 'Started', 'Starting', 'Stopping', 'NeedRegistration', 'Online', 'Limited', 'Offline', 'AccessDenied' 5338 State IntegrationRuntimeState `json:"state,omitempty"` 5339 // Type - Possible values include: 'TypeBasicIntegrationRuntimeStatusTypeIntegrationRuntimeStatus', 'TypeBasicIntegrationRuntimeStatusTypeManaged', 'TypeBasicIntegrationRuntimeStatusTypeSelfHosted' 5340 Type TypeBasicIntegrationRuntimeStatus `json:"type,omitempty"` 5341} 5342 5343// MarshalJSON is the custom marshaler for ManagedIntegrationRuntimeStatus. 5344func (mirs ManagedIntegrationRuntimeStatus) MarshalJSON() ([]byte, error) { 5345 mirs.Type = TypeBasicIntegrationRuntimeStatusTypeManaged 5346 objectMap := make(map[string]interface{}) 5347 if mirs.ManagedIntegrationRuntimeStatusTypeProperties != nil { 5348 objectMap["typeProperties"] = mirs.ManagedIntegrationRuntimeStatusTypeProperties 5349 } 5350 if mirs.Type != "" { 5351 objectMap["type"] = mirs.Type 5352 } 5353 for k, v := range mirs.AdditionalProperties { 5354 objectMap[k] = v 5355 } 5356 return json.Marshal(objectMap) 5357} 5358 5359// AsManagedIntegrationRuntimeStatus is the BasicIntegrationRuntimeStatus implementation for ManagedIntegrationRuntimeStatus. 5360func (mirs ManagedIntegrationRuntimeStatus) AsManagedIntegrationRuntimeStatus() (*ManagedIntegrationRuntimeStatus, bool) { 5361 return &mirs, true 5362} 5363 5364// AsSelfHostedIntegrationRuntimeStatus is the BasicIntegrationRuntimeStatus implementation for ManagedIntegrationRuntimeStatus. 5365func (mirs ManagedIntegrationRuntimeStatus) AsSelfHostedIntegrationRuntimeStatus() (*SelfHostedIntegrationRuntimeStatus, bool) { 5366 return nil, false 5367} 5368 5369// AsIntegrationRuntimeStatus is the BasicIntegrationRuntimeStatus implementation for ManagedIntegrationRuntimeStatus. 5370func (mirs ManagedIntegrationRuntimeStatus) AsIntegrationRuntimeStatus() (*IntegrationRuntimeStatus, bool) { 5371 return nil, false 5372} 5373 5374// AsBasicIntegrationRuntimeStatus is the BasicIntegrationRuntimeStatus implementation for ManagedIntegrationRuntimeStatus. 5375func (mirs ManagedIntegrationRuntimeStatus) AsBasicIntegrationRuntimeStatus() (BasicIntegrationRuntimeStatus, bool) { 5376 return &mirs, true 5377} 5378 5379// UnmarshalJSON is the custom unmarshaler for ManagedIntegrationRuntimeStatus struct. 5380func (mirs *ManagedIntegrationRuntimeStatus) UnmarshalJSON(body []byte) error { 5381 var m map[string]*json.RawMessage 5382 err := json.Unmarshal(body, &m) 5383 if err != nil { 5384 return err 5385 } 5386 for k, v := range m { 5387 switch k { 5388 case "typeProperties": 5389 if v != nil { 5390 var managedIntegrationRuntimeStatusTypeProperties ManagedIntegrationRuntimeStatusTypeProperties 5391 err = json.Unmarshal(*v, &managedIntegrationRuntimeStatusTypeProperties) 5392 if err != nil { 5393 return err 5394 } 5395 mirs.ManagedIntegrationRuntimeStatusTypeProperties = &managedIntegrationRuntimeStatusTypeProperties 5396 } 5397 default: 5398 if v != nil { 5399 var additionalProperties interface{} 5400 err = json.Unmarshal(*v, &additionalProperties) 5401 if err != nil { 5402 return err 5403 } 5404 if mirs.AdditionalProperties == nil { 5405 mirs.AdditionalProperties = make(map[string]interface{}) 5406 } 5407 mirs.AdditionalProperties[k] = additionalProperties 5408 } 5409 case "dataFactoryName": 5410 if v != nil { 5411 var dataFactoryName string 5412 err = json.Unmarshal(*v, &dataFactoryName) 5413 if err != nil { 5414 return err 5415 } 5416 mirs.DataFactoryName = &dataFactoryName 5417 } 5418 case "state": 5419 if v != nil { 5420 var state IntegrationRuntimeState 5421 err = json.Unmarshal(*v, &state) 5422 if err != nil { 5423 return err 5424 } 5425 mirs.State = state 5426 } 5427 case "type": 5428 if v != nil { 5429 var typeVar TypeBasicIntegrationRuntimeStatus 5430 err = json.Unmarshal(*v, &typeVar) 5431 if err != nil { 5432 return err 5433 } 5434 mirs.Type = typeVar 5435 } 5436 } 5437 } 5438 5439 return nil 5440} 5441 5442// ManagedIntegrationRuntimeStatusTypeProperties managed integration runtime status type properties. 5443type ManagedIntegrationRuntimeStatusTypeProperties struct { 5444 // CreateTime - READ-ONLY; The time at which the integration runtime was created, in ISO8601 format. 5445 CreateTime *date.Time `json:"createTime,omitempty"` 5446 // Nodes - READ-ONLY; The list of nodes for managed integration runtime. 5447 Nodes *[]ManagedIntegrationRuntimeNode `json:"nodes,omitempty"` 5448 // OtherErrors - READ-ONLY; The errors that occurred on this integration runtime. 5449 OtherErrors *[]ManagedIntegrationRuntimeError `json:"otherErrors,omitempty"` 5450 // LastOperation - READ-ONLY; The last operation result that occurred on this integration runtime. 5451 LastOperation *ManagedIntegrationRuntimeOperationResult `json:"lastOperation,omitempty"` 5452} 5453 5454// MarshalJSON is the custom marshaler for ManagedIntegrationRuntimeStatusTypeProperties. 5455func (mirstp ManagedIntegrationRuntimeStatusTypeProperties) MarshalJSON() ([]byte, error) { 5456 objectMap := make(map[string]interface{}) 5457 return json.Marshal(objectMap) 5458} 5459 5460// ManagedIntegrationRuntimeTypeProperties managed integration runtime type properties. 5461type ManagedIntegrationRuntimeTypeProperties struct { 5462 // ComputeProperties - The compute resource for managed integration runtime. 5463 ComputeProperties *IntegrationRuntimeComputeProperties `json:"computeProperties,omitempty"` 5464 // SsisProperties - SSIS properties for managed integration runtime. 5465 SsisProperties *IntegrationRuntimeSsisProperties `json:"ssisProperties,omitempty"` 5466} 5467 5468// ManagedVirtualNetworkSettings managed Virtual Network Settings 5469type ManagedVirtualNetworkSettings struct { 5470 // PreventDataExfiltration - Prevent Data Exfiltration 5471 PreventDataExfiltration *bool `json:"preventDataExfiltration,omitempty"` 5472 // LinkedAccessCheckOnTargetResource - Linked Access Check On Target Resource 5473 LinkedAccessCheckOnTargetResource *bool `json:"linkedAccessCheckOnTargetResource,omitempty"` 5474 // AllowedAadTenantIdsForLinking - Allowed Aad Tenant Ids For Linking 5475 AllowedAadTenantIdsForLinking *[]string `json:"allowedAadTenantIdsForLinking,omitempty"` 5476} 5477 5478// MetadataSyncConfig configuration for metadata sync 5479type MetadataSyncConfig struct { 5480 autorest.Response `json:"-"` 5481 // MetadataSyncConfigProperties - Metadata Sync Config properties 5482 *MetadataSyncConfigProperties `json:"properties,omitempty"` 5483 // ID - READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} 5484 ID *string `json:"id,omitempty"` 5485 // Name - READ-ONLY; The name of the resource 5486 Name *string `json:"name,omitempty"` 5487 // Type - READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" 5488 Type *string `json:"type,omitempty"` 5489} 5490 5491// MarshalJSON is the custom marshaler for MetadataSyncConfig. 5492func (msc MetadataSyncConfig) MarshalJSON() ([]byte, error) { 5493 objectMap := make(map[string]interface{}) 5494 if msc.MetadataSyncConfigProperties != nil { 5495 objectMap["properties"] = msc.MetadataSyncConfigProperties 5496 } 5497 return json.Marshal(objectMap) 5498} 5499 5500// UnmarshalJSON is the custom unmarshaler for MetadataSyncConfig struct. 5501func (msc *MetadataSyncConfig) UnmarshalJSON(body []byte) error { 5502 var m map[string]*json.RawMessage 5503 err := json.Unmarshal(body, &m) 5504 if err != nil { 5505 return err 5506 } 5507 for k, v := range m { 5508 switch k { 5509 case "properties": 5510 if v != nil { 5511 var metadataSyncConfigProperties MetadataSyncConfigProperties 5512 err = json.Unmarshal(*v, &metadataSyncConfigProperties) 5513 if err != nil { 5514 return err 5515 } 5516 msc.MetadataSyncConfigProperties = &metadataSyncConfigProperties 5517 } 5518 case "id": 5519 if v != nil { 5520 var ID string 5521 err = json.Unmarshal(*v, &ID) 5522 if err != nil { 5523 return err 5524 } 5525 msc.ID = &ID 5526 } 5527 case "name": 5528 if v != nil { 5529 var name string 5530 err = json.Unmarshal(*v, &name) 5531 if err != nil { 5532 return err 5533 } 5534 msc.Name = &name 5535 } 5536 case "type": 5537 if v != nil { 5538 var typeVar string 5539 err = json.Unmarshal(*v, &typeVar) 5540 if err != nil { 5541 return err 5542 } 5543 msc.Type = &typeVar 5544 } 5545 } 5546 } 5547 5548 return nil 5549} 5550 5551// MetadataSyncConfigProperties metadata Sync Config properties 5552type MetadataSyncConfigProperties struct { 5553 // Enabled - Indicates whether the metadata sync is enabled or disabled 5554 Enabled *bool `json:"enabled,omitempty"` 5555 // SyncIntervalInMinutes - The Sync Interval in minutes. 5556 SyncIntervalInMinutes *int32 `json:"syncIntervalInMinutes,omitempty"` 5557} 5558 5559// OperationMetaLogSpecification what is this? 5560type OperationMetaLogSpecification struct { 5561 // DisplayName - Log display name 5562 DisplayName *string `json:"displayName,omitempty"` 5563 // BlobDuration - Time range the log covers 5564 BlobDuration *string `json:"blobDuration,omitempty"` 5565 // Name - Log unique name 5566 Name *string `json:"name,omitempty"` 5567} 5568 5569// OperationMetaMetricDimensionSpecification what is this? 5570type OperationMetaMetricDimensionSpecification struct { 5571 // DisplayName - Dimension display name 5572 DisplayName *string `json:"displayName,omitempty"` 5573 // Name - Dimension unique name 5574 Name *string `json:"name,omitempty"` 5575 // ToBeExportedForShoebox - Whether this metric should be exported for Shoebox 5576 ToBeExportedForShoebox *bool `json:"toBeExportedForShoebox,omitempty"` 5577} 5578 5579// OperationMetaMetricSpecification what is this? 5580type OperationMetaMetricSpecification struct { 5581 // SourceMdmNamespace - The source MDM namespace 5582 SourceMdmNamespace *string `json:"sourceMdmNamespace,omitempty"` 5583 // DisplayName - Metric display name 5584 DisplayName *string `json:"displayName,omitempty"` 5585 // Name - Metric unique name 5586 Name *string `json:"name,omitempty"` 5587 // AggregationType - Metric aggregation type 5588 AggregationType *string `json:"aggregationType,omitempty"` 5589 // DisplayDescription - Metric description 5590 DisplayDescription *string `json:"displayDescription,omitempty"` 5591 // SourceMdmAccount - The source MDM account 5592 SourceMdmAccount *string `json:"sourceMdmAccount,omitempty"` 5593 // EnableRegionalMdmAccount - Whether the regional MDM account is enabled 5594 EnableRegionalMdmAccount *bool `json:"enableRegionalMdmAccount,omitempty"` 5595 // Unit - Metric units 5596 Unit *string `json:"unit,omitempty"` 5597 // Dimensions - Metric dimensions 5598 Dimensions *[]OperationMetaMetricDimensionSpecification `json:"dimensions,omitempty"` 5599 // SupportsInstanceLevelAggregation - Whether the metric supports instance-level aggregation 5600 SupportsInstanceLevelAggregation *bool `json:"supportsInstanceLevelAggregation,omitempty"` 5601 // MetricFilterPattern - Metric filter 5602 MetricFilterPattern *string `json:"metricFilterPattern,omitempty"` 5603} 5604 5605// OperationMetaPropertyInfo what is this? 5606type OperationMetaPropertyInfo struct { 5607 // ServiceSpecification - Operation service specification 5608 ServiceSpecification *OperationMetaServiceSpecification `json:"serviceSpecification,omitempty"` 5609} 5610 5611// OperationMetaServiceSpecification what is this? 5612type OperationMetaServiceSpecification struct { 5613 // MetricSpecifications - Service metric specifications 5614 MetricSpecifications *[]OperationMetaMetricSpecification `json:"metricSpecifications,omitempty"` 5615 // LogSpecifications - Service log specifications 5616 LogSpecifications *[]OperationMetaLogSpecification `json:"logSpecifications,omitempty"` 5617} 5618 5619// OperationResource an operation 5620type OperationResource struct { 5621 autorest.Response `json:"-"` 5622 // ID - Operation ID 5623 ID *string `json:"id,omitempty"` 5624 // Name - Operation name 5625 Name *string `json:"name,omitempty"` 5626 // Status - Operation status. Possible values include: 'OperationStatusInProgress', 'OperationStatusSucceeded', 'OperationStatusFailed', 'OperationStatusCanceled' 5627 Status OperationStatus `json:"status,omitempty"` 5628 // Properties - Operation properties 5629 Properties interface{} `json:"properties,omitempty"` 5630 // Error - Errors from the operation 5631 Error *ErrorDetail `json:"error,omitempty"` 5632 // StartTime - Operation start time 5633 StartTime *date.Time `json:"startTime,omitempty"` 5634 // EndTime - Operation start time 5635 EndTime *date.Time `json:"endTime,omitempty"` 5636 // PercentComplete - Completion percentage of the operation 5637 PercentComplete *float64 `json:"percentComplete,omitempty"` 5638} 5639 5640// PrivateEndpoint private endpoint details 5641type PrivateEndpoint struct { 5642 // ID - READ-ONLY; Resource id of the private endpoint. 5643 ID *string `json:"id,omitempty"` 5644} 5645 5646// MarshalJSON is the custom marshaler for PrivateEndpoint. 5647func (peVar PrivateEndpoint) MarshalJSON() ([]byte, error) { 5648 objectMap := make(map[string]interface{}) 5649 return json.Marshal(objectMap) 5650} 5651 5652// PrivateEndpointConnection a private endpoint connection 5653type PrivateEndpointConnection struct { 5654 autorest.Response `json:"-"` 5655 // PrivateEndpointConnectionProperties - Private endpoint connection properties. 5656 *PrivateEndpointConnectionProperties `json:"properties,omitempty"` 5657 // ID - READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} 5658 ID *string `json:"id,omitempty"` 5659 // Name - READ-ONLY; The name of the resource 5660 Name *string `json:"name,omitempty"` 5661 // Type - READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" 5662 Type *string `json:"type,omitempty"` 5663} 5664 5665// MarshalJSON is the custom marshaler for PrivateEndpointConnection. 5666func (pec PrivateEndpointConnection) MarshalJSON() ([]byte, error) { 5667 objectMap := make(map[string]interface{}) 5668 if pec.PrivateEndpointConnectionProperties != nil { 5669 objectMap["properties"] = pec.PrivateEndpointConnectionProperties 5670 } 5671 return json.Marshal(objectMap) 5672} 5673 5674// UnmarshalJSON is the custom unmarshaler for PrivateEndpointConnection struct. 5675func (pec *PrivateEndpointConnection) UnmarshalJSON(body []byte) error { 5676 var m map[string]*json.RawMessage 5677 err := json.Unmarshal(body, &m) 5678 if err != nil { 5679 return err 5680 } 5681 for k, v := range m { 5682 switch k { 5683 case "properties": 5684 if v != nil { 5685 var privateEndpointConnectionProperties PrivateEndpointConnectionProperties 5686 err = json.Unmarshal(*v, &privateEndpointConnectionProperties) 5687 if err != nil { 5688 return err 5689 } 5690 pec.PrivateEndpointConnectionProperties = &privateEndpointConnectionProperties 5691 } 5692 case "id": 5693 if v != nil { 5694 var ID string 5695 err = json.Unmarshal(*v, &ID) 5696 if err != nil { 5697 return err 5698 } 5699 pec.ID = &ID 5700 } 5701 case "name": 5702 if v != nil { 5703 var name string 5704 err = json.Unmarshal(*v, &name) 5705 if err != nil { 5706 return err 5707 } 5708 pec.Name = &name 5709 } 5710 case "type": 5711 if v != nil { 5712 var typeVar string 5713 err = json.Unmarshal(*v, &typeVar) 5714 if err != nil { 5715 return err 5716 } 5717 pec.Type = &typeVar 5718 } 5719 } 5720 } 5721 5722 return nil 5723} 5724 5725// PrivateEndpointConnectionForPrivateLinkHub ... 5726type PrivateEndpointConnectionForPrivateLinkHub struct { 5727 Name *string `json:"name,omitempty"` 5728 Type *string `json:"type,omitempty"` 5729 // ID - READ-ONLY; identifier 5730 ID *string `json:"id,omitempty"` 5731 // PrivateEndpointConnectionProperties - Properties of private endpoint connection for private link hub 5732 *PrivateEndpointConnectionProperties `json:"properties,omitempty"` 5733} 5734 5735// MarshalJSON is the custom marshaler for PrivateEndpointConnectionForPrivateLinkHub. 5736func (pecfplh PrivateEndpointConnectionForPrivateLinkHub) MarshalJSON() ([]byte, error) { 5737 objectMap := make(map[string]interface{}) 5738 if pecfplh.Name != nil { 5739 objectMap["name"] = pecfplh.Name 5740 } 5741 if pecfplh.Type != nil { 5742 objectMap["type"] = pecfplh.Type 5743 } 5744 if pecfplh.PrivateEndpointConnectionProperties != nil { 5745 objectMap["properties"] = pecfplh.PrivateEndpointConnectionProperties 5746 } 5747 return json.Marshal(objectMap) 5748} 5749 5750// UnmarshalJSON is the custom unmarshaler for PrivateEndpointConnectionForPrivateLinkHub struct. 5751func (pecfplh *PrivateEndpointConnectionForPrivateLinkHub) UnmarshalJSON(body []byte) error { 5752 var m map[string]*json.RawMessage 5753 err := json.Unmarshal(body, &m) 5754 if err != nil { 5755 return err 5756 } 5757 for k, v := range m { 5758 switch k { 5759 case "name": 5760 if v != nil { 5761 var name string 5762 err = json.Unmarshal(*v, &name) 5763 if err != nil { 5764 return err 5765 } 5766 pecfplh.Name = &name 5767 } 5768 case "type": 5769 if v != nil { 5770 var typeVar string 5771 err = json.Unmarshal(*v, &typeVar) 5772 if err != nil { 5773 return err 5774 } 5775 pecfplh.Type = &typeVar 5776 } 5777 case "id": 5778 if v != nil { 5779 var ID string 5780 err = json.Unmarshal(*v, &ID) 5781 if err != nil { 5782 return err 5783 } 5784 pecfplh.ID = &ID 5785 } 5786 case "properties": 5787 if v != nil { 5788 var privateEndpointConnectionProperties PrivateEndpointConnectionProperties 5789 err = json.Unmarshal(*v, &privateEndpointConnectionProperties) 5790 if err != nil { 5791 return err 5792 } 5793 pecfplh.PrivateEndpointConnectionProperties = &privateEndpointConnectionProperties 5794 } 5795 } 5796 } 5797 5798 return nil 5799} 5800 5801// PrivateEndpointConnectionForPrivateLinkHubBasic private Endpoint Connection For Private Link Hub - Basic 5802type PrivateEndpointConnectionForPrivateLinkHubBasic struct { 5803 // ID - READ-ONLY; identifier 5804 ID *string `json:"id,omitempty"` 5805 // PrivateEndpointConnectionProperties - Properties of private endpoint connection for private link hub 5806 *PrivateEndpointConnectionProperties `json:"properties,omitempty"` 5807} 5808 5809// MarshalJSON is the custom marshaler for PrivateEndpointConnectionForPrivateLinkHubBasic. 5810func (pecfplhb PrivateEndpointConnectionForPrivateLinkHubBasic) MarshalJSON() ([]byte, error) { 5811 objectMap := make(map[string]interface{}) 5812 if pecfplhb.PrivateEndpointConnectionProperties != nil { 5813 objectMap["properties"] = pecfplhb.PrivateEndpointConnectionProperties 5814 } 5815 return json.Marshal(objectMap) 5816} 5817 5818// UnmarshalJSON is the custom unmarshaler for PrivateEndpointConnectionForPrivateLinkHubBasic struct. 5819func (pecfplhb *PrivateEndpointConnectionForPrivateLinkHubBasic) UnmarshalJSON(body []byte) error { 5820 var m map[string]*json.RawMessage 5821 err := json.Unmarshal(body, &m) 5822 if err != nil { 5823 return err 5824 } 5825 for k, v := range m { 5826 switch k { 5827 case "id": 5828 if v != nil { 5829 var ID string 5830 err = json.Unmarshal(*v, &ID) 5831 if err != nil { 5832 return err 5833 } 5834 pecfplhb.ID = &ID 5835 } 5836 case "properties": 5837 if v != nil { 5838 var privateEndpointConnectionProperties PrivateEndpointConnectionProperties 5839 err = json.Unmarshal(*v, &privateEndpointConnectionProperties) 5840 if err != nil { 5841 return err 5842 } 5843 pecfplhb.PrivateEndpointConnectionProperties = &privateEndpointConnectionProperties 5844 } 5845 } 5846 } 5847 5848 return nil 5849} 5850 5851// PrivateEndpointConnectionForPrivateLinkHubResourceCollectionResponse ... 5852type PrivateEndpointConnectionForPrivateLinkHubResourceCollectionResponse struct { 5853 autorest.Response `json:"-"` 5854 Value *[]PrivateEndpointConnectionForPrivateLinkHub `json:"value,omitempty"` 5855 NextLink *string `json:"nextLink,omitempty"` 5856} 5857 5858// PrivateEndpointConnectionForPrivateLinkHubResourceCollectionResponseIterator provides access to a 5859// complete listing of PrivateEndpointConnectionForPrivateLinkHub values. 5860type PrivateEndpointConnectionForPrivateLinkHubResourceCollectionResponseIterator struct { 5861 i int 5862 page PrivateEndpointConnectionForPrivateLinkHubResourceCollectionResponsePage 5863} 5864 5865// NextWithContext advances to the next value. If there was an error making 5866// the request the iterator does not advance and the error is returned. 5867func (iter *PrivateEndpointConnectionForPrivateLinkHubResourceCollectionResponseIterator) NextWithContext(ctx context.Context) (err error) { 5868 if tracing.IsEnabled() { 5869 ctx = tracing.StartSpan(ctx, fqdn+"/PrivateEndpointConnectionForPrivateLinkHubResourceCollectionResponseIterator.NextWithContext") 5870 defer func() { 5871 sc := -1 5872 if iter.Response().Response.Response != nil { 5873 sc = iter.Response().Response.Response.StatusCode 5874 } 5875 tracing.EndSpan(ctx, sc, err) 5876 }() 5877 } 5878 iter.i++ 5879 if iter.i < len(iter.page.Values()) { 5880 return nil 5881 } 5882 err = iter.page.NextWithContext(ctx) 5883 if err != nil { 5884 iter.i-- 5885 return err 5886 } 5887 iter.i = 0 5888 return nil 5889} 5890 5891// Next advances to the next value. If there was an error making 5892// the request the iterator does not advance and the error is returned. 5893// Deprecated: Use NextWithContext() instead. 5894func (iter *PrivateEndpointConnectionForPrivateLinkHubResourceCollectionResponseIterator) Next() error { 5895 return iter.NextWithContext(context.Background()) 5896} 5897 5898// NotDone returns true if the enumeration should be started or is not yet complete. 5899func (iter PrivateEndpointConnectionForPrivateLinkHubResourceCollectionResponseIterator) NotDone() bool { 5900 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 5901} 5902 5903// Response returns the raw server response from the last page request. 5904func (iter PrivateEndpointConnectionForPrivateLinkHubResourceCollectionResponseIterator) Response() PrivateEndpointConnectionForPrivateLinkHubResourceCollectionResponse { 5905 return iter.page.Response() 5906} 5907 5908// Value returns the current value or a zero-initialized value if the 5909// iterator has advanced beyond the end of the collection. 5910func (iter PrivateEndpointConnectionForPrivateLinkHubResourceCollectionResponseIterator) Value() PrivateEndpointConnectionForPrivateLinkHub { 5911 if !iter.page.NotDone() { 5912 return PrivateEndpointConnectionForPrivateLinkHub{} 5913 } 5914 return iter.page.Values()[iter.i] 5915} 5916 5917// Creates a new instance of the PrivateEndpointConnectionForPrivateLinkHubResourceCollectionResponseIterator type. 5918func NewPrivateEndpointConnectionForPrivateLinkHubResourceCollectionResponseIterator(page PrivateEndpointConnectionForPrivateLinkHubResourceCollectionResponsePage) PrivateEndpointConnectionForPrivateLinkHubResourceCollectionResponseIterator { 5919 return PrivateEndpointConnectionForPrivateLinkHubResourceCollectionResponseIterator{page: page} 5920} 5921 5922// IsEmpty returns true if the ListResult contains no values. 5923func (pecfplhRcr PrivateEndpointConnectionForPrivateLinkHubResourceCollectionResponse) IsEmpty() bool { 5924 return pecfplhRcr.Value == nil || len(*pecfplhRcr.Value) == 0 5925} 5926 5927// hasNextLink returns true if the NextLink is not empty. 5928func (pecfplhRcr PrivateEndpointConnectionForPrivateLinkHubResourceCollectionResponse) hasNextLink() bool { 5929 return pecfplhRcr.NextLink != nil && len(*pecfplhRcr.NextLink) != 0 5930} 5931 5932// privateEndpointConnectionForPrivateLinkHubResourceCollectionResponsePreparer prepares a request to retrieve the next set of results. 5933// It returns nil if no more results exist. 5934func (pecfplhRcr PrivateEndpointConnectionForPrivateLinkHubResourceCollectionResponse) privateEndpointConnectionForPrivateLinkHubResourceCollectionResponsePreparer(ctx context.Context) (*http.Request, error) { 5935 if !pecfplhRcr.hasNextLink() { 5936 return nil, nil 5937 } 5938 return autorest.Prepare((&http.Request{}).WithContext(ctx), 5939 autorest.AsJSON(), 5940 autorest.AsGet(), 5941 autorest.WithBaseURL(to.String(pecfplhRcr.NextLink))) 5942} 5943 5944// PrivateEndpointConnectionForPrivateLinkHubResourceCollectionResponsePage contains a page of 5945// PrivateEndpointConnectionForPrivateLinkHub values. 5946type PrivateEndpointConnectionForPrivateLinkHubResourceCollectionResponsePage struct { 5947 fn func(context.Context, PrivateEndpointConnectionForPrivateLinkHubResourceCollectionResponse) (PrivateEndpointConnectionForPrivateLinkHubResourceCollectionResponse, error) 5948 pecfplhrcr PrivateEndpointConnectionForPrivateLinkHubResourceCollectionResponse 5949} 5950 5951// NextWithContext advances to the next page of values. If there was an error making 5952// the request the page does not advance and the error is returned. 5953func (page *PrivateEndpointConnectionForPrivateLinkHubResourceCollectionResponsePage) NextWithContext(ctx context.Context) (err error) { 5954 if tracing.IsEnabled() { 5955 ctx = tracing.StartSpan(ctx, fqdn+"/PrivateEndpointConnectionForPrivateLinkHubResourceCollectionResponsePage.NextWithContext") 5956 defer func() { 5957 sc := -1 5958 if page.Response().Response.Response != nil { 5959 sc = page.Response().Response.Response.StatusCode 5960 } 5961 tracing.EndSpan(ctx, sc, err) 5962 }() 5963 } 5964 for { 5965 next, err := page.fn(ctx, page.pecfplhrcr) 5966 if err != nil { 5967 return err 5968 } 5969 page.pecfplhrcr = next 5970 if !next.hasNextLink() || !next.IsEmpty() { 5971 break 5972 } 5973 } 5974 return nil 5975} 5976 5977// Next advances to the next page of values. If there was an error making 5978// the request the page does not advance and the error is returned. 5979// Deprecated: Use NextWithContext() instead. 5980func (page *PrivateEndpointConnectionForPrivateLinkHubResourceCollectionResponsePage) Next() error { 5981 return page.NextWithContext(context.Background()) 5982} 5983 5984// NotDone returns true if the page enumeration should be started or is not yet complete. 5985func (page PrivateEndpointConnectionForPrivateLinkHubResourceCollectionResponsePage) NotDone() bool { 5986 return !page.pecfplhrcr.IsEmpty() 5987} 5988 5989// Response returns the raw server response from the last page request. 5990func (page PrivateEndpointConnectionForPrivateLinkHubResourceCollectionResponsePage) Response() PrivateEndpointConnectionForPrivateLinkHubResourceCollectionResponse { 5991 return page.pecfplhrcr 5992} 5993 5994// Values returns the slice of values for the current page or nil if there are no values. 5995func (page PrivateEndpointConnectionForPrivateLinkHubResourceCollectionResponsePage) Values() []PrivateEndpointConnectionForPrivateLinkHub { 5996 if page.pecfplhrcr.IsEmpty() { 5997 return nil 5998 } 5999 return *page.pecfplhrcr.Value 6000} 6001 6002// Creates a new instance of the PrivateEndpointConnectionForPrivateLinkHubResourceCollectionResponsePage type. 6003func NewPrivateEndpointConnectionForPrivateLinkHubResourceCollectionResponsePage(cur PrivateEndpointConnectionForPrivateLinkHubResourceCollectionResponse, getNextPage func(context.Context, PrivateEndpointConnectionForPrivateLinkHubResourceCollectionResponse) (PrivateEndpointConnectionForPrivateLinkHubResourceCollectionResponse, error)) PrivateEndpointConnectionForPrivateLinkHubResourceCollectionResponsePage { 6004 return PrivateEndpointConnectionForPrivateLinkHubResourceCollectionResponsePage{ 6005 fn: getNextPage, 6006 pecfplhrcr: cur, 6007 } 6008} 6009 6010// PrivateEndpointConnectionList a list of private endpoint connections 6011type PrivateEndpointConnectionList struct { 6012 autorest.Response `json:"-"` 6013 // Value - READ-ONLY; Array of results. 6014 Value *[]PrivateEndpointConnection `json:"value,omitempty"` 6015 // NextLink - READ-ONLY; Link to retrieve next page of results. 6016 NextLink *string `json:"nextLink,omitempty"` 6017} 6018 6019// MarshalJSON is the custom marshaler for PrivateEndpointConnectionList. 6020func (pecl PrivateEndpointConnectionList) MarshalJSON() ([]byte, error) { 6021 objectMap := make(map[string]interface{}) 6022 return json.Marshal(objectMap) 6023} 6024 6025// PrivateEndpointConnectionListIterator provides access to a complete listing of PrivateEndpointConnection 6026// values. 6027type PrivateEndpointConnectionListIterator struct { 6028 i int 6029 page PrivateEndpointConnectionListPage 6030} 6031 6032// NextWithContext advances to the next value. If there was an error making 6033// the request the iterator does not advance and the error is returned. 6034func (iter *PrivateEndpointConnectionListIterator) NextWithContext(ctx context.Context) (err error) { 6035 if tracing.IsEnabled() { 6036 ctx = tracing.StartSpan(ctx, fqdn+"/PrivateEndpointConnectionListIterator.NextWithContext") 6037 defer func() { 6038 sc := -1 6039 if iter.Response().Response.Response != nil { 6040 sc = iter.Response().Response.Response.StatusCode 6041 } 6042 tracing.EndSpan(ctx, sc, err) 6043 }() 6044 } 6045 iter.i++ 6046 if iter.i < len(iter.page.Values()) { 6047 return nil 6048 } 6049 err = iter.page.NextWithContext(ctx) 6050 if err != nil { 6051 iter.i-- 6052 return err 6053 } 6054 iter.i = 0 6055 return nil 6056} 6057 6058// Next advances to the next value. If there was an error making 6059// the request the iterator does not advance and the error is returned. 6060// Deprecated: Use NextWithContext() instead. 6061func (iter *PrivateEndpointConnectionListIterator) Next() error { 6062 return iter.NextWithContext(context.Background()) 6063} 6064 6065// NotDone returns true if the enumeration should be started or is not yet complete. 6066func (iter PrivateEndpointConnectionListIterator) NotDone() bool { 6067 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 6068} 6069 6070// Response returns the raw server response from the last page request. 6071func (iter PrivateEndpointConnectionListIterator) Response() PrivateEndpointConnectionList { 6072 return iter.page.Response() 6073} 6074 6075// Value returns the current value or a zero-initialized value if the 6076// iterator has advanced beyond the end of the collection. 6077func (iter PrivateEndpointConnectionListIterator) Value() PrivateEndpointConnection { 6078 if !iter.page.NotDone() { 6079 return PrivateEndpointConnection{} 6080 } 6081 return iter.page.Values()[iter.i] 6082} 6083 6084// Creates a new instance of the PrivateEndpointConnectionListIterator type. 6085func NewPrivateEndpointConnectionListIterator(page PrivateEndpointConnectionListPage) PrivateEndpointConnectionListIterator { 6086 return PrivateEndpointConnectionListIterator{page: page} 6087} 6088 6089// IsEmpty returns true if the ListResult contains no values. 6090func (pecl PrivateEndpointConnectionList) IsEmpty() bool { 6091 return pecl.Value == nil || len(*pecl.Value) == 0 6092} 6093 6094// hasNextLink returns true if the NextLink is not empty. 6095func (pecl PrivateEndpointConnectionList) hasNextLink() bool { 6096 return pecl.NextLink != nil && len(*pecl.NextLink) != 0 6097} 6098 6099// privateEndpointConnectionListPreparer prepares a request to retrieve the next set of results. 6100// It returns nil if no more results exist. 6101func (pecl PrivateEndpointConnectionList) privateEndpointConnectionListPreparer(ctx context.Context) (*http.Request, error) { 6102 if !pecl.hasNextLink() { 6103 return nil, nil 6104 } 6105 return autorest.Prepare((&http.Request{}).WithContext(ctx), 6106 autorest.AsJSON(), 6107 autorest.AsGet(), 6108 autorest.WithBaseURL(to.String(pecl.NextLink))) 6109} 6110 6111// PrivateEndpointConnectionListPage contains a page of PrivateEndpointConnection values. 6112type PrivateEndpointConnectionListPage struct { 6113 fn func(context.Context, PrivateEndpointConnectionList) (PrivateEndpointConnectionList, error) 6114 pecl PrivateEndpointConnectionList 6115} 6116 6117// NextWithContext advances to the next page of values. If there was an error making 6118// the request the page does not advance and the error is returned. 6119func (page *PrivateEndpointConnectionListPage) NextWithContext(ctx context.Context) (err error) { 6120 if tracing.IsEnabled() { 6121 ctx = tracing.StartSpan(ctx, fqdn+"/PrivateEndpointConnectionListPage.NextWithContext") 6122 defer func() { 6123 sc := -1 6124 if page.Response().Response.Response != nil { 6125 sc = page.Response().Response.Response.StatusCode 6126 } 6127 tracing.EndSpan(ctx, sc, err) 6128 }() 6129 } 6130 for { 6131 next, err := page.fn(ctx, page.pecl) 6132 if err != nil { 6133 return err 6134 } 6135 page.pecl = next 6136 if !next.hasNextLink() || !next.IsEmpty() { 6137 break 6138 } 6139 } 6140 return nil 6141} 6142 6143// Next advances to the next page of values. If there was an error making 6144// the request the page does not advance and the error is returned. 6145// Deprecated: Use NextWithContext() instead. 6146func (page *PrivateEndpointConnectionListPage) Next() error { 6147 return page.NextWithContext(context.Background()) 6148} 6149 6150// NotDone returns true if the page enumeration should be started or is not yet complete. 6151func (page PrivateEndpointConnectionListPage) NotDone() bool { 6152 return !page.pecl.IsEmpty() 6153} 6154 6155// Response returns the raw server response from the last page request. 6156func (page PrivateEndpointConnectionListPage) Response() PrivateEndpointConnectionList { 6157 return page.pecl 6158} 6159 6160// Values returns the slice of values for the current page or nil if there are no values. 6161func (page PrivateEndpointConnectionListPage) Values() []PrivateEndpointConnection { 6162 if page.pecl.IsEmpty() { 6163 return nil 6164 } 6165 return *page.pecl.Value 6166} 6167 6168// Creates a new instance of the PrivateEndpointConnectionListPage type. 6169func NewPrivateEndpointConnectionListPage(cur PrivateEndpointConnectionList, getNextPage func(context.Context, PrivateEndpointConnectionList) (PrivateEndpointConnectionList, error)) PrivateEndpointConnectionListPage { 6170 return PrivateEndpointConnectionListPage{ 6171 fn: getNextPage, 6172 pecl: cur, 6173 } 6174} 6175 6176// PrivateEndpointConnectionProperties properties of a private endpoint connection. 6177type PrivateEndpointConnectionProperties struct { 6178 // PrivateEndpoint - The private endpoint which the connection belongs to. 6179 PrivateEndpoint *PrivateEndpoint `json:"privateEndpoint,omitempty"` 6180 // PrivateLinkServiceConnectionState - Connection state of the private endpoint connection. 6181 PrivateLinkServiceConnectionState *PrivateLinkServiceConnectionState `json:"privateLinkServiceConnectionState,omitempty"` 6182 // ProvisioningState - READ-ONLY; Provisioning state of the private endpoint connection. 6183 ProvisioningState *string `json:"provisioningState,omitempty"` 6184} 6185 6186// MarshalJSON is the custom marshaler for PrivateEndpointConnectionProperties. 6187func (pecp PrivateEndpointConnectionProperties) MarshalJSON() ([]byte, error) { 6188 objectMap := make(map[string]interface{}) 6189 if pecp.PrivateEndpoint != nil { 6190 objectMap["privateEndpoint"] = pecp.PrivateEndpoint 6191 } 6192 if pecp.PrivateLinkServiceConnectionState != nil { 6193 objectMap["privateLinkServiceConnectionState"] = pecp.PrivateLinkServiceConnectionState 6194 } 6195 return json.Marshal(objectMap) 6196} 6197 6198// PrivateEndpointConnectionsCreateFuture an abstraction for monitoring and retrieving the results of a 6199// long-running operation. 6200type PrivateEndpointConnectionsCreateFuture struct { 6201 azure.FutureAPI 6202 // Result returns the result of the asynchronous operation. 6203 // If the operation has not completed it will return an error. 6204 Result func(PrivateEndpointConnectionsClient) (PrivateEndpointConnection, error) 6205} 6206 6207// UnmarshalJSON is the custom unmarshaller for CreateFuture. 6208func (future *PrivateEndpointConnectionsCreateFuture) UnmarshalJSON(body []byte) error { 6209 var azFuture azure.Future 6210 if err := json.Unmarshal(body, &azFuture); err != nil { 6211 return err 6212 } 6213 future.FutureAPI = &azFuture 6214 future.Result = future.result 6215 return nil 6216} 6217 6218// result is the default implementation for PrivateEndpointConnectionsCreateFuture.Result. 6219func (future *PrivateEndpointConnectionsCreateFuture) result(client PrivateEndpointConnectionsClient) (pec PrivateEndpointConnection, err error) { 6220 var done bool 6221 done, err = future.DoneWithContext(context.Background(), client) 6222 if err != nil { 6223 err = autorest.NewErrorWithError(err, "synapse.PrivateEndpointConnectionsCreateFuture", "Result", future.Response(), "Polling failure") 6224 return 6225 } 6226 if !done { 6227 pec.Response.Response = future.Response() 6228 err = azure.NewAsyncOpIncompleteError("synapse.PrivateEndpointConnectionsCreateFuture") 6229 return 6230 } 6231 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 6232 if pec.Response.Response, err = future.GetResult(sender); err == nil && pec.Response.Response.StatusCode != http.StatusNoContent { 6233 pec, err = client.CreateResponder(pec.Response.Response) 6234 if err != nil { 6235 err = autorest.NewErrorWithError(err, "synapse.PrivateEndpointConnectionsCreateFuture", "Result", pec.Response.Response, "Failure responding to request") 6236 } 6237 } 6238 return 6239} 6240 6241// PrivateEndpointConnectionsDeleteFuture an abstraction for monitoring and retrieving the results of a 6242// long-running operation. 6243type PrivateEndpointConnectionsDeleteFuture struct { 6244 azure.FutureAPI 6245 // Result returns the result of the asynchronous operation. 6246 // If the operation has not completed it will return an error. 6247 Result func(PrivateEndpointConnectionsClient) (OperationResource, error) 6248} 6249 6250// UnmarshalJSON is the custom unmarshaller for CreateFuture. 6251func (future *PrivateEndpointConnectionsDeleteFuture) UnmarshalJSON(body []byte) error { 6252 var azFuture azure.Future 6253 if err := json.Unmarshal(body, &azFuture); err != nil { 6254 return err 6255 } 6256 future.FutureAPI = &azFuture 6257 future.Result = future.result 6258 return nil 6259} 6260 6261// result is the default implementation for PrivateEndpointConnectionsDeleteFuture.Result. 6262func (future *PrivateEndpointConnectionsDeleteFuture) result(client PrivateEndpointConnectionsClient) (or OperationResource, err error) { 6263 var done bool 6264 done, err = future.DoneWithContext(context.Background(), client) 6265 if err != nil { 6266 err = autorest.NewErrorWithError(err, "synapse.PrivateEndpointConnectionsDeleteFuture", "Result", future.Response(), "Polling failure") 6267 return 6268 } 6269 if !done { 6270 or.Response.Response = future.Response() 6271 err = azure.NewAsyncOpIncompleteError("synapse.PrivateEndpointConnectionsDeleteFuture") 6272 return 6273 } 6274 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 6275 if or.Response.Response, err = future.GetResult(sender); err == nil && or.Response.Response.StatusCode != http.StatusNoContent { 6276 or, err = client.DeleteResponder(or.Response.Response) 6277 if err != nil { 6278 err = autorest.NewErrorWithError(err, "synapse.PrivateEndpointConnectionsDeleteFuture", "Result", or.Response.Response, "Failure responding to request") 6279 } 6280 } 6281 return 6282} 6283 6284// PrivateLinkHub a privateLinkHub 6285type PrivateLinkHub struct { 6286 autorest.Response `json:"-"` 6287 // PrivateLinkHubProperties - PrivateLinkHub resource properties 6288 *PrivateLinkHubProperties `json:"properties,omitempty"` 6289 // Tags - Resource tags. 6290 Tags map[string]*string `json:"tags"` 6291 // Location - The geo-location where the resource lives 6292 Location *string `json:"location,omitempty"` 6293 // ID - READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} 6294 ID *string `json:"id,omitempty"` 6295 // Name - READ-ONLY; The name of the resource 6296 Name *string `json:"name,omitempty"` 6297 // Type - READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" 6298 Type *string `json:"type,omitempty"` 6299} 6300 6301// MarshalJSON is the custom marshaler for PrivateLinkHub. 6302func (plh PrivateLinkHub) MarshalJSON() ([]byte, error) { 6303 objectMap := make(map[string]interface{}) 6304 if plh.PrivateLinkHubProperties != nil { 6305 objectMap["properties"] = plh.PrivateLinkHubProperties 6306 } 6307 if plh.Tags != nil { 6308 objectMap["tags"] = plh.Tags 6309 } 6310 if plh.Location != nil { 6311 objectMap["location"] = plh.Location 6312 } 6313 return json.Marshal(objectMap) 6314} 6315 6316// UnmarshalJSON is the custom unmarshaler for PrivateLinkHub struct. 6317func (plh *PrivateLinkHub) UnmarshalJSON(body []byte) error { 6318 var m map[string]*json.RawMessage 6319 err := json.Unmarshal(body, &m) 6320 if err != nil { 6321 return err 6322 } 6323 for k, v := range m { 6324 switch k { 6325 case "properties": 6326 if v != nil { 6327 var privateLinkHubProperties PrivateLinkHubProperties 6328 err = json.Unmarshal(*v, &privateLinkHubProperties) 6329 if err != nil { 6330 return err 6331 } 6332 plh.PrivateLinkHubProperties = &privateLinkHubProperties 6333 } 6334 case "tags": 6335 if v != nil { 6336 var tags map[string]*string 6337 err = json.Unmarshal(*v, &tags) 6338 if err != nil { 6339 return err 6340 } 6341 plh.Tags = tags 6342 } 6343 case "location": 6344 if v != nil { 6345 var location string 6346 err = json.Unmarshal(*v, &location) 6347 if err != nil { 6348 return err 6349 } 6350 plh.Location = &location 6351 } 6352 case "id": 6353 if v != nil { 6354 var ID string 6355 err = json.Unmarshal(*v, &ID) 6356 if err != nil { 6357 return err 6358 } 6359 plh.ID = &ID 6360 } 6361 case "name": 6362 if v != nil { 6363 var name string 6364 err = json.Unmarshal(*v, &name) 6365 if err != nil { 6366 return err 6367 } 6368 plh.Name = &name 6369 } 6370 case "type": 6371 if v != nil { 6372 var typeVar string 6373 err = json.Unmarshal(*v, &typeVar) 6374 if err != nil { 6375 return err 6376 } 6377 plh.Type = &typeVar 6378 } 6379 } 6380 } 6381 6382 return nil 6383} 6384 6385// PrivateLinkHubInfoListResult list of privateLinkHubs 6386type PrivateLinkHubInfoListResult struct { 6387 autorest.Response `json:"-"` 6388 // NextLink - Link to the next page of results 6389 NextLink *string `json:"nextLink,omitempty"` 6390 // Value - List of privateLinkHubs 6391 Value *[]PrivateLinkHub `json:"value,omitempty"` 6392} 6393 6394// PrivateLinkHubInfoListResultIterator provides access to a complete listing of PrivateLinkHub values. 6395type PrivateLinkHubInfoListResultIterator struct { 6396 i int 6397 page PrivateLinkHubInfoListResultPage 6398} 6399 6400// NextWithContext advances to the next value. If there was an error making 6401// the request the iterator does not advance and the error is returned. 6402func (iter *PrivateLinkHubInfoListResultIterator) NextWithContext(ctx context.Context) (err error) { 6403 if tracing.IsEnabled() { 6404 ctx = tracing.StartSpan(ctx, fqdn+"/PrivateLinkHubInfoListResultIterator.NextWithContext") 6405 defer func() { 6406 sc := -1 6407 if iter.Response().Response.Response != nil { 6408 sc = iter.Response().Response.Response.StatusCode 6409 } 6410 tracing.EndSpan(ctx, sc, err) 6411 }() 6412 } 6413 iter.i++ 6414 if iter.i < len(iter.page.Values()) { 6415 return nil 6416 } 6417 err = iter.page.NextWithContext(ctx) 6418 if err != nil { 6419 iter.i-- 6420 return err 6421 } 6422 iter.i = 0 6423 return nil 6424} 6425 6426// Next advances to the next value. If there was an error making 6427// the request the iterator does not advance and the error is returned. 6428// Deprecated: Use NextWithContext() instead. 6429func (iter *PrivateLinkHubInfoListResultIterator) Next() error { 6430 return iter.NextWithContext(context.Background()) 6431} 6432 6433// NotDone returns true if the enumeration should be started or is not yet complete. 6434func (iter PrivateLinkHubInfoListResultIterator) NotDone() bool { 6435 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 6436} 6437 6438// Response returns the raw server response from the last page request. 6439func (iter PrivateLinkHubInfoListResultIterator) Response() PrivateLinkHubInfoListResult { 6440 return iter.page.Response() 6441} 6442 6443// Value returns the current value or a zero-initialized value if the 6444// iterator has advanced beyond the end of the collection. 6445func (iter PrivateLinkHubInfoListResultIterator) Value() PrivateLinkHub { 6446 if !iter.page.NotDone() { 6447 return PrivateLinkHub{} 6448 } 6449 return iter.page.Values()[iter.i] 6450} 6451 6452// Creates a new instance of the PrivateLinkHubInfoListResultIterator type. 6453func NewPrivateLinkHubInfoListResultIterator(page PrivateLinkHubInfoListResultPage) PrivateLinkHubInfoListResultIterator { 6454 return PrivateLinkHubInfoListResultIterator{page: page} 6455} 6456 6457// IsEmpty returns true if the ListResult contains no values. 6458func (plhilr PrivateLinkHubInfoListResult) IsEmpty() bool { 6459 return plhilr.Value == nil || len(*plhilr.Value) == 0 6460} 6461 6462// hasNextLink returns true if the NextLink is not empty. 6463func (plhilr PrivateLinkHubInfoListResult) hasNextLink() bool { 6464 return plhilr.NextLink != nil && len(*plhilr.NextLink) != 0 6465} 6466 6467// privateLinkHubInfoListResultPreparer prepares a request to retrieve the next set of results. 6468// It returns nil if no more results exist. 6469func (plhilr PrivateLinkHubInfoListResult) privateLinkHubInfoListResultPreparer(ctx context.Context) (*http.Request, error) { 6470 if !plhilr.hasNextLink() { 6471 return nil, nil 6472 } 6473 return autorest.Prepare((&http.Request{}).WithContext(ctx), 6474 autorest.AsJSON(), 6475 autorest.AsGet(), 6476 autorest.WithBaseURL(to.String(plhilr.NextLink))) 6477} 6478 6479// PrivateLinkHubInfoListResultPage contains a page of PrivateLinkHub values. 6480type PrivateLinkHubInfoListResultPage struct { 6481 fn func(context.Context, PrivateLinkHubInfoListResult) (PrivateLinkHubInfoListResult, error) 6482 plhilr PrivateLinkHubInfoListResult 6483} 6484 6485// NextWithContext advances to the next page of values. If there was an error making 6486// the request the page does not advance and the error is returned. 6487func (page *PrivateLinkHubInfoListResultPage) NextWithContext(ctx context.Context) (err error) { 6488 if tracing.IsEnabled() { 6489 ctx = tracing.StartSpan(ctx, fqdn+"/PrivateLinkHubInfoListResultPage.NextWithContext") 6490 defer func() { 6491 sc := -1 6492 if page.Response().Response.Response != nil { 6493 sc = page.Response().Response.Response.StatusCode 6494 } 6495 tracing.EndSpan(ctx, sc, err) 6496 }() 6497 } 6498 for { 6499 next, err := page.fn(ctx, page.plhilr) 6500 if err != nil { 6501 return err 6502 } 6503 page.plhilr = next 6504 if !next.hasNextLink() || !next.IsEmpty() { 6505 break 6506 } 6507 } 6508 return nil 6509} 6510 6511// Next advances to the next page of values. If there was an error making 6512// the request the page does not advance and the error is returned. 6513// Deprecated: Use NextWithContext() instead. 6514func (page *PrivateLinkHubInfoListResultPage) Next() error { 6515 return page.NextWithContext(context.Background()) 6516} 6517 6518// NotDone returns true if the page enumeration should be started or is not yet complete. 6519func (page PrivateLinkHubInfoListResultPage) NotDone() bool { 6520 return !page.plhilr.IsEmpty() 6521} 6522 6523// Response returns the raw server response from the last page request. 6524func (page PrivateLinkHubInfoListResultPage) Response() PrivateLinkHubInfoListResult { 6525 return page.plhilr 6526} 6527 6528// Values returns the slice of values for the current page or nil if there are no values. 6529func (page PrivateLinkHubInfoListResultPage) Values() []PrivateLinkHub { 6530 if page.plhilr.IsEmpty() { 6531 return nil 6532 } 6533 return *page.plhilr.Value 6534} 6535 6536// Creates a new instance of the PrivateLinkHubInfoListResultPage type. 6537func NewPrivateLinkHubInfoListResultPage(cur PrivateLinkHubInfoListResult, getNextPage func(context.Context, PrivateLinkHubInfoListResult) (PrivateLinkHubInfoListResult, error)) PrivateLinkHubInfoListResultPage { 6538 return PrivateLinkHubInfoListResultPage{ 6539 fn: getNextPage, 6540 plhilr: cur, 6541 } 6542} 6543 6544// PrivateLinkHubPatchInfo privateLinkHub patch details 6545type PrivateLinkHubPatchInfo struct { 6546 // Tags - Resource tags 6547 Tags map[string]*string `json:"tags"` 6548} 6549 6550// MarshalJSON is the custom marshaler for PrivateLinkHubPatchInfo. 6551func (plhpi PrivateLinkHubPatchInfo) MarshalJSON() ([]byte, error) { 6552 objectMap := make(map[string]interface{}) 6553 if plhpi.Tags != nil { 6554 objectMap["tags"] = plhpi.Tags 6555 } 6556 return json.Marshal(objectMap) 6557} 6558 6559// PrivateLinkHubProperties privateLinkHub properties 6560type PrivateLinkHubProperties struct { 6561 // ProvisioningState - PrivateLinkHub provisioning state 6562 ProvisioningState *string `json:"provisioningState,omitempty"` 6563 // PrivateEndpointConnections - READ-ONLY; List of private endpoint connections 6564 PrivateEndpointConnections *[]PrivateEndpointConnectionForPrivateLinkHubBasic `json:"privateEndpointConnections,omitempty"` 6565} 6566 6567// MarshalJSON is the custom marshaler for PrivateLinkHubProperties. 6568func (plhp PrivateLinkHubProperties) MarshalJSON() ([]byte, error) { 6569 objectMap := make(map[string]interface{}) 6570 if plhp.ProvisioningState != nil { 6571 objectMap["provisioningState"] = plhp.ProvisioningState 6572 } 6573 return json.Marshal(objectMap) 6574} 6575 6576// PrivateLinkHubsDeleteFuture an abstraction for monitoring and retrieving the results of a long-running 6577// operation. 6578type PrivateLinkHubsDeleteFuture struct { 6579 azure.FutureAPI 6580 // Result returns the result of the asynchronous operation. 6581 // If the operation has not completed it will return an error. 6582 Result func(PrivateLinkHubsClient) (autorest.Response, error) 6583} 6584 6585// UnmarshalJSON is the custom unmarshaller for CreateFuture. 6586func (future *PrivateLinkHubsDeleteFuture) UnmarshalJSON(body []byte) error { 6587 var azFuture azure.Future 6588 if err := json.Unmarshal(body, &azFuture); err != nil { 6589 return err 6590 } 6591 future.FutureAPI = &azFuture 6592 future.Result = future.result 6593 return nil 6594} 6595 6596// result is the default implementation for PrivateLinkHubsDeleteFuture.Result. 6597func (future *PrivateLinkHubsDeleteFuture) result(client PrivateLinkHubsClient) (ar autorest.Response, err error) { 6598 var done bool 6599 done, err = future.DoneWithContext(context.Background(), client) 6600 if err != nil { 6601 err = autorest.NewErrorWithError(err, "synapse.PrivateLinkHubsDeleteFuture", "Result", future.Response(), "Polling failure") 6602 return 6603 } 6604 if !done { 6605 ar.Response = future.Response() 6606 err = azure.NewAsyncOpIncompleteError("synapse.PrivateLinkHubsDeleteFuture") 6607 return 6608 } 6609 ar.Response = future.Response() 6610 return 6611} 6612 6613// PrivateLinkResource a private link resource 6614type PrivateLinkResource struct { 6615 autorest.Response `json:"-"` 6616 // Properties - READ-ONLY; The private link resource properties. 6617 Properties *PrivateLinkResourceProperties `json:"properties,omitempty"` 6618 // ID - READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} 6619 ID *string `json:"id,omitempty"` 6620 // Name - READ-ONLY; The name of the resource 6621 Name *string `json:"name,omitempty"` 6622 // Type - READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" 6623 Type *string `json:"type,omitempty"` 6624} 6625 6626// MarshalJSON is the custom marshaler for PrivateLinkResource. 6627func (plr PrivateLinkResource) MarshalJSON() ([]byte, error) { 6628 objectMap := make(map[string]interface{}) 6629 return json.Marshal(objectMap) 6630} 6631 6632// PrivateLinkResourceListResult a list of private link resources 6633type PrivateLinkResourceListResult struct { 6634 autorest.Response `json:"-"` 6635 // Value - READ-ONLY; Array of results. 6636 Value *[]PrivateLinkResource `json:"value,omitempty"` 6637 // NextLink - READ-ONLY; Link to retrieve next page of results. 6638 NextLink *string `json:"nextLink,omitempty"` 6639} 6640 6641// MarshalJSON is the custom marshaler for PrivateLinkResourceListResult. 6642func (plrlr PrivateLinkResourceListResult) MarshalJSON() ([]byte, error) { 6643 objectMap := make(map[string]interface{}) 6644 return json.Marshal(objectMap) 6645} 6646 6647// PrivateLinkResourceListResultIterator provides access to a complete listing of PrivateLinkResource 6648// values. 6649type PrivateLinkResourceListResultIterator struct { 6650 i int 6651 page PrivateLinkResourceListResultPage 6652} 6653 6654// NextWithContext advances to the next value. If there was an error making 6655// the request the iterator does not advance and the error is returned. 6656func (iter *PrivateLinkResourceListResultIterator) NextWithContext(ctx context.Context) (err error) { 6657 if tracing.IsEnabled() { 6658 ctx = tracing.StartSpan(ctx, fqdn+"/PrivateLinkResourceListResultIterator.NextWithContext") 6659 defer func() { 6660 sc := -1 6661 if iter.Response().Response.Response != nil { 6662 sc = iter.Response().Response.Response.StatusCode 6663 } 6664 tracing.EndSpan(ctx, sc, err) 6665 }() 6666 } 6667 iter.i++ 6668 if iter.i < len(iter.page.Values()) { 6669 return nil 6670 } 6671 err = iter.page.NextWithContext(ctx) 6672 if err != nil { 6673 iter.i-- 6674 return err 6675 } 6676 iter.i = 0 6677 return nil 6678} 6679 6680// Next advances to the next value. If there was an error making 6681// the request the iterator does not advance and the error is returned. 6682// Deprecated: Use NextWithContext() instead. 6683func (iter *PrivateLinkResourceListResultIterator) Next() error { 6684 return iter.NextWithContext(context.Background()) 6685} 6686 6687// NotDone returns true if the enumeration should be started or is not yet complete. 6688func (iter PrivateLinkResourceListResultIterator) NotDone() bool { 6689 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 6690} 6691 6692// Response returns the raw server response from the last page request. 6693func (iter PrivateLinkResourceListResultIterator) Response() PrivateLinkResourceListResult { 6694 return iter.page.Response() 6695} 6696 6697// Value returns the current value or a zero-initialized value if the 6698// iterator has advanced beyond the end of the collection. 6699func (iter PrivateLinkResourceListResultIterator) Value() PrivateLinkResource { 6700 if !iter.page.NotDone() { 6701 return PrivateLinkResource{} 6702 } 6703 return iter.page.Values()[iter.i] 6704} 6705 6706// Creates a new instance of the PrivateLinkResourceListResultIterator type. 6707func NewPrivateLinkResourceListResultIterator(page PrivateLinkResourceListResultPage) PrivateLinkResourceListResultIterator { 6708 return PrivateLinkResourceListResultIterator{page: page} 6709} 6710 6711// IsEmpty returns true if the ListResult contains no values. 6712func (plrlr PrivateLinkResourceListResult) IsEmpty() bool { 6713 return plrlr.Value == nil || len(*plrlr.Value) == 0 6714} 6715 6716// hasNextLink returns true if the NextLink is not empty. 6717func (plrlr PrivateLinkResourceListResult) hasNextLink() bool { 6718 return plrlr.NextLink != nil && len(*plrlr.NextLink) != 0 6719} 6720 6721// privateLinkResourceListResultPreparer prepares a request to retrieve the next set of results. 6722// It returns nil if no more results exist. 6723func (plrlr PrivateLinkResourceListResult) privateLinkResourceListResultPreparer(ctx context.Context) (*http.Request, error) { 6724 if !plrlr.hasNextLink() { 6725 return nil, nil 6726 } 6727 return autorest.Prepare((&http.Request{}).WithContext(ctx), 6728 autorest.AsJSON(), 6729 autorest.AsGet(), 6730 autorest.WithBaseURL(to.String(plrlr.NextLink))) 6731} 6732 6733// PrivateLinkResourceListResultPage contains a page of PrivateLinkResource values. 6734type PrivateLinkResourceListResultPage struct { 6735 fn func(context.Context, PrivateLinkResourceListResult) (PrivateLinkResourceListResult, error) 6736 plrlr PrivateLinkResourceListResult 6737} 6738 6739// NextWithContext advances to the next page of values. If there was an error making 6740// the request the page does not advance and the error is returned. 6741func (page *PrivateLinkResourceListResultPage) NextWithContext(ctx context.Context) (err error) { 6742 if tracing.IsEnabled() { 6743 ctx = tracing.StartSpan(ctx, fqdn+"/PrivateLinkResourceListResultPage.NextWithContext") 6744 defer func() { 6745 sc := -1 6746 if page.Response().Response.Response != nil { 6747 sc = page.Response().Response.Response.StatusCode 6748 } 6749 tracing.EndSpan(ctx, sc, err) 6750 }() 6751 } 6752 for { 6753 next, err := page.fn(ctx, page.plrlr) 6754 if err != nil { 6755 return err 6756 } 6757 page.plrlr = next 6758 if !next.hasNextLink() || !next.IsEmpty() { 6759 break 6760 } 6761 } 6762 return nil 6763} 6764 6765// Next advances to the next page of values. If there was an error making 6766// the request the page does not advance and the error is returned. 6767// Deprecated: Use NextWithContext() instead. 6768func (page *PrivateLinkResourceListResultPage) Next() error { 6769 return page.NextWithContext(context.Background()) 6770} 6771 6772// NotDone returns true if the page enumeration should be started or is not yet complete. 6773func (page PrivateLinkResourceListResultPage) NotDone() bool { 6774 return !page.plrlr.IsEmpty() 6775} 6776 6777// Response returns the raw server response from the last page request. 6778func (page PrivateLinkResourceListResultPage) Response() PrivateLinkResourceListResult { 6779 return page.plrlr 6780} 6781 6782// Values returns the slice of values for the current page or nil if there are no values. 6783func (page PrivateLinkResourceListResultPage) Values() []PrivateLinkResource { 6784 if page.plrlr.IsEmpty() { 6785 return nil 6786 } 6787 return *page.plrlr.Value 6788} 6789 6790// Creates a new instance of the PrivateLinkResourceListResultPage type. 6791func NewPrivateLinkResourceListResultPage(cur PrivateLinkResourceListResult, getNextPage func(context.Context, PrivateLinkResourceListResult) (PrivateLinkResourceListResult, error)) PrivateLinkResourceListResultPage { 6792 return PrivateLinkResourceListResultPage{ 6793 fn: getNextPage, 6794 plrlr: cur, 6795 } 6796} 6797 6798// PrivateLinkResourceProperties properties of a private link resource. 6799type PrivateLinkResourceProperties struct { 6800 // GroupID - READ-ONLY; The private link resource group id. 6801 GroupID *string `json:"groupId,omitempty"` 6802 // RequiredMembers - READ-ONLY; The private link resource required member names. 6803 RequiredMembers *[]string `json:"requiredMembers,omitempty"` 6804 // RequiredZoneNames - READ-ONLY; Required DNS zone names of the the private link resource. 6805 RequiredZoneNames *[]string `json:"requiredZoneNames,omitempty"` 6806} 6807 6808// MarshalJSON is the custom marshaler for PrivateLinkResourceProperties. 6809func (plrp PrivateLinkResourceProperties) MarshalJSON() ([]byte, error) { 6810 objectMap := make(map[string]interface{}) 6811 return json.Marshal(objectMap) 6812} 6813 6814// PrivateLinkServiceConnectionState connection state details of the private endpoint 6815type PrivateLinkServiceConnectionState struct { 6816 // Status - The private link service connection status. 6817 Status *string `json:"status,omitempty"` 6818 // Description - The private link service connection description. 6819 Description *string `json:"description,omitempty"` 6820 // ActionsRequired - READ-ONLY; The actions required for private link service connection. 6821 ActionsRequired *string `json:"actionsRequired,omitempty"` 6822} 6823 6824// MarshalJSON is the custom marshaler for PrivateLinkServiceConnectionState. 6825func (plscs PrivateLinkServiceConnectionState) MarshalJSON() ([]byte, error) { 6826 objectMap := make(map[string]interface{}) 6827 if plscs.Status != nil { 6828 objectMap["status"] = plscs.Status 6829 } 6830 if plscs.Description != nil { 6831 objectMap["description"] = plscs.Description 6832 } 6833 return json.Marshal(objectMap) 6834} 6835 6836// ProxyResource the resource model definition for a Azure Resource Manager proxy resource. It will not 6837// have tags and a location 6838type ProxyResource struct { 6839 // ID - READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} 6840 ID *string `json:"id,omitempty"` 6841 // Name - READ-ONLY; The name of the resource 6842 Name *string `json:"name,omitempty"` 6843 // Type - READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" 6844 Type *string `json:"type,omitempty"` 6845} 6846 6847// MarshalJSON is the custom marshaler for ProxyResource. 6848func (pr ProxyResource) MarshalJSON() ([]byte, error) { 6849 objectMap := make(map[string]interface{}) 6850 return json.Marshal(objectMap) 6851} 6852 6853// PurviewConfiguration purview Configuration 6854type PurviewConfiguration struct { 6855 // PurviewResourceID - Purview Resource ID 6856 PurviewResourceID *string `json:"purviewResourceId,omitempty"` 6857} 6858 6859// QueryInterval a database query. 6860type QueryInterval struct { 6861 // IntervalStartTime - READ-ONLY; The start time of the measurement interval (ISO8601 format). 6862 IntervalStartTime *date.Time `json:"intervalStartTime,omitempty"` 6863 // ExecutionCount - READ-ONLY; The number of times the query was executed during this interval. 6864 ExecutionCount *float64 `json:"executionCount,omitempty"` 6865 // Metrics - READ-ONLY; The list of query metrics during this interval. 6866 Metrics *[]QueryMetric `json:"metrics,omitempty"` 6867} 6868 6869// MarshalJSON is the custom marshaler for QueryInterval. 6870func (qi QueryInterval) MarshalJSON() ([]byte, error) { 6871 objectMap := make(map[string]interface{}) 6872 return json.Marshal(objectMap) 6873} 6874 6875// QueryMetric a database query. 6876type QueryMetric struct { 6877 // Name - READ-ONLY; The name of the metric 6878 Name *string `json:"name,omitempty"` 6879 // DisplayName - READ-ONLY; The name of the metric for display in user interface 6880 DisplayName *string `json:"displayName,omitempty"` 6881 // Unit - READ-ONLY; The unit of measurement. Possible values include: 'Percentage', 'KB', 'Microseconds' 6882 Unit QueryMetricUnit `json:"unit,omitempty"` 6883 // Value - READ-ONLY; The measured value 6884 Value *float64 `json:"value,omitempty"` 6885} 6886 6887// MarshalJSON is the custom marshaler for QueryMetric. 6888func (qm QueryMetric) MarshalJSON() ([]byte, error) { 6889 objectMap := make(map[string]interface{}) 6890 return json.Marshal(objectMap) 6891} 6892 6893// QueryStatistic a database query. 6894type QueryStatistic struct { 6895 // QueryID - READ-ONLY; The id of the query 6896 QueryID *string `json:"queryId,omitempty"` 6897 // Intervals - READ-ONLY; The list of query intervals. 6898 Intervals *[]QueryInterval `json:"intervals,omitempty"` 6899} 6900 6901// MarshalJSON is the custom marshaler for QueryStatistic. 6902func (qs QueryStatistic) MarshalJSON() ([]byte, error) { 6903 objectMap := make(map[string]interface{}) 6904 return json.Marshal(objectMap) 6905} 6906 6907// RecoverableSQLPool a recoverable sql pool 6908type RecoverableSQLPool struct { 6909 autorest.Response `json:"-"` 6910 // RecoverableSQLPoolProperties - The properties of a recoverable sql pool 6911 *RecoverableSQLPoolProperties `json:"properties,omitempty"` 6912 // ID - READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} 6913 ID *string `json:"id,omitempty"` 6914 // Name - READ-ONLY; The name of the resource 6915 Name *string `json:"name,omitempty"` 6916 // Type - READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" 6917 Type *string `json:"type,omitempty"` 6918} 6919 6920// MarshalJSON is the custom marshaler for RecoverableSQLPool. 6921func (rsp RecoverableSQLPool) MarshalJSON() ([]byte, error) { 6922 objectMap := make(map[string]interface{}) 6923 if rsp.RecoverableSQLPoolProperties != nil { 6924 objectMap["properties"] = rsp.RecoverableSQLPoolProperties 6925 } 6926 return json.Marshal(objectMap) 6927} 6928 6929// UnmarshalJSON is the custom unmarshaler for RecoverableSQLPool struct. 6930func (rsp *RecoverableSQLPool) UnmarshalJSON(body []byte) error { 6931 var m map[string]*json.RawMessage 6932 err := json.Unmarshal(body, &m) 6933 if err != nil { 6934 return err 6935 } 6936 for k, v := range m { 6937 switch k { 6938 case "properties": 6939 if v != nil { 6940 var recoverableSQLPoolProperties RecoverableSQLPoolProperties 6941 err = json.Unmarshal(*v, &recoverableSQLPoolProperties) 6942 if err != nil { 6943 return err 6944 } 6945 rsp.RecoverableSQLPoolProperties = &recoverableSQLPoolProperties 6946 } 6947 case "id": 6948 if v != nil { 6949 var ID string 6950 err = json.Unmarshal(*v, &ID) 6951 if err != nil { 6952 return err 6953 } 6954 rsp.ID = &ID 6955 } 6956 case "name": 6957 if v != nil { 6958 var name string 6959 err = json.Unmarshal(*v, &name) 6960 if err != nil { 6961 return err 6962 } 6963 rsp.Name = &name 6964 } 6965 case "type": 6966 if v != nil { 6967 var typeVar string 6968 err = json.Unmarshal(*v, &typeVar) 6969 if err != nil { 6970 return err 6971 } 6972 rsp.Type = &typeVar 6973 } 6974 } 6975 } 6976 6977 return nil 6978} 6979 6980// RecoverableSQLPoolListResult the response to a list recoverable sql pools request 6981type RecoverableSQLPoolListResult struct { 6982 autorest.Response `json:"-"` 6983 // Value - READ-ONLY; A list of recoverable sql pool 6984 Value *[]RecoverableSQLPool `json:"value,omitempty"` 6985 // NextLink - READ-ONLY; Link to retrieve next page of results. 6986 NextLink *string `json:"nextLink,omitempty"` 6987} 6988 6989// MarshalJSON is the custom marshaler for RecoverableSQLPoolListResult. 6990func (rsplr RecoverableSQLPoolListResult) MarshalJSON() ([]byte, error) { 6991 objectMap := make(map[string]interface{}) 6992 return json.Marshal(objectMap) 6993} 6994 6995// RecoverableSQLPoolListResultIterator provides access to a complete listing of RecoverableSQLPool values. 6996type RecoverableSQLPoolListResultIterator struct { 6997 i int 6998 page RecoverableSQLPoolListResultPage 6999} 7000 7001// NextWithContext advances to the next value. If there was an error making 7002// the request the iterator does not advance and the error is returned. 7003func (iter *RecoverableSQLPoolListResultIterator) NextWithContext(ctx context.Context) (err error) { 7004 if tracing.IsEnabled() { 7005 ctx = tracing.StartSpan(ctx, fqdn+"/RecoverableSQLPoolListResultIterator.NextWithContext") 7006 defer func() { 7007 sc := -1 7008 if iter.Response().Response.Response != nil { 7009 sc = iter.Response().Response.Response.StatusCode 7010 } 7011 tracing.EndSpan(ctx, sc, err) 7012 }() 7013 } 7014 iter.i++ 7015 if iter.i < len(iter.page.Values()) { 7016 return nil 7017 } 7018 err = iter.page.NextWithContext(ctx) 7019 if err != nil { 7020 iter.i-- 7021 return err 7022 } 7023 iter.i = 0 7024 return nil 7025} 7026 7027// Next advances to the next value. If there was an error making 7028// the request the iterator does not advance and the error is returned. 7029// Deprecated: Use NextWithContext() instead. 7030func (iter *RecoverableSQLPoolListResultIterator) Next() error { 7031 return iter.NextWithContext(context.Background()) 7032} 7033 7034// NotDone returns true if the enumeration should be started or is not yet complete. 7035func (iter RecoverableSQLPoolListResultIterator) NotDone() bool { 7036 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 7037} 7038 7039// Response returns the raw server response from the last page request. 7040func (iter RecoverableSQLPoolListResultIterator) Response() RecoverableSQLPoolListResult { 7041 return iter.page.Response() 7042} 7043 7044// Value returns the current value or a zero-initialized value if the 7045// iterator has advanced beyond the end of the collection. 7046func (iter RecoverableSQLPoolListResultIterator) Value() RecoverableSQLPool { 7047 if !iter.page.NotDone() { 7048 return RecoverableSQLPool{} 7049 } 7050 return iter.page.Values()[iter.i] 7051} 7052 7053// Creates a new instance of the RecoverableSQLPoolListResultIterator type. 7054func NewRecoverableSQLPoolListResultIterator(page RecoverableSQLPoolListResultPage) RecoverableSQLPoolListResultIterator { 7055 return RecoverableSQLPoolListResultIterator{page: page} 7056} 7057 7058// IsEmpty returns true if the ListResult contains no values. 7059func (rsplr RecoverableSQLPoolListResult) IsEmpty() bool { 7060 return rsplr.Value == nil || len(*rsplr.Value) == 0 7061} 7062 7063// hasNextLink returns true if the NextLink is not empty. 7064func (rsplr RecoverableSQLPoolListResult) hasNextLink() bool { 7065 return rsplr.NextLink != nil && len(*rsplr.NextLink) != 0 7066} 7067 7068// recoverableSQLPoolListResultPreparer prepares a request to retrieve the next set of results. 7069// It returns nil if no more results exist. 7070func (rsplr RecoverableSQLPoolListResult) recoverableSQLPoolListResultPreparer(ctx context.Context) (*http.Request, error) { 7071 if !rsplr.hasNextLink() { 7072 return nil, nil 7073 } 7074 return autorest.Prepare((&http.Request{}).WithContext(ctx), 7075 autorest.AsJSON(), 7076 autorest.AsGet(), 7077 autorest.WithBaseURL(to.String(rsplr.NextLink))) 7078} 7079 7080// RecoverableSQLPoolListResultPage contains a page of RecoverableSQLPool values. 7081type RecoverableSQLPoolListResultPage struct { 7082 fn func(context.Context, RecoverableSQLPoolListResult) (RecoverableSQLPoolListResult, error) 7083 rsplr RecoverableSQLPoolListResult 7084} 7085 7086// NextWithContext advances to the next page of values. If there was an error making 7087// the request the page does not advance and the error is returned. 7088func (page *RecoverableSQLPoolListResultPage) NextWithContext(ctx context.Context) (err error) { 7089 if tracing.IsEnabled() { 7090 ctx = tracing.StartSpan(ctx, fqdn+"/RecoverableSQLPoolListResultPage.NextWithContext") 7091 defer func() { 7092 sc := -1 7093 if page.Response().Response.Response != nil { 7094 sc = page.Response().Response.Response.StatusCode 7095 } 7096 tracing.EndSpan(ctx, sc, err) 7097 }() 7098 } 7099 for { 7100 next, err := page.fn(ctx, page.rsplr) 7101 if err != nil { 7102 return err 7103 } 7104 page.rsplr = next 7105 if !next.hasNextLink() || !next.IsEmpty() { 7106 break 7107 } 7108 } 7109 return nil 7110} 7111 7112// Next advances to the next page of values. If there was an error making 7113// the request the page does not advance and the error is returned. 7114// Deprecated: Use NextWithContext() instead. 7115func (page *RecoverableSQLPoolListResultPage) Next() error { 7116 return page.NextWithContext(context.Background()) 7117} 7118 7119// NotDone returns true if the page enumeration should be started or is not yet complete. 7120func (page RecoverableSQLPoolListResultPage) NotDone() bool { 7121 return !page.rsplr.IsEmpty() 7122} 7123 7124// Response returns the raw server response from the last page request. 7125func (page RecoverableSQLPoolListResultPage) Response() RecoverableSQLPoolListResult { 7126 return page.rsplr 7127} 7128 7129// Values returns the slice of values for the current page or nil if there are no values. 7130func (page RecoverableSQLPoolListResultPage) Values() []RecoverableSQLPool { 7131 if page.rsplr.IsEmpty() { 7132 return nil 7133 } 7134 return *page.rsplr.Value 7135} 7136 7137// Creates a new instance of the RecoverableSQLPoolListResultPage type. 7138func NewRecoverableSQLPoolListResultPage(cur RecoverableSQLPoolListResult, getNextPage func(context.Context, RecoverableSQLPoolListResult) (RecoverableSQLPoolListResult, error)) RecoverableSQLPoolListResultPage { 7139 return RecoverableSQLPoolListResultPage{ 7140 fn: getNextPage, 7141 rsplr: cur, 7142 } 7143} 7144 7145// RecoverableSQLPoolProperties the properties of a recoverable sql pool 7146type RecoverableSQLPoolProperties struct { 7147 // Edition - READ-ONLY; The edition of the database 7148 Edition *string `json:"edition,omitempty"` 7149 // ServiceLevelObjective - READ-ONLY; The service level objective name of the database 7150 ServiceLevelObjective *string `json:"serviceLevelObjective,omitempty"` 7151 // ElasticPoolName - READ-ONLY; The elastic pool name of the database 7152 ElasticPoolName *string `json:"elasticPoolName,omitempty"` 7153 // LastAvailableBackupDate - READ-ONLY; The last available backup date of the database (ISO8601 format) 7154 LastAvailableBackupDate *date.Time `json:"lastAvailableBackupDate,omitempty"` 7155} 7156 7157// MarshalJSON is the custom marshaler for RecoverableSQLPoolProperties. 7158func (rspp RecoverableSQLPoolProperties) MarshalJSON() ([]byte, error) { 7159 objectMap := make(map[string]interface{}) 7160 return json.Marshal(objectMap) 7161} 7162 7163// ReplaceAllFirewallRulesOperationResponse an existing operation for replacing the firewall rules 7164type ReplaceAllFirewallRulesOperationResponse struct { 7165 autorest.Response `json:"-"` 7166 // OperationID - The operation ID 7167 OperationID *string `json:"operationId,omitempty"` 7168} 7169 7170// ReplaceAllIPFirewallRulesRequest replace all IP firewall rules request 7171type ReplaceAllIPFirewallRulesRequest struct { 7172 // IPFirewallRules - IP firewall rule properties 7173 IPFirewallRules map[string]*IPFirewallRuleProperties `json:"ipFirewallRules"` 7174} 7175 7176// MarshalJSON is the custom marshaler for ReplaceAllIPFirewallRulesRequest. 7177func (raifrr ReplaceAllIPFirewallRulesRequest) MarshalJSON() ([]byte, error) { 7178 objectMap := make(map[string]interface{}) 7179 if raifrr.IPFirewallRules != nil { 7180 objectMap["ipFirewallRules"] = raifrr.IPFirewallRules 7181 } 7182 return json.Marshal(objectMap) 7183} 7184 7185// ReplicationLink represents a Sql pool replication link. 7186type ReplicationLink struct { 7187 autorest.Response `json:"-"` 7188 // Location - READ-ONLY; Location of the workspace that contains this firewall rule. 7189 Location *string `json:"location,omitempty"` 7190 // ReplicationLinkProperties - The properties representing the resource. 7191 *ReplicationLinkProperties `json:"properties,omitempty"` 7192 // ID - READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} 7193 ID *string `json:"id,omitempty"` 7194 // Name - READ-ONLY; The name of the resource 7195 Name *string `json:"name,omitempty"` 7196 // Type - READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" 7197 Type *string `json:"type,omitempty"` 7198} 7199 7200// MarshalJSON is the custom marshaler for ReplicationLink. 7201func (rl ReplicationLink) MarshalJSON() ([]byte, error) { 7202 objectMap := make(map[string]interface{}) 7203 if rl.ReplicationLinkProperties != nil { 7204 objectMap["properties"] = rl.ReplicationLinkProperties 7205 } 7206 return json.Marshal(objectMap) 7207} 7208 7209// UnmarshalJSON is the custom unmarshaler for ReplicationLink struct. 7210func (rl *ReplicationLink) UnmarshalJSON(body []byte) error { 7211 var m map[string]*json.RawMessage 7212 err := json.Unmarshal(body, &m) 7213 if err != nil { 7214 return err 7215 } 7216 for k, v := range m { 7217 switch k { 7218 case "location": 7219 if v != nil { 7220 var location string 7221 err = json.Unmarshal(*v, &location) 7222 if err != nil { 7223 return err 7224 } 7225 rl.Location = &location 7226 } 7227 case "properties": 7228 if v != nil { 7229 var replicationLinkProperties ReplicationLinkProperties 7230 err = json.Unmarshal(*v, &replicationLinkProperties) 7231 if err != nil { 7232 return err 7233 } 7234 rl.ReplicationLinkProperties = &replicationLinkProperties 7235 } 7236 case "id": 7237 if v != nil { 7238 var ID string 7239 err = json.Unmarshal(*v, &ID) 7240 if err != nil { 7241 return err 7242 } 7243 rl.ID = &ID 7244 } 7245 case "name": 7246 if v != nil { 7247 var name string 7248 err = json.Unmarshal(*v, &name) 7249 if err != nil { 7250 return err 7251 } 7252 rl.Name = &name 7253 } 7254 case "type": 7255 if v != nil { 7256 var typeVar string 7257 err = json.Unmarshal(*v, &typeVar) 7258 if err != nil { 7259 return err 7260 } 7261 rl.Type = &typeVar 7262 } 7263 } 7264 } 7265 7266 return nil 7267} 7268 7269// ReplicationLinkListResult represents the response to a List Sql pool replication link request. 7270type ReplicationLinkListResult struct { 7271 autorest.Response `json:"-"` 7272 // Value - The list of Sql pool replication links housed in the Sql pool. 7273 Value *[]ReplicationLink `json:"value,omitempty"` 7274 // NextLink - READ-ONLY; Link to retrieve next page of results. 7275 NextLink *string `json:"nextLink,omitempty"` 7276} 7277 7278// MarshalJSON is the custom marshaler for ReplicationLinkListResult. 7279func (rllr ReplicationLinkListResult) MarshalJSON() ([]byte, error) { 7280 objectMap := make(map[string]interface{}) 7281 if rllr.Value != nil { 7282 objectMap["value"] = rllr.Value 7283 } 7284 return json.Marshal(objectMap) 7285} 7286 7287// ReplicationLinkListResultIterator provides access to a complete listing of ReplicationLink values. 7288type ReplicationLinkListResultIterator struct { 7289 i int 7290 page ReplicationLinkListResultPage 7291} 7292 7293// NextWithContext advances to the next value. If there was an error making 7294// the request the iterator does not advance and the error is returned. 7295func (iter *ReplicationLinkListResultIterator) NextWithContext(ctx context.Context) (err error) { 7296 if tracing.IsEnabled() { 7297 ctx = tracing.StartSpan(ctx, fqdn+"/ReplicationLinkListResultIterator.NextWithContext") 7298 defer func() { 7299 sc := -1 7300 if iter.Response().Response.Response != nil { 7301 sc = iter.Response().Response.Response.StatusCode 7302 } 7303 tracing.EndSpan(ctx, sc, err) 7304 }() 7305 } 7306 iter.i++ 7307 if iter.i < len(iter.page.Values()) { 7308 return nil 7309 } 7310 err = iter.page.NextWithContext(ctx) 7311 if err != nil { 7312 iter.i-- 7313 return err 7314 } 7315 iter.i = 0 7316 return nil 7317} 7318 7319// Next advances to the next value. If there was an error making 7320// the request the iterator does not advance and the error is returned. 7321// Deprecated: Use NextWithContext() instead. 7322func (iter *ReplicationLinkListResultIterator) Next() error { 7323 return iter.NextWithContext(context.Background()) 7324} 7325 7326// NotDone returns true if the enumeration should be started or is not yet complete. 7327func (iter ReplicationLinkListResultIterator) NotDone() bool { 7328 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 7329} 7330 7331// Response returns the raw server response from the last page request. 7332func (iter ReplicationLinkListResultIterator) Response() ReplicationLinkListResult { 7333 return iter.page.Response() 7334} 7335 7336// Value returns the current value or a zero-initialized value if the 7337// iterator has advanced beyond the end of the collection. 7338func (iter ReplicationLinkListResultIterator) Value() ReplicationLink { 7339 if !iter.page.NotDone() { 7340 return ReplicationLink{} 7341 } 7342 return iter.page.Values()[iter.i] 7343} 7344 7345// Creates a new instance of the ReplicationLinkListResultIterator type. 7346func NewReplicationLinkListResultIterator(page ReplicationLinkListResultPage) ReplicationLinkListResultIterator { 7347 return ReplicationLinkListResultIterator{page: page} 7348} 7349 7350// IsEmpty returns true if the ListResult contains no values. 7351func (rllr ReplicationLinkListResult) IsEmpty() bool { 7352 return rllr.Value == nil || len(*rllr.Value) == 0 7353} 7354 7355// hasNextLink returns true if the NextLink is not empty. 7356func (rllr ReplicationLinkListResult) hasNextLink() bool { 7357 return rllr.NextLink != nil && len(*rllr.NextLink) != 0 7358} 7359 7360// replicationLinkListResultPreparer prepares a request to retrieve the next set of results. 7361// It returns nil if no more results exist. 7362func (rllr ReplicationLinkListResult) replicationLinkListResultPreparer(ctx context.Context) (*http.Request, error) { 7363 if !rllr.hasNextLink() { 7364 return nil, nil 7365 } 7366 return autorest.Prepare((&http.Request{}).WithContext(ctx), 7367 autorest.AsJSON(), 7368 autorest.AsGet(), 7369 autorest.WithBaseURL(to.String(rllr.NextLink))) 7370} 7371 7372// ReplicationLinkListResultPage contains a page of ReplicationLink values. 7373type ReplicationLinkListResultPage struct { 7374 fn func(context.Context, ReplicationLinkListResult) (ReplicationLinkListResult, error) 7375 rllr ReplicationLinkListResult 7376} 7377 7378// NextWithContext advances to the next page of values. If there was an error making 7379// the request the page does not advance and the error is returned. 7380func (page *ReplicationLinkListResultPage) NextWithContext(ctx context.Context) (err error) { 7381 if tracing.IsEnabled() { 7382 ctx = tracing.StartSpan(ctx, fqdn+"/ReplicationLinkListResultPage.NextWithContext") 7383 defer func() { 7384 sc := -1 7385 if page.Response().Response.Response != nil { 7386 sc = page.Response().Response.Response.StatusCode 7387 } 7388 tracing.EndSpan(ctx, sc, err) 7389 }() 7390 } 7391 for { 7392 next, err := page.fn(ctx, page.rllr) 7393 if err != nil { 7394 return err 7395 } 7396 page.rllr = next 7397 if !next.hasNextLink() || !next.IsEmpty() { 7398 break 7399 } 7400 } 7401 return nil 7402} 7403 7404// Next advances to the next page of values. If there was an error making 7405// the request the page does not advance and the error is returned. 7406// Deprecated: Use NextWithContext() instead. 7407func (page *ReplicationLinkListResultPage) Next() error { 7408 return page.NextWithContext(context.Background()) 7409} 7410 7411// NotDone returns true if the page enumeration should be started or is not yet complete. 7412func (page ReplicationLinkListResultPage) NotDone() bool { 7413 return !page.rllr.IsEmpty() 7414} 7415 7416// Response returns the raw server response from the last page request. 7417func (page ReplicationLinkListResultPage) Response() ReplicationLinkListResult { 7418 return page.rllr 7419} 7420 7421// Values returns the slice of values for the current page or nil if there are no values. 7422func (page ReplicationLinkListResultPage) Values() []ReplicationLink { 7423 if page.rllr.IsEmpty() { 7424 return nil 7425 } 7426 return *page.rllr.Value 7427} 7428 7429// Creates a new instance of the ReplicationLinkListResultPage type. 7430func NewReplicationLinkListResultPage(cur ReplicationLinkListResult, getNextPage func(context.Context, ReplicationLinkListResult) (ReplicationLinkListResult, error)) ReplicationLinkListResultPage { 7431 return ReplicationLinkListResultPage{ 7432 fn: getNextPage, 7433 rllr: cur, 7434 } 7435} 7436 7437// ReplicationLinkProperties represents the properties of a Sql pool replication link. 7438type ReplicationLinkProperties struct { 7439 // IsTerminationAllowed - READ-ONLY; Legacy value indicating whether termination is allowed. Currently always returns true. 7440 IsTerminationAllowed *bool `json:"isTerminationAllowed,omitempty"` 7441 // ReplicationMode - READ-ONLY; Replication mode of this replication link. 7442 ReplicationMode *string `json:"replicationMode,omitempty"` 7443 // PartnerServer - READ-ONLY; The name of the workspace hosting the partner Sql pool. 7444 PartnerServer *string `json:"partnerServer,omitempty"` 7445 // PartnerDatabase - READ-ONLY; The name of the partner Sql pool. 7446 PartnerDatabase *string `json:"partnerDatabase,omitempty"` 7447 // PartnerLocation - READ-ONLY; The Azure Region of the partner Sql pool. 7448 PartnerLocation *string `json:"partnerLocation,omitempty"` 7449 // Role - READ-ONLY; The role of the Sql pool in the replication link. Possible values include: 'Primary', 'Secondary', 'NonReadableSecondary', 'Source', 'Copy' 7450 Role ReplicationRole `json:"role,omitempty"` 7451 // PartnerRole - READ-ONLY; The role of the partner Sql pool in the replication link. Possible values include: 'Primary', 'Secondary', 'NonReadableSecondary', 'Source', 'Copy' 7452 PartnerRole ReplicationRole `json:"partnerRole,omitempty"` 7453 // StartTime - READ-ONLY; The start time for the replication link. 7454 StartTime *date.Time `json:"startTime,omitempty"` 7455 // PercentComplete - READ-ONLY; The percentage of seeding complete for the replication link. 7456 PercentComplete *int32 `json:"percentComplete,omitempty"` 7457 // ReplicationState - READ-ONLY; The replication state for the replication link. Possible values include: 'PENDING', 'SEEDING', 'CATCHUP', 'SUSPENDED' 7458 ReplicationState ReplicationState `json:"replicationState,omitempty"` 7459} 7460 7461// MarshalJSON is the custom marshaler for ReplicationLinkProperties. 7462func (rlp ReplicationLinkProperties) MarshalJSON() ([]byte, error) { 7463 objectMap := make(map[string]interface{}) 7464 return json.Marshal(objectMap) 7465} 7466 7467// Resource common fields that are returned in the response for all Azure Resource Manager resources 7468type Resource struct { 7469 // ID - READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} 7470 ID *string `json:"id,omitempty"` 7471 // Name - READ-ONLY; The name of the resource 7472 Name *string `json:"name,omitempty"` 7473 // Type - READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" 7474 Type *string `json:"type,omitempty"` 7475} 7476 7477// MarshalJSON is the custom marshaler for Resource. 7478func (r Resource) MarshalJSON() ([]byte, error) { 7479 objectMap := make(map[string]interface{}) 7480 return json.Marshal(objectMap) 7481} 7482 7483// RestorableDroppedSQLPool a restorable dropped Sql pool 7484type RestorableDroppedSQLPool struct { 7485 autorest.Response `json:"-"` 7486 // Location - READ-ONLY; The geo-location where the resource lives 7487 Location *string `json:"location,omitempty"` 7488 // RestorableDroppedSQLPoolProperties - The properties of a restorable dropped Sql pool 7489 *RestorableDroppedSQLPoolProperties `json:"properties,omitempty"` 7490 // ID - READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} 7491 ID *string `json:"id,omitempty"` 7492 // Name - READ-ONLY; The name of the resource 7493 Name *string `json:"name,omitempty"` 7494 // Type - READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" 7495 Type *string `json:"type,omitempty"` 7496} 7497 7498// MarshalJSON is the custom marshaler for RestorableDroppedSQLPool. 7499func (rdsp RestorableDroppedSQLPool) MarshalJSON() ([]byte, error) { 7500 objectMap := make(map[string]interface{}) 7501 if rdsp.RestorableDroppedSQLPoolProperties != nil { 7502 objectMap["properties"] = rdsp.RestorableDroppedSQLPoolProperties 7503 } 7504 return json.Marshal(objectMap) 7505} 7506 7507// UnmarshalJSON is the custom unmarshaler for RestorableDroppedSQLPool struct. 7508func (rdsp *RestorableDroppedSQLPool) UnmarshalJSON(body []byte) error { 7509 var m map[string]*json.RawMessage 7510 err := json.Unmarshal(body, &m) 7511 if err != nil { 7512 return err 7513 } 7514 for k, v := range m { 7515 switch k { 7516 case "location": 7517 if v != nil { 7518 var location string 7519 err = json.Unmarshal(*v, &location) 7520 if err != nil { 7521 return err 7522 } 7523 rdsp.Location = &location 7524 } 7525 case "properties": 7526 if v != nil { 7527 var restorableDroppedSQLPoolProperties RestorableDroppedSQLPoolProperties 7528 err = json.Unmarshal(*v, &restorableDroppedSQLPoolProperties) 7529 if err != nil { 7530 return err 7531 } 7532 rdsp.RestorableDroppedSQLPoolProperties = &restorableDroppedSQLPoolProperties 7533 } 7534 case "id": 7535 if v != nil { 7536 var ID string 7537 err = json.Unmarshal(*v, &ID) 7538 if err != nil { 7539 return err 7540 } 7541 rdsp.ID = &ID 7542 } 7543 case "name": 7544 if v != nil { 7545 var name string 7546 err = json.Unmarshal(*v, &name) 7547 if err != nil { 7548 return err 7549 } 7550 rdsp.Name = &name 7551 } 7552 case "type": 7553 if v != nil { 7554 var typeVar string 7555 err = json.Unmarshal(*v, &typeVar) 7556 if err != nil { 7557 return err 7558 } 7559 rdsp.Type = &typeVar 7560 } 7561 } 7562 } 7563 7564 return nil 7565} 7566 7567// RestorableDroppedSQLPoolListResult the response to a list restorable dropped Sql pools request 7568type RestorableDroppedSQLPoolListResult struct { 7569 autorest.Response `json:"-"` 7570 // Value - A list of restorable dropped Sql pools 7571 Value *[]RestorableDroppedSQLPool `json:"value,omitempty"` 7572} 7573 7574// RestorableDroppedSQLPoolProperties the properties of a restorable dropped Sql pool 7575type RestorableDroppedSQLPoolProperties struct { 7576 // DatabaseName - READ-ONLY; The name of the database 7577 DatabaseName *string `json:"databaseName,omitempty"` 7578 // Edition - READ-ONLY; The edition of the database 7579 Edition *string `json:"edition,omitempty"` 7580 // MaxSizeBytes - READ-ONLY; The max size in bytes of the database 7581 MaxSizeBytes *string `json:"maxSizeBytes,omitempty"` 7582 // ServiceLevelObjective - READ-ONLY; The service level objective name of the database 7583 ServiceLevelObjective *string `json:"serviceLevelObjective,omitempty"` 7584 // ElasticPoolName - READ-ONLY; The elastic pool name of the database 7585 ElasticPoolName *string `json:"elasticPoolName,omitempty"` 7586 // CreationDate - READ-ONLY; The creation date of the database (ISO8601 format) 7587 CreationDate *date.Time `json:"creationDate,omitempty"` 7588 // DeletionDate - READ-ONLY; The deletion date of the database (ISO8601 format) 7589 DeletionDate *date.Time `json:"deletionDate,omitempty"` 7590 // EarliestRestoreDate - READ-ONLY; The earliest restore date of the database (ISO8601 format) 7591 EarliestRestoreDate *date.Time `json:"earliestRestoreDate,omitempty"` 7592} 7593 7594// MarshalJSON is the custom marshaler for RestorableDroppedSQLPoolProperties. 7595func (rdspp RestorableDroppedSQLPoolProperties) MarshalJSON() ([]byte, error) { 7596 objectMap := make(map[string]interface{}) 7597 return json.Marshal(objectMap) 7598} 7599 7600// RestorePoint database restore points. 7601type RestorePoint struct { 7602 autorest.Response `json:"-"` 7603 // Location - READ-ONLY; Resource location. 7604 Location *string `json:"location,omitempty"` 7605 // RestorePointProperties - Resource properties. 7606 *RestorePointProperties `json:"properties,omitempty"` 7607 // ID - READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} 7608 ID *string `json:"id,omitempty"` 7609 // Name - READ-ONLY; The name of the resource 7610 Name *string `json:"name,omitempty"` 7611 // Type - READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" 7612 Type *string `json:"type,omitempty"` 7613} 7614 7615// MarshalJSON is the custom marshaler for RestorePoint. 7616func (rp RestorePoint) MarshalJSON() ([]byte, error) { 7617 objectMap := make(map[string]interface{}) 7618 if rp.RestorePointProperties != nil { 7619 objectMap["properties"] = rp.RestorePointProperties 7620 } 7621 return json.Marshal(objectMap) 7622} 7623 7624// UnmarshalJSON is the custom unmarshaler for RestorePoint struct. 7625func (rp *RestorePoint) UnmarshalJSON(body []byte) error { 7626 var m map[string]*json.RawMessage 7627 err := json.Unmarshal(body, &m) 7628 if err != nil { 7629 return err 7630 } 7631 for k, v := range m { 7632 switch k { 7633 case "location": 7634 if v != nil { 7635 var location string 7636 err = json.Unmarshal(*v, &location) 7637 if err != nil { 7638 return err 7639 } 7640 rp.Location = &location 7641 } 7642 case "properties": 7643 if v != nil { 7644 var restorePointProperties RestorePointProperties 7645 err = json.Unmarshal(*v, &restorePointProperties) 7646 if err != nil { 7647 return err 7648 } 7649 rp.RestorePointProperties = &restorePointProperties 7650 } 7651 case "id": 7652 if v != nil { 7653 var ID string 7654 err = json.Unmarshal(*v, &ID) 7655 if err != nil { 7656 return err 7657 } 7658 rp.ID = &ID 7659 } 7660 case "name": 7661 if v != nil { 7662 var name string 7663 err = json.Unmarshal(*v, &name) 7664 if err != nil { 7665 return err 7666 } 7667 rp.Name = &name 7668 } 7669 case "type": 7670 if v != nil { 7671 var typeVar string 7672 err = json.Unmarshal(*v, &typeVar) 7673 if err != nil { 7674 return err 7675 } 7676 rp.Type = &typeVar 7677 } 7678 } 7679 } 7680 7681 return nil 7682} 7683 7684// RestorePointListResult a list of long term retention backups. 7685type RestorePointListResult struct { 7686 autorest.Response `json:"-"` 7687 // Value - READ-ONLY; Array of results. 7688 Value *[]RestorePoint `json:"value,omitempty"` 7689 // NextLink - READ-ONLY; Link to retrieve next page of results. 7690 NextLink *string `json:"nextLink,omitempty"` 7691} 7692 7693// MarshalJSON is the custom marshaler for RestorePointListResult. 7694func (rplr RestorePointListResult) MarshalJSON() ([]byte, error) { 7695 objectMap := make(map[string]interface{}) 7696 return json.Marshal(objectMap) 7697} 7698 7699// RestorePointListResultIterator provides access to a complete listing of RestorePoint values. 7700type RestorePointListResultIterator struct { 7701 i int 7702 page RestorePointListResultPage 7703} 7704 7705// NextWithContext advances to the next value. If there was an error making 7706// the request the iterator does not advance and the error is returned. 7707func (iter *RestorePointListResultIterator) NextWithContext(ctx context.Context) (err error) { 7708 if tracing.IsEnabled() { 7709 ctx = tracing.StartSpan(ctx, fqdn+"/RestorePointListResultIterator.NextWithContext") 7710 defer func() { 7711 sc := -1 7712 if iter.Response().Response.Response != nil { 7713 sc = iter.Response().Response.Response.StatusCode 7714 } 7715 tracing.EndSpan(ctx, sc, err) 7716 }() 7717 } 7718 iter.i++ 7719 if iter.i < len(iter.page.Values()) { 7720 return nil 7721 } 7722 err = iter.page.NextWithContext(ctx) 7723 if err != nil { 7724 iter.i-- 7725 return err 7726 } 7727 iter.i = 0 7728 return nil 7729} 7730 7731// Next advances to the next value. If there was an error making 7732// the request the iterator does not advance and the error is returned. 7733// Deprecated: Use NextWithContext() instead. 7734func (iter *RestorePointListResultIterator) Next() error { 7735 return iter.NextWithContext(context.Background()) 7736} 7737 7738// NotDone returns true if the enumeration should be started or is not yet complete. 7739func (iter RestorePointListResultIterator) NotDone() bool { 7740 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 7741} 7742 7743// Response returns the raw server response from the last page request. 7744func (iter RestorePointListResultIterator) Response() RestorePointListResult { 7745 return iter.page.Response() 7746} 7747 7748// Value returns the current value or a zero-initialized value if the 7749// iterator has advanced beyond the end of the collection. 7750func (iter RestorePointListResultIterator) Value() RestorePoint { 7751 if !iter.page.NotDone() { 7752 return RestorePoint{} 7753 } 7754 return iter.page.Values()[iter.i] 7755} 7756 7757// Creates a new instance of the RestorePointListResultIterator type. 7758func NewRestorePointListResultIterator(page RestorePointListResultPage) RestorePointListResultIterator { 7759 return RestorePointListResultIterator{page: page} 7760} 7761 7762// IsEmpty returns true if the ListResult contains no values. 7763func (rplr RestorePointListResult) IsEmpty() bool { 7764 return rplr.Value == nil || len(*rplr.Value) == 0 7765} 7766 7767// hasNextLink returns true if the NextLink is not empty. 7768func (rplr RestorePointListResult) hasNextLink() bool { 7769 return rplr.NextLink != nil && len(*rplr.NextLink) != 0 7770} 7771 7772// restorePointListResultPreparer prepares a request to retrieve the next set of results. 7773// It returns nil if no more results exist. 7774func (rplr RestorePointListResult) restorePointListResultPreparer(ctx context.Context) (*http.Request, error) { 7775 if !rplr.hasNextLink() { 7776 return nil, nil 7777 } 7778 return autorest.Prepare((&http.Request{}).WithContext(ctx), 7779 autorest.AsJSON(), 7780 autorest.AsGet(), 7781 autorest.WithBaseURL(to.String(rplr.NextLink))) 7782} 7783 7784// RestorePointListResultPage contains a page of RestorePoint values. 7785type RestorePointListResultPage struct { 7786 fn func(context.Context, RestorePointListResult) (RestorePointListResult, error) 7787 rplr RestorePointListResult 7788} 7789 7790// NextWithContext advances to the next page of values. If there was an error making 7791// the request the page does not advance and the error is returned. 7792func (page *RestorePointListResultPage) NextWithContext(ctx context.Context) (err error) { 7793 if tracing.IsEnabled() { 7794 ctx = tracing.StartSpan(ctx, fqdn+"/RestorePointListResultPage.NextWithContext") 7795 defer func() { 7796 sc := -1 7797 if page.Response().Response.Response != nil { 7798 sc = page.Response().Response.Response.StatusCode 7799 } 7800 tracing.EndSpan(ctx, sc, err) 7801 }() 7802 } 7803 for { 7804 next, err := page.fn(ctx, page.rplr) 7805 if err != nil { 7806 return err 7807 } 7808 page.rplr = next 7809 if !next.hasNextLink() || !next.IsEmpty() { 7810 break 7811 } 7812 } 7813 return nil 7814} 7815 7816// Next advances to the next page of values. If there was an error making 7817// the request the page does not advance and the error is returned. 7818// Deprecated: Use NextWithContext() instead. 7819func (page *RestorePointListResultPage) Next() error { 7820 return page.NextWithContext(context.Background()) 7821} 7822 7823// NotDone returns true if the page enumeration should be started or is not yet complete. 7824func (page RestorePointListResultPage) NotDone() bool { 7825 return !page.rplr.IsEmpty() 7826} 7827 7828// Response returns the raw server response from the last page request. 7829func (page RestorePointListResultPage) Response() RestorePointListResult { 7830 return page.rplr 7831} 7832 7833// Values returns the slice of values for the current page or nil if there are no values. 7834func (page RestorePointListResultPage) Values() []RestorePoint { 7835 if page.rplr.IsEmpty() { 7836 return nil 7837 } 7838 return *page.rplr.Value 7839} 7840 7841// Creates a new instance of the RestorePointListResultPage type. 7842func NewRestorePointListResultPage(cur RestorePointListResult, getNextPage func(context.Context, RestorePointListResult) (RestorePointListResult, error)) RestorePointListResultPage { 7843 return RestorePointListResultPage{ 7844 fn: getNextPage, 7845 rplr: cur, 7846 } 7847} 7848 7849// RestorePointProperties properties of a database restore point 7850type RestorePointProperties struct { 7851 // RestorePointType - READ-ONLY; The type of restore point. Possible values include: 'CONTINUOUS', 'DISCRETE' 7852 RestorePointType RestorePointType `json:"restorePointType,omitempty"` 7853 // EarliestRestoreDate - READ-ONLY; The earliest time to which this database can be restored 7854 EarliestRestoreDate *date.Time `json:"earliestRestoreDate,omitempty"` 7855 // RestorePointCreationDate - READ-ONLY; The time the backup was taken 7856 RestorePointCreationDate *date.Time `json:"restorePointCreationDate,omitempty"` 7857 // RestorePointLabel - READ-ONLY; The label of restore point for backup request by user 7858 RestorePointLabel *string `json:"restorePointLabel,omitempty"` 7859} 7860 7861// MarshalJSON is the custom marshaler for RestorePointProperties. 7862func (rpp RestorePointProperties) MarshalJSON() ([]byte, error) { 7863 objectMap := make(map[string]interface{}) 7864 return json.Marshal(objectMap) 7865} 7866 7867// BasicSecretBase the base definition of a secret type. 7868type BasicSecretBase interface { 7869 AsSecureString() (*SecureString, bool) 7870 AsSecretBase() (*SecretBase, bool) 7871} 7872 7873// SecretBase the base definition of a secret type. 7874type SecretBase struct { 7875 // Type - Possible values include: 'TypeSecretBase', 'TypeSecureString' 7876 Type TypeBasicSecretBase `json:"type,omitempty"` 7877} 7878 7879func unmarshalBasicSecretBase(body []byte) (BasicSecretBase, error) { 7880 var m map[string]interface{} 7881 err := json.Unmarshal(body, &m) 7882 if err != nil { 7883 return nil, err 7884 } 7885 7886 switch m["type"] { 7887 case string(TypeSecureString): 7888 var ss SecureString 7889 err := json.Unmarshal(body, &ss) 7890 return ss, err 7891 default: 7892 var sb SecretBase 7893 err := json.Unmarshal(body, &sb) 7894 return sb, err 7895 } 7896} 7897func unmarshalBasicSecretBaseArray(body []byte) ([]BasicSecretBase, error) { 7898 var rawMessages []*json.RawMessage 7899 err := json.Unmarshal(body, &rawMessages) 7900 if err != nil { 7901 return nil, err 7902 } 7903 7904 sbArray := make([]BasicSecretBase, len(rawMessages)) 7905 7906 for index, rawMessage := range rawMessages { 7907 sb, err := unmarshalBasicSecretBase(*rawMessage) 7908 if err != nil { 7909 return nil, err 7910 } 7911 sbArray[index] = sb 7912 } 7913 return sbArray, nil 7914} 7915 7916// MarshalJSON is the custom marshaler for SecretBase. 7917func (sb SecretBase) MarshalJSON() ([]byte, error) { 7918 sb.Type = TypeSecretBase 7919 objectMap := make(map[string]interface{}) 7920 if sb.Type != "" { 7921 objectMap["type"] = sb.Type 7922 } 7923 return json.Marshal(objectMap) 7924} 7925 7926// AsSecureString is the BasicSecretBase implementation for SecretBase. 7927func (sb SecretBase) AsSecureString() (*SecureString, bool) { 7928 return nil, false 7929} 7930 7931// AsSecretBase is the BasicSecretBase implementation for SecretBase. 7932func (sb SecretBase) AsSecretBase() (*SecretBase, bool) { 7933 return &sb, true 7934} 7935 7936// AsBasicSecretBase is the BasicSecretBase implementation for SecretBase. 7937func (sb SecretBase) AsBasicSecretBase() (BasicSecretBase, bool) { 7938 return &sb, true 7939} 7940 7941// SecureString azure Synapse secure string definition. The string value will be masked with asterisks '*' 7942// during Get or List API calls. 7943type SecureString struct { 7944 // Value - Value of secure string. 7945 Value *string `json:"value,omitempty"` 7946 // Type - Possible values include: 'TypeSecretBase', 'TypeSecureString' 7947 Type TypeBasicSecretBase `json:"type,omitempty"` 7948} 7949 7950// MarshalJSON is the custom marshaler for SecureString. 7951func (ss SecureString) MarshalJSON() ([]byte, error) { 7952 ss.Type = TypeSecureString 7953 objectMap := make(map[string]interface{}) 7954 if ss.Value != nil { 7955 objectMap["value"] = ss.Value 7956 } 7957 if ss.Type != "" { 7958 objectMap["type"] = ss.Type 7959 } 7960 return json.Marshal(objectMap) 7961} 7962 7963// AsSecureString is the BasicSecretBase implementation for SecureString. 7964func (ss SecureString) AsSecureString() (*SecureString, bool) { 7965 return &ss, true 7966} 7967 7968// AsSecretBase is the BasicSecretBase implementation for SecureString. 7969func (ss SecureString) AsSecretBase() (*SecretBase, bool) { 7970 return nil, false 7971} 7972 7973// AsBasicSecretBase is the BasicSecretBase implementation for SecureString. 7974func (ss SecureString) AsBasicSecretBase() (BasicSecretBase, bool) { 7975 return &ss, true 7976} 7977 7978// SecurityAlertPolicyProperties properties of a security alert policy. 7979type SecurityAlertPolicyProperties struct { 7980 // State - Specifies the state of the policy, whether it is enabled or disabled or a policy has not been applied yet on the specific Sql pool. Possible values include: 'SecurityAlertPolicyStateNew', 'SecurityAlertPolicyStateEnabled', 'SecurityAlertPolicyStateDisabled' 7981 State SecurityAlertPolicyState `json:"state,omitempty"` 7982 // DisabledAlerts - Specifies an array of alerts that are disabled. Allowed values are: Sql_Injection, Sql_Injection_Vulnerability, Access_Anomaly, Data_Exfiltration, Unsafe_Action 7983 DisabledAlerts *[]string `json:"disabledAlerts,omitempty"` 7984 // EmailAddresses - Specifies an array of e-mail addresses to which the alert is sent. 7985 EmailAddresses *[]string `json:"emailAddresses,omitempty"` 7986 // EmailAccountAdmins - Specifies that the alert is sent to the account administrators. 7987 EmailAccountAdmins *bool `json:"emailAccountAdmins,omitempty"` 7988 // StorageEndpoint - Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). This blob storage will hold all Threat Detection audit logs. 7989 StorageEndpoint *string `json:"storageEndpoint,omitempty"` 7990 // StorageAccountAccessKey - Specifies the identifier key of the Threat Detection audit storage account. 7991 StorageAccountAccessKey *string `json:"storageAccountAccessKey,omitempty"` 7992 // RetentionDays - Specifies the number of days to keep in the Threat Detection audit logs. 7993 RetentionDays *int32 `json:"retentionDays,omitempty"` 7994 // CreationTime - READ-ONLY; Specifies the UTC creation time of the policy. 7995 CreationTime *date.Time `json:"creationTime,omitempty"` 7996} 7997 7998// MarshalJSON is the custom marshaler for SecurityAlertPolicyProperties. 7999func (sapp SecurityAlertPolicyProperties) MarshalJSON() ([]byte, error) { 8000 objectMap := make(map[string]interface{}) 8001 if sapp.State != "" { 8002 objectMap["state"] = sapp.State 8003 } 8004 if sapp.DisabledAlerts != nil { 8005 objectMap["disabledAlerts"] = sapp.DisabledAlerts 8006 } 8007 if sapp.EmailAddresses != nil { 8008 objectMap["emailAddresses"] = sapp.EmailAddresses 8009 } 8010 if sapp.EmailAccountAdmins != nil { 8011 objectMap["emailAccountAdmins"] = sapp.EmailAccountAdmins 8012 } 8013 if sapp.StorageEndpoint != nil { 8014 objectMap["storageEndpoint"] = sapp.StorageEndpoint 8015 } 8016 if sapp.StorageAccountAccessKey != nil { 8017 objectMap["storageAccountAccessKey"] = sapp.StorageAccountAccessKey 8018 } 8019 if sapp.RetentionDays != nil { 8020 objectMap["retentionDays"] = sapp.RetentionDays 8021 } 8022 return json.Marshal(objectMap) 8023} 8024 8025// SelfHostedIntegrationRuntime self-hosted integration runtime. 8026type SelfHostedIntegrationRuntime struct { 8027 // SelfHostedIntegrationRuntimeTypeProperties - When this property is not null, means this is a linked integration runtime. The property is used to access original integration runtime. 8028 *SelfHostedIntegrationRuntimeTypeProperties `json:"typeProperties,omitempty"` 8029 // AdditionalProperties - Unmatched properties from the message are deserialized this collection 8030 AdditionalProperties map[string]interface{} `json:""` 8031 // Description - Integration runtime description. 8032 Description *string `json:"description,omitempty"` 8033 // Type - Possible values include: 'TypeIntegrationRuntime', 'TypeManaged', 'TypeSelfHosted' 8034 Type Type `json:"type,omitempty"` 8035} 8036 8037// MarshalJSON is the custom marshaler for SelfHostedIntegrationRuntime. 8038func (shir SelfHostedIntegrationRuntime) MarshalJSON() ([]byte, error) { 8039 shir.Type = TypeSelfHosted 8040 objectMap := make(map[string]interface{}) 8041 if shir.SelfHostedIntegrationRuntimeTypeProperties != nil { 8042 objectMap["typeProperties"] = shir.SelfHostedIntegrationRuntimeTypeProperties 8043 } 8044 if shir.Description != nil { 8045 objectMap["description"] = shir.Description 8046 } 8047 if shir.Type != "" { 8048 objectMap["type"] = shir.Type 8049 } 8050 for k, v := range shir.AdditionalProperties { 8051 objectMap[k] = v 8052 } 8053 return json.Marshal(objectMap) 8054} 8055 8056// AsManagedIntegrationRuntime is the BasicIntegrationRuntime implementation for SelfHostedIntegrationRuntime. 8057func (shir SelfHostedIntegrationRuntime) AsManagedIntegrationRuntime() (*ManagedIntegrationRuntime, bool) { 8058 return nil, false 8059} 8060 8061// AsSelfHostedIntegrationRuntime is the BasicIntegrationRuntime implementation for SelfHostedIntegrationRuntime. 8062func (shir SelfHostedIntegrationRuntime) AsSelfHostedIntegrationRuntime() (*SelfHostedIntegrationRuntime, bool) { 8063 return &shir, true 8064} 8065 8066// AsIntegrationRuntime is the BasicIntegrationRuntime implementation for SelfHostedIntegrationRuntime. 8067func (shir SelfHostedIntegrationRuntime) AsIntegrationRuntime() (*IntegrationRuntime, bool) { 8068 return nil, false 8069} 8070 8071// AsBasicIntegrationRuntime is the BasicIntegrationRuntime implementation for SelfHostedIntegrationRuntime. 8072func (shir SelfHostedIntegrationRuntime) AsBasicIntegrationRuntime() (BasicIntegrationRuntime, bool) { 8073 return &shir, true 8074} 8075 8076// UnmarshalJSON is the custom unmarshaler for SelfHostedIntegrationRuntime struct. 8077func (shir *SelfHostedIntegrationRuntime) UnmarshalJSON(body []byte) error { 8078 var m map[string]*json.RawMessage 8079 err := json.Unmarshal(body, &m) 8080 if err != nil { 8081 return err 8082 } 8083 for k, v := range m { 8084 switch k { 8085 case "typeProperties": 8086 if v != nil { 8087 var selfHostedIntegrationRuntimeTypeProperties SelfHostedIntegrationRuntimeTypeProperties 8088 err = json.Unmarshal(*v, &selfHostedIntegrationRuntimeTypeProperties) 8089 if err != nil { 8090 return err 8091 } 8092 shir.SelfHostedIntegrationRuntimeTypeProperties = &selfHostedIntegrationRuntimeTypeProperties 8093 } 8094 default: 8095 if v != nil { 8096 var additionalProperties interface{} 8097 err = json.Unmarshal(*v, &additionalProperties) 8098 if err != nil { 8099 return err 8100 } 8101 if shir.AdditionalProperties == nil { 8102 shir.AdditionalProperties = make(map[string]interface{}) 8103 } 8104 shir.AdditionalProperties[k] = additionalProperties 8105 } 8106 case "description": 8107 if v != nil { 8108 var description string 8109 err = json.Unmarshal(*v, &description) 8110 if err != nil { 8111 return err 8112 } 8113 shir.Description = &description 8114 } 8115 case "type": 8116 if v != nil { 8117 var typeVar Type 8118 err = json.Unmarshal(*v, &typeVar) 8119 if err != nil { 8120 return err 8121 } 8122 shir.Type = typeVar 8123 } 8124 } 8125 } 8126 8127 return nil 8128} 8129 8130// SelfHostedIntegrationRuntimeNode properties of Self-hosted integration runtime node. 8131type SelfHostedIntegrationRuntimeNode struct { 8132 autorest.Response `json:"-"` 8133 // NodeName - READ-ONLY; Name of the integration runtime node. 8134 NodeName *string `json:"nodeName,omitempty"` 8135 // MachineName - READ-ONLY; Machine name of the integration runtime node. 8136 MachineName *string `json:"machineName,omitempty"` 8137 // HostServiceURI - READ-ONLY; URI for the host machine of the integration runtime. 8138 HostServiceURI *string `json:"hostServiceUri,omitempty"` 8139 // Status - READ-ONLY; Status of the integration runtime node. Possible values include: 'SelfHostedIntegrationRuntimeNodeStatusNeedRegistration', 'SelfHostedIntegrationRuntimeNodeStatusOnline', 'SelfHostedIntegrationRuntimeNodeStatusLimited', 'SelfHostedIntegrationRuntimeNodeStatusOffline', 'SelfHostedIntegrationRuntimeNodeStatusUpgrading', 'SelfHostedIntegrationRuntimeNodeStatusInitializing', 'SelfHostedIntegrationRuntimeNodeStatusInitializeFailed' 8140 Status SelfHostedIntegrationRuntimeNodeStatus `json:"status,omitempty"` 8141 // Capabilities - READ-ONLY; The integration runtime capabilities dictionary 8142 Capabilities map[string]*string `json:"capabilities"` 8143 // VersionStatus - READ-ONLY; Status of the integration runtime node version. 8144 VersionStatus *string `json:"versionStatus,omitempty"` 8145 // Version - READ-ONLY; Version of the integration runtime node. 8146 Version *string `json:"version,omitempty"` 8147 // RegisterTime - READ-ONLY; The time at which the integration runtime node was registered in ISO8601 format. 8148 RegisterTime *date.Time `json:"registerTime,omitempty"` 8149 // LastConnectTime - READ-ONLY; The most recent time at which the integration runtime was connected in ISO8601 format. 8150 LastConnectTime *date.Time `json:"lastConnectTime,omitempty"` 8151 // ExpiryTime - READ-ONLY; The time at which the integration runtime will expire in ISO8601 format. 8152 ExpiryTime *date.Time `json:"expiryTime,omitempty"` 8153 // LastStartTime - READ-ONLY; The time the node last started up. 8154 LastStartTime *date.Time `json:"lastStartTime,omitempty"` 8155 // LastStopTime - READ-ONLY; The integration runtime node last stop time. 8156 LastStopTime *date.Time `json:"lastStopTime,omitempty"` 8157 // LastUpdateResult - READ-ONLY; The result of the last integration runtime node update. Possible values include: 'None', 'Succeed', 'Fail' 8158 LastUpdateResult IntegrationRuntimeUpdateResult `json:"lastUpdateResult,omitempty"` 8159 // LastStartUpdateTime - READ-ONLY; The last time for the integration runtime node update start. 8160 LastStartUpdateTime *date.Time `json:"lastStartUpdateTime,omitempty"` 8161 // LastEndUpdateTime - READ-ONLY; The last time for the integration runtime node update end. 8162 LastEndUpdateTime *date.Time `json:"lastEndUpdateTime,omitempty"` 8163 // IsActiveDispatcher - READ-ONLY; Indicates whether this node is the active dispatcher for integration runtime requests. 8164 IsActiveDispatcher *bool `json:"isActiveDispatcher,omitempty"` 8165 // ConcurrentJobsLimit - READ-ONLY; Maximum concurrent jobs on the integration runtime node. 8166 ConcurrentJobsLimit *int32 `json:"concurrentJobsLimit,omitempty"` 8167 // MaxConcurrentJobs - READ-ONLY; The maximum concurrent jobs in this integration runtime. 8168 MaxConcurrentJobs *int32 `json:"maxConcurrentJobs,omitempty"` 8169} 8170 8171// MarshalJSON is the custom marshaler for SelfHostedIntegrationRuntimeNode. 8172func (shirn SelfHostedIntegrationRuntimeNode) MarshalJSON() ([]byte, error) { 8173 objectMap := make(map[string]interface{}) 8174 return json.Marshal(objectMap) 8175} 8176 8177// SelfHostedIntegrationRuntimeStatus self-hosted integration runtime status. 8178type SelfHostedIntegrationRuntimeStatus struct { 8179 // SelfHostedIntegrationRuntimeStatusTypeProperties - Self-hosted integration runtime status type properties. 8180 *SelfHostedIntegrationRuntimeStatusTypeProperties `json:"typeProperties,omitempty"` 8181 // AdditionalProperties - Unmatched properties from the message are deserialized this collection 8182 AdditionalProperties map[string]interface{} `json:""` 8183 // DataFactoryName - READ-ONLY; The workspace name which the integration runtime belong to. 8184 DataFactoryName *string `json:"dataFactoryName,omitempty"` 8185 // State - READ-ONLY; The state of integration runtime. Possible values include: 'Initial', 'Stopped', 'Started', 'Starting', 'Stopping', 'NeedRegistration', 'Online', 'Limited', 'Offline', 'AccessDenied' 8186 State IntegrationRuntimeState `json:"state,omitempty"` 8187 // Type - Possible values include: 'TypeBasicIntegrationRuntimeStatusTypeIntegrationRuntimeStatus', 'TypeBasicIntegrationRuntimeStatusTypeManaged', 'TypeBasicIntegrationRuntimeStatusTypeSelfHosted' 8188 Type TypeBasicIntegrationRuntimeStatus `json:"type,omitempty"` 8189} 8190 8191// MarshalJSON is the custom marshaler for SelfHostedIntegrationRuntimeStatus. 8192func (shirs SelfHostedIntegrationRuntimeStatus) MarshalJSON() ([]byte, error) { 8193 shirs.Type = TypeBasicIntegrationRuntimeStatusTypeSelfHosted 8194 objectMap := make(map[string]interface{}) 8195 if shirs.SelfHostedIntegrationRuntimeStatusTypeProperties != nil { 8196 objectMap["typeProperties"] = shirs.SelfHostedIntegrationRuntimeStatusTypeProperties 8197 } 8198 if shirs.Type != "" { 8199 objectMap["type"] = shirs.Type 8200 } 8201 for k, v := range shirs.AdditionalProperties { 8202 objectMap[k] = v 8203 } 8204 return json.Marshal(objectMap) 8205} 8206 8207// AsManagedIntegrationRuntimeStatus is the BasicIntegrationRuntimeStatus implementation for SelfHostedIntegrationRuntimeStatus. 8208func (shirs SelfHostedIntegrationRuntimeStatus) AsManagedIntegrationRuntimeStatus() (*ManagedIntegrationRuntimeStatus, bool) { 8209 return nil, false 8210} 8211 8212// AsSelfHostedIntegrationRuntimeStatus is the BasicIntegrationRuntimeStatus implementation for SelfHostedIntegrationRuntimeStatus. 8213func (shirs SelfHostedIntegrationRuntimeStatus) AsSelfHostedIntegrationRuntimeStatus() (*SelfHostedIntegrationRuntimeStatus, bool) { 8214 return &shirs, true 8215} 8216 8217// AsIntegrationRuntimeStatus is the BasicIntegrationRuntimeStatus implementation for SelfHostedIntegrationRuntimeStatus. 8218func (shirs SelfHostedIntegrationRuntimeStatus) AsIntegrationRuntimeStatus() (*IntegrationRuntimeStatus, bool) { 8219 return nil, false 8220} 8221 8222// AsBasicIntegrationRuntimeStatus is the BasicIntegrationRuntimeStatus implementation for SelfHostedIntegrationRuntimeStatus. 8223func (shirs SelfHostedIntegrationRuntimeStatus) AsBasicIntegrationRuntimeStatus() (BasicIntegrationRuntimeStatus, bool) { 8224 return &shirs, true 8225} 8226 8227// UnmarshalJSON is the custom unmarshaler for SelfHostedIntegrationRuntimeStatus struct. 8228func (shirs *SelfHostedIntegrationRuntimeStatus) UnmarshalJSON(body []byte) error { 8229 var m map[string]*json.RawMessage 8230 err := json.Unmarshal(body, &m) 8231 if err != nil { 8232 return err 8233 } 8234 for k, v := range m { 8235 switch k { 8236 case "typeProperties": 8237 if v != nil { 8238 var selfHostedIntegrationRuntimeStatusTypeProperties SelfHostedIntegrationRuntimeStatusTypeProperties 8239 err = json.Unmarshal(*v, &selfHostedIntegrationRuntimeStatusTypeProperties) 8240 if err != nil { 8241 return err 8242 } 8243 shirs.SelfHostedIntegrationRuntimeStatusTypeProperties = &selfHostedIntegrationRuntimeStatusTypeProperties 8244 } 8245 default: 8246 if v != nil { 8247 var additionalProperties interface{} 8248 err = json.Unmarshal(*v, &additionalProperties) 8249 if err != nil { 8250 return err 8251 } 8252 if shirs.AdditionalProperties == nil { 8253 shirs.AdditionalProperties = make(map[string]interface{}) 8254 } 8255 shirs.AdditionalProperties[k] = additionalProperties 8256 } 8257 case "dataFactoryName": 8258 if v != nil { 8259 var dataFactoryName string 8260 err = json.Unmarshal(*v, &dataFactoryName) 8261 if err != nil { 8262 return err 8263 } 8264 shirs.DataFactoryName = &dataFactoryName 8265 } 8266 case "state": 8267 if v != nil { 8268 var state IntegrationRuntimeState 8269 err = json.Unmarshal(*v, &state) 8270 if err != nil { 8271 return err 8272 } 8273 shirs.State = state 8274 } 8275 case "type": 8276 if v != nil { 8277 var typeVar TypeBasicIntegrationRuntimeStatus 8278 err = json.Unmarshal(*v, &typeVar) 8279 if err != nil { 8280 return err 8281 } 8282 shirs.Type = typeVar 8283 } 8284 } 8285 } 8286 8287 return nil 8288} 8289 8290// SelfHostedIntegrationRuntimeStatusTypeProperties self-hosted integration runtime status type properties. 8291type SelfHostedIntegrationRuntimeStatusTypeProperties struct { 8292 // CreateTime - READ-ONLY; The time at which the integration runtime was created, in ISO8601 format. 8293 CreateTime *date.Time `json:"createTime,omitempty"` 8294 // TaskQueueID - READ-ONLY; The task queue id of the integration runtime. 8295 TaskQueueID *string `json:"taskQueueId,omitempty"` 8296 // NodeCommunicationChannelEncryptionMode - READ-ONLY; The node communication Channel encryption mode 8297 NodeCommunicationChannelEncryptionMode *string `json:"nodeCommunicationChannelEncryptionMode,omitempty"` 8298 // InternalChannelEncryption - READ-ONLY; It is used to set the encryption mode for node-node communication channel (when more than 2 self-hosted integration runtime nodes exist). Possible values include: 'NotSet', 'SslEncrypted', 'NotEncrypted' 8299 InternalChannelEncryption IntegrationRuntimeInternalChannelEncryptionMode `json:"internalChannelEncryption,omitempty"` 8300 // Version - READ-ONLY; Version of the integration runtime. 8301 Version *string `json:"version,omitempty"` 8302 // Nodes - The list of nodes for this integration runtime. 8303 Nodes *[]SelfHostedIntegrationRuntimeNode `json:"nodes,omitempty"` 8304 // ScheduledUpdateDate - READ-ONLY; The date at which the integration runtime will be scheduled to update, in ISO8601 format. 8305 ScheduledUpdateDate *date.Time `json:"scheduledUpdateDate,omitempty"` 8306 // UpdateDelayOffset - READ-ONLY; The time in the date scheduled by service to update the integration runtime, e.g., PT03H is 3 hours 8307 UpdateDelayOffset *string `json:"updateDelayOffset,omitempty"` 8308 // LocalTimeZoneOffset - READ-ONLY; The local time zone offset in hours. 8309 LocalTimeZoneOffset *string `json:"localTimeZoneOffset,omitempty"` 8310 // Capabilities - READ-ONLY; Object with additional information about integration runtime capabilities. 8311 Capabilities map[string]*string `json:"capabilities"` 8312 // ServiceUrls - READ-ONLY; The URLs for the services used in integration runtime backend service. 8313 ServiceUrls *[]string `json:"serviceUrls,omitempty"` 8314 // AutoUpdate - READ-ONLY; Whether Self-hosted integration runtime auto update has been turned on. Possible values include: 'On', 'Off' 8315 AutoUpdate IntegrationRuntimeAutoUpdate `json:"autoUpdate,omitempty"` 8316 // VersionStatus - READ-ONLY; Status of the integration runtime version. 8317 VersionStatus *string `json:"versionStatus,omitempty"` 8318 // Links - The list of linked integration runtimes that are created to share with this integration runtime. 8319 Links *[]LinkedIntegrationRuntime `json:"links,omitempty"` 8320 // PushedVersion - READ-ONLY; The version that the integration runtime is going to update to. 8321 PushedVersion *string `json:"pushedVersion,omitempty"` 8322 // LatestVersion - READ-ONLY; The latest version on download center. 8323 LatestVersion *string `json:"latestVersion,omitempty"` 8324 // AutoUpdateETA - READ-ONLY; The estimated time when the self-hosted integration runtime will be updated. 8325 AutoUpdateETA *date.Time `json:"autoUpdateETA,omitempty"` 8326} 8327 8328// MarshalJSON is the custom marshaler for SelfHostedIntegrationRuntimeStatusTypeProperties. 8329func (shirstp SelfHostedIntegrationRuntimeStatusTypeProperties) MarshalJSON() ([]byte, error) { 8330 objectMap := make(map[string]interface{}) 8331 if shirstp.Nodes != nil { 8332 objectMap["nodes"] = shirstp.Nodes 8333 } 8334 if shirstp.Links != nil { 8335 objectMap["links"] = shirstp.Links 8336 } 8337 return json.Marshal(objectMap) 8338} 8339 8340// SelfHostedIntegrationRuntimeTypeProperties the self-hosted integration runtime properties. 8341type SelfHostedIntegrationRuntimeTypeProperties struct { 8342 // LinkedInfo - Linked integration runtime type from data factory 8343 LinkedInfo BasicLinkedIntegrationRuntimeType `json:"linkedInfo,omitempty"` 8344} 8345 8346// UnmarshalJSON is the custom unmarshaler for SelfHostedIntegrationRuntimeTypeProperties struct. 8347func (shirtp *SelfHostedIntegrationRuntimeTypeProperties) UnmarshalJSON(body []byte) error { 8348 var m map[string]*json.RawMessage 8349 err := json.Unmarshal(body, &m) 8350 if err != nil { 8351 return err 8352 } 8353 for k, v := range m { 8354 switch k { 8355 case "linkedInfo": 8356 if v != nil { 8357 linkedInfo, err := unmarshalBasicLinkedIntegrationRuntimeType(*v) 8358 if err != nil { 8359 return err 8360 } 8361 shirtp.LinkedInfo = linkedInfo 8362 } 8363 } 8364 } 8365 8366 return nil 8367} 8368 8369// SensitivityLabel a sensitivity label. 8370type SensitivityLabel struct { 8371 autorest.Response `json:"-"` 8372 // SensitivityLabelProperties - Resource properties. 8373 *SensitivityLabelProperties `json:"properties,omitempty"` 8374 // ID - READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} 8375 ID *string `json:"id,omitempty"` 8376 // Name - READ-ONLY; The name of the resource 8377 Name *string `json:"name,omitempty"` 8378 // Type - READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" 8379 Type *string `json:"type,omitempty"` 8380} 8381 8382// MarshalJSON is the custom marshaler for SensitivityLabel. 8383func (sl SensitivityLabel) MarshalJSON() ([]byte, error) { 8384 objectMap := make(map[string]interface{}) 8385 if sl.SensitivityLabelProperties != nil { 8386 objectMap["properties"] = sl.SensitivityLabelProperties 8387 } 8388 return json.Marshal(objectMap) 8389} 8390 8391// UnmarshalJSON is the custom unmarshaler for SensitivityLabel struct. 8392func (sl *SensitivityLabel) UnmarshalJSON(body []byte) error { 8393 var m map[string]*json.RawMessage 8394 err := json.Unmarshal(body, &m) 8395 if err != nil { 8396 return err 8397 } 8398 for k, v := range m { 8399 switch k { 8400 case "properties": 8401 if v != nil { 8402 var sensitivityLabelProperties SensitivityLabelProperties 8403 err = json.Unmarshal(*v, &sensitivityLabelProperties) 8404 if err != nil { 8405 return err 8406 } 8407 sl.SensitivityLabelProperties = &sensitivityLabelProperties 8408 } 8409 case "id": 8410 if v != nil { 8411 var ID string 8412 err = json.Unmarshal(*v, &ID) 8413 if err != nil { 8414 return err 8415 } 8416 sl.ID = &ID 8417 } 8418 case "name": 8419 if v != nil { 8420 var name string 8421 err = json.Unmarshal(*v, &name) 8422 if err != nil { 8423 return err 8424 } 8425 sl.Name = &name 8426 } 8427 case "type": 8428 if v != nil { 8429 var typeVar string 8430 err = json.Unmarshal(*v, &typeVar) 8431 if err != nil { 8432 return err 8433 } 8434 sl.Type = &typeVar 8435 } 8436 } 8437 } 8438 8439 return nil 8440} 8441 8442// SensitivityLabelListResult a list of sensitivity labels. 8443type SensitivityLabelListResult struct { 8444 autorest.Response `json:"-"` 8445 // Value - READ-ONLY; Array of results. 8446 Value *[]SensitivityLabel `json:"value,omitempty"` 8447 // NextLink - READ-ONLY; Link to retrieve next page of results. 8448 NextLink *string `json:"nextLink,omitempty"` 8449} 8450 8451// MarshalJSON is the custom marshaler for SensitivityLabelListResult. 8452func (sllr SensitivityLabelListResult) MarshalJSON() ([]byte, error) { 8453 objectMap := make(map[string]interface{}) 8454 return json.Marshal(objectMap) 8455} 8456 8457// SensitivityLabelListResultIterator provides access to a complete listing of SensitivityLabel values. 8458type SensitivityLabelListResultIterator struct { 8459 i int 8460 page SensitivityLabelListResultPage 8461} 8462 8463// NextWithContext advances to the next value. If there was an error making 8464// the request the iterator does not advance and the error is returned. 8465func (iter *SensitivityLabelListResultIterator) NextWithContext(ctx context.Context) (err error) { 8466 if tracing.IsEnabled() { 8467 ctx = tracing.StartSpan(ctx, fqdn+"/SensitivityLabelListResultIterator.NextWithContext") 8468 defer func() { 8469 sc := -1 8470 if iter.Response().Response.Response != nil { 8471 sc = iter.Response().Response.Response.StatusCode 8472 } 8473 tracing.EndSpan(ctx, sc, err) 8474 }() 8475 } 8476 iter.i++ 8477 if iter.i < len(iter.page.Values()) { 8478 return nil 8479 } 8480 err = iter.page.NextWithContext(ctx) 8481 if err != nil { 8482 iter.i-- 8483 return err 8484 } 8485 iter.i = 0 8486 return nil 8487} 8488 8489// Next advances to the next value. If there was an error making 8490// the request the iterator does not advance and the error is returned. 8491// Deprecated: Use NextWithContext() instead. 8492func (iter *SensitivityLabelListResultIterator) Next() error { 8493 return iter.NextWithContext(context.Background()) 8494} 8495 8496// NotDone returns true if the enumeration should be started or is not yet complete. 8497func (iter SensitivityLabelListResultIterator) NotDone() bool { 8498 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 8499} 8500 8501// Response returns the raw server response from the last page request. 8502func (iter SensitivityLabelListResultIterator) Response() SensitivityLabelListResult { 8503 return iter.page.Response() 8504} 8505 8506// Value returns the current value or a zero-initialized value if the 8507// iterator has advanced beyond the end of the collection. 8508func (iter SensitivityLabelListResultIterator) Value() SensitivityLabel { 8509 if !iter.page.NotDone() { 8510 return SensitivityLabel{} 8511 } 8512 return iter.page.Values()[iter.i] 8513} 8514 8515// Creates a new instance of the SensitivityLabelListResultIterator type. 8516func NewSensitivityLabelListResultIterator(page SensitivityLabelListResultPage) SensitivityLabelListResultIterator { 8517 return SensitivityLabelListResultIterator{page: page} 8518} 8519 8520// IsEmpty returns true if the ListResult contains no values. 8521func (sllr SensitivityLabelListResult) IsEmpty() bool { 8522 return sllr.Value == nil || len(*sllr.Value) == 0 8523} 8524 8525// hasNextLink returns true if the NextLink is not empty. 8526func (sllr SensitivityLabelListResult) hasNextLink() bool { 8527 return sllr.NextLink != nil && len(*sllr.NextLink) != 0 8528} 8529 8530// sensitivityLabelListResultPreparer prepares a request to retrieve the next set of results. 8531// It returns nil if no more results exist. 8532func (sllr SensitivityLabelListResult) sensitivityLabelListResultPreparer(ctx context.Context) (*http.Request, error) { 8533 if !sllr.hasNextLink() { 8534 return nil, nil 8535 } 8536 return autorest.Prepare((&http.Request{}).WithContext(ctx), 8537 autorest.AsJSON(), 8538 autorest.AsGet(), 8539 autorest.WithBaseURL(to.String(sllr.NextLink))) 8540} 8541 8542// SensitivityLabelListResultPage contains a page of SensitivityLabel values. 8543type SensitivityLabelListResultPage struct { 8544 fn func(context.Context, SensitivityLabelListResult) (SensitivityLabelListResult, error) 8545 sllr SensitivityLabelListResult 8546} 8547 8548// NextWithContext advances to the next page of values. If there was an error making 8549// the request the page does not advance and the error is returned. 8550func (page *SensitivityLabelListResultPage) NextWithContext(ctx context.Context) (err error) { 8551 if tracing.IsEnabled() { 8552 ctx = tracing.StartSpan(ctx, fqdn+"/SensitivityLabelListResultPage.NextWithContext") 8553 defer func() { 8554 sc := -1 8555 if page.Response().Response.Response != nil { 8556 sc = page.Response().Response.Response.StatusCode 8557 } 8558 tracing.EndSpan(ctx, sc, err) 8559 }() 8560 } 8561 for { 8562 next, err := page.fn(ctx, page.sllr) 8563 if err != nil { 8564 return err 8565 } 8566 page.sllr = next 8567 if !next.hasNextLink() || !next.IsEmpty() { 8568 break 8569 } 8570 } 8571 return nil 8572} 8573 8574// Next advances to the next page of values. If there was an error making 8575// the request the page does not advance and the error is returned. 8576// Deprecated: Use NextWithContext() instead. 8577func (page *SensitivityLabelListResultPage) Next() error { 8578 return page.NextWithContext(context.Background()) 8579} 8580 8581// NotDone returns true if the page enumeration should be started or is not yet complete. 8582func (page SensitivityLabelListResultPage) NotDone() bool { 8583 return !page.sllr.IsEmpty() 8584} 8585 8586// Response returns the raw server response from the last page request. 8587func (page SensitivityLabelListResultPage) Response() SensitivityLabelListResult { 8588 return page.sllr 8589} 8590 8591// Values returns the slice of values for the current page or nil if there are no values. 8592func (page SensitivityLabelListResultPage) Values() []SensitivityLabel { 8593 if page.sllr.IsEmpty() { 8594 return nil 8595 } 8596 return *page.sllr.Value 8597} 8598 8599// Creates a new instance of the SensitivityLabelListResultPage type. 8600func NewSensitivityLabelListResultPage(cur SensitivityLabelListResult, getNextPage func(context.Context, SensitivityLabelListResult) (SensitivityLabelListResult, error)) SensitivityLabelListResultPage { 8601 return SensitivityLabelListResultPage{ 8602 fn: getNextPage, 8603 sllr: cur, 8604 } 8605} 8606 8607// SensitivityLabelProperties properties of a sensitivity label. 8608type SensitivityLabelProperties struct { 8609 // LabelName - The label name. 8610 LabelName *string `json:"labelName,omitempty"` 8611 // LabelID - The label ID. 8612 LabelID *string `json:"labelId,omitempty"` 8613 // InformationType - The information type. 8614 InformationType *string `json:"informationType,omitempty"` 8615 // InformationTypeID - The information type ID. 8616 InformationTypeID *string `json:"informationTypeId,omitempty"` 8617 // IsDisabled - READ-ONLY; Is sensitivity recommendation disabled. Applicable for recommended sensitivity label only. Specifies whether the sensitivity recommendation on this column is disabled (dismissed) or not. 8618 IsDisabled *bool `json:"isDisabled,omitempty"` 8619} 8620 8621// MarshalJSON is the custom marshaler for SensitivityLabelProperties. 8622func (slp SensitivityLabelProperties) MarshalJSON() ([]byte, error) { 8623 objectMap := make(map[string]interface{}) 8624 if slp.LabelName != nil { 8625 objectMap["labelName"] = slp.LabelName 8626 } 8627 if slp.LabelID != nil { 8628 objectMap["labelId"] = slp.LabelID 8629 } 8630 if slp.InformationType != nil { 8631 objectMap["informationType"] = slp.InformationType 8632 } 8633 if slp.InformationTypeID != nil { 8634 objectMap["informationTypeId"] = slp.InformationTypeID 8635 } 8636 return json.Marshal(objectMap) 8637} 8638 8639// ServerBlobAuditingPolicy a server blob auditing policy. 8640type ServerBlobAuditingPolicy struct { 8641 autorest.Response `json:"-"` 8642 // ServerBlobAuditingPolicyProperties - Resource properties. 8643 *ServerBlobAuditingPolicyProperties `json:"properties,omitempty"` 8644 // ID - READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} 8645 ID *string `json:"id,omitempty"` 8646 // Name - READ-ONLY; The name of the resource 8647 Name *string `json:"name,omitempty"` 8648 // Type - READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" 8649 Type *string `json:"type,omitempty"` 8650} 8651 8652// MarshalJSON is the custom marshaler for ServerBlobAuditingPolicy. 8653func (sbap ServerBlobAuditingPolicy) MarshalJSON() ([]byte, error) { 8654 objectMap := make(map[string]interface{}) 8655 if sbap.ServerBlobAuditingPolicyProperties != nil { 8656 objectMap["properties"] = sbap.ServerBlobAuditingPolicyProperties 8657 } 8658 return json.Marshal(objectMap) 8659} 8660 8661// UnmarshalJSON is the custom unmarshaler for ServerBlobAuditingPolicy struct. 8662func (sbap *ServerBlobAuditingPolicy) UnmarshalJSON(body []byte) error { 8663 var m map[string]*json.RawMessage 8664 err := json.Unmarshal(body, &m) 8665 if err != nil { 8666 return err 8667 } 8668 for k, v := range m { 8669 switch k { 8670 case "properties": 8671 if v != nil { 8672 var serverBlobAuditingPolicyProperties ServerBlobAuditingPolicyProperties 8673 err = json.Unmarshal(*v, &serverBlobAuditingPolicyProperties) 8674 if err != nil { 8675 return err 8676 } 8677 sbap.ServerBlobAuditingPolicyProperties = &serverBlobAuditingPolicyProperties 8678 } 8679 case "id": 8680 if v != nil { 8681 var ID string 8682 err = json.Unmarshal(*v, &ID) 8683 if err != nil { 8684 return err 8685 } 8686 sbap.ID = &ID 8687 } 8688 case "name": 8689 if v != nil { 8690 var name string 8691 err = json.Unmarshal(*v, &name) 8692 if err != nil { 8693 return err 8694 } 8695 sbap.Name = &name 8696 } 8697 case "type": 8698 if v != nil { 8699 var typeVar string 8700 err = json.Unmarshal(*v, &typeVar) 8701 if err != nil { 8702 return err 8703 } 8704 sbap.Type = &typeVar 8705 } 8706 } 8707 } 8708 8709 return nil 8710} 8711 8712// ServerBlobAuditingPolicyListResult a list of server auditing settings. 8713type ServerBlobAuditingPolicyListResult struct { 8714 autorest.Response `json:"-"` 8715 // Value - READ-ONLY; Array of results. 8716 Value *[]ServerBlobAuditingPolicy `json:"value,omitempty"` 8717 // NextLink - READ-ONLY; Link to retrieve next page of results. 8718 NextLink *string `json:"nextLink,omitempty"` 8719} 8720 8721// MarshalJSON is the custom marshaler for ServerBlobAuditingPolicyListResult. 8722func (sbaplr ServerBlobAuditingPolicyListResult) MarshalJSON() ([]byte, error) { 8723 objectMap := make(map[string]interface{}) 8724 return json.Marshal(objectMap) 8725} 8726 8727// ServerBlobAuditingPolicyListResultIterator provides access to a complete listing of 8728// ServerBlobAuditingPolicy values. 8729type ServerBlobAuditingPolicyListResultIterator struct { 8730 i int 8731 page ServerBlobAuditingPolicyListResultPage 8732} 8733 8734// NextWithContext advances to the next value. If there was an error making 8735// the request the iterator does not advance and the error is returned. 8736func (iter *ServerBlobAuditingPolicyListResultIterator) NextWithContext(ctx context.Context) (err error) { 8737 if tracing.IsEnabled() { 8738 ctx = tracing.StartSpan(ctx, fqdn+"/ServerBlobAuditingPolicyListResultIterator.NextWithContext") 8739 defer func() { 8740 sc := -1 8741 if iter.Response().Response.Response != nil { 8742 sc = iter.Response().Response.Response.StatusCode 8743 } 8744 tracing.EndSpan(ctx, sc, err) 8745 }() 8746 } 8747 iter.i++ 8748 if iter.i < len(iter.page.Values()) { 8749 return nil 8750 } 8751 err = iter.page.NextWithContext(ctx) 8752 if err != nil { 8753 iter.i-- 8754 return err 8755 } 8756 iter.i = 0 8757 return nil 8758} 8759 8760// Next advances to the next value. If there was an error making 8761// the request the iterator does not advance and the error is returned. 8762// Deprecated: Use NextWithContext() instead. 8763func (iter *ServerBlobAuditingPolicyListResultIterator) Next() error { 8764 return iter.NextWithContext(context.Background()) 8765} 8766 8767// NotDone returns true if the enumeration should be started or is not yet complete. 8768func (iter ServerBlobAuditingPolicyListResultIterator) NotDone() bool { 8769 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 8770} 8771 8772// Response returns the raw server response from the last page request. 8773func (iter ServerBlobAuditingPolicyListResultIterator) Response() ServerBlobAuditingPolicyListResult { 8774 return iter.page.Response() 8775} 8776 8777// Value returns the current value or a zero-initialized value if the 8778// iterator has advanced beyond the end of the collection. 8779func (iter ServerBlobAuditingPolicyListResultIterator) Value() ServerBlobAuditingPolicy { 8780 if !iter.page.NotDone() { 8781 return ServerBlobAuditingPolicy{} 8782 } 8783 return iter.page.Values()[iter.i] 8784} 8785 8786// Creates a new instance of the ServerBlobAuditingPolicyListResultIterator type. 8787func NewServerBlobAuditingPolicyListResultIterator(page ServerBlobAuditingPolicyListResultPage) ServerBlobAuditingPolicyListResultIterator { 8788 return ServerBlobAuditingPolicyListResultIterator{page: page} 8789} 8790 8791// IsEmpty returns true if the ListResult contains no values. 8792func (sbaplr ServerBlobAuditingPolicyListResult) IsEmpty() bool { 8793 return sbaplr.Value == nil || len(*sbaplr.Value) == 0 8794} 8795 8796// hasNextLink returns true if the NextLink is not empty. 8797func (sbaplr ServerBlobAuditingPolicyListResult) hasNextLink() bool { 8798 return sbaplr.NextLink != nil && len(*sbaplr.NextLink) != 0 8799} 8800 8801// serverBlobAuditingPolicyListResultPreparer prepares a request to retrieve the next set of results. 8802// It returns nil if no more results exist. 8803func (sbaplr ServerBlobAuditingPolicyListResult) serverBlobAuditingPolicyListResultPreparer(ctx context.Context) (*http.Request, error) { 8804 if !sbaplr.hasNextLink() { 8805 return nil, nil 8806 } 8807 return autorest.Prepare((&http.Request{}).WithContext(ctx), 8808 autorest.AsJSON(), 8809 autorest.AsGet(), 8810 autorest.WithBaseURL(to.String(sbaplr.NextLink))) 8811} 8812 8813// ServerBlobAuditingPolicyListResultPage contains a page of ServerBlobAuditingPolicy values. 8814type ServerBlobAuditingPolicyListResultPage struct { 8815 fn func(context.Context, ServerBlobAuditingPolicyListResult) (ServerBlobAuditingPolicyListResult, error) 8816 sbaplr ServerBlobAuditingPolicyListResult 8817} 8818 8819// NextWithContext advances to the next page of values. If there was an error making 8820// the request the page does not advance and the error is returned. 8821func (page *ServerBlobAuditingPolicyListResultPage) NextWithContext(ctx context.Context) (err error) { 8822 if tracing.IsEnabled() { 8823 ctx = tracing.StartSpan(ctx, fqdn+"/ServerBlobAuditingPolicyListResultPage.NextWithContext") 8824 defer func() { 8825 sc := -1 8826 if page.Response().Response.Response != nil { 8827 sc = page.Response().Response.Response.StatusCode 8828 } 8829 tracing.EndSpan(ctx, sc, err) 8830 }() 8831 } 8832 for { 8833 next, err := page.fn(ctx, page.sbaplr) 8834 if err != nil { 8835 return err 8836 } 8837 page.sbaplr = next 8838 if !next.hasNextLink() || !next.IsEmpty() { 8839 break 8840 } 8841 } 8842 return nil 8843} 8844 8845// Next advances to the next page of values. If there was an error making 8846// the request the page does not advance and the error is returned. 8847// Deprecated: Use NextWithContext() instead. 8848func (page *ServerBlobAuditingPolicyListResultPage) Next() error { 8849 return page.NextWithContext(context.Background()) 8850} 8851 8852// NotDone returns true if the page enumeration should be started or is not yet complete. 8853func (page ServerBlobAuditingPolicyListResultPage) NotDone() bool { 8854 return !page.sbaplr.IsEmpty() 8855} 8856 8857// Response returns the raw server response from the last page request. 8858func (page ServerBlobAuditingPolicyListResultPage) Response() ServerBlobAuditingPolicyListResult { 8859 return page.sbaplr 8860} 8861 8862// Values returns the slice of values for the current page or nil if there are no values. 8863func (page ServerBlobAuditingPolicyListResultPage) Values() []ServerBlobAuditingPolicy { 8864 if page.sbaplr.IsEmpty() { 8865 return nil 8866 } 8867 return *page.sbaplr.Value 8868} 8869 8870// Creates a new instance of the ServerBlobAuditingPolicyListResultPage type. 8871func NewServerBlobAuditingPolicyListResultPage(cur ServerBlobAuditingPolicyListResult, getNextPage func(context.Context, ServerBlobAuditingPolicyListResult) (ServerBlobAuditingPolicyListResult, error)) ServerBlobAuditingPolicyListResultPage { 8872 return ServerBlobAuditingPolicyListResultPage{ 8873 fn: getNextPage, 8874 sbaplr: cur, 8875 } 8876} 8877 8878// ServerBlobAuditingPolicyProperties properties of a server blob auditing policy. 8879type ServerBlobAuditingPolicyProperties struct { 8880 // State - Specifies the state of the policy. If state is Enabled, storageEndpoint or isAzureMonitorTargetEnabled are required. Possible values include: 'BlobAuditingPolicyStateEnabled', 'BlobAuditingPolicyStateDisabled' 8881 State BlobAuditingPolicyState `json:"state,omitempty"` 8882 // StorageEndpoint - Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). If state is Enabled, storageEndpoint or isAzureMonitorTargetEnabled is required. 8883 StorageEndpoint *string `json:"storageEndpoint,omitempty"` 8884 // StorageAccountAccessKey - Specifies the identifier key of the auditing storage account. 8885 // If state is Enabled and storageEndpoint is specified, not specifying the storageAccountAccessKey will use SQL server system-assigned managed identity to access the storage. 8886 // Prerequisites for using managed identity authentication: 8887 // 1. Assign SQL Server a system-assigned managed identity in Azure Active Directory (AAD). 8888 // 2. Grant SQL Server identity access to the storage account by adding 'Storage Blob Data Contributor' RBAC role to the server identity. 8889 // For more information, see [Auditing to storage using Managed Identity authentication](https://go.microsoft.com/fwlink/?linkid=2114355) 8890 StorageAccountAccessKey *string `json:"storageAccountAccessKey,omitempty"` 8891 // RetentionDays - Specifies the number of days to keep in the audit logs in the storage account. 8892 RetentionDays *int32 `json:"retentionDays,omitempty"` 8893 // AuditActionsAndGroups - Specifies the Actions-Groups and Actions to audit. 8894 // 8895 // The recommended set of action groups to use is the following combination - this will audit all the queries and stored procedures executed against the database, as well as successful and failed logins: 8896 // 8897 // BATCH_COMPLETED_GROUP, 8898 // SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP, 8899 // FAILED_DATABASE_AUTHENTICATION_GROUP. 8900 // 8901 // This above combination is also the set that is configured by default when enabling auditing from the Azure portal. 8902 // 8903 // The supported action groups to audit are (note: choose only specific groups that cover your auditing needs. Using unnecessary groups could lead to very large quantities of audit records): 8904 // 8905 // APPLICATION_ROLE_CHANGE_PASSWORD_GROUP 8906 // BACKUP_RESTORE_GROUP 8907 // DATABASE_LOGOUT_GROUP 8908 // DATABASE_OBJECT_CHANGE_GROUP 8909 // DATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP 8910 // DATABASE_OBJECT_PERMISSION_CHANGE_GROUP 8911 // DATABASE_OPERATION_GROUP 8912 // DATABASE_PERMISSION_CHANGE_GROUP 8913 // DATABASE_PRINCIPAL_CHANGE_GROUP 8914 // DATABASE_PRINCIPAL_IMPERSONATION_GROUP 8915 // DATABASE_ROLE_MEMBER_CHANGE_GROUP 8916 // FAILED_DATABASE_AUTHENTICATION_GROUP 8917 // SCHEMA_OBJECT_ACCESS_GROUP 8918 // SCHEMA_OBJECT_CHANGE_GROUP 8919 // SCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP 8920 // SCHEMA_OBJECT_PERMISSION_CHANGE_GROUP 8921 // SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP 8922 // USER_CHANGE_PASSWORD_GROUP 8923 // BATCH_STARTED_GROUP 8924 // BATCH_COMPLETED_GROUP 8925 // 8926 // These are groups that cover all sql statements and stored procedures executed against the database, and should not be used in combination with other groups as this will result in duplicate audit logs. 8927 // 8928 // For more information, see [Database-Level Audit Action Groups](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-action-groups). 8929 // 8930 // For Database auditing policy, specific Actions can also be specified (note that Actions cannot be specified for Server auditing policy). The supported actions to audit are: 8931 // SELECT 8932 // UPDATE 8933 // INSERT 8934 // DELETE 8935 // EXECUTE 8936 // RECEIVE 8937 // REFERENCES 8938 // 8939 // The general form for defining an action to be audited is: 8940 // {action} ON {object} BY {principal} 8941 // 8942 // Note that <object> in the above format can refer to an object like a table, view, or stored procedure, or an entire database or schema. For the latter cases, the forms DATABASE::{db_name} and SCHEMA::{schema_name} are used, respectively. 8943 // 8944 // For example: 8945 // SELECT on dbo.myTable by public 8946 // SELECT on DATABASE::myDatabase by public 8947 // SELECT on SCHEMA::mySchema by public 8948 // 8949 // For more information, see [Database-Level Audit Actions](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-actions) 8950 AuditActionsAndGroups *[]string `json:"auditActionsAndGroups,omitempty"` 8951 // StorageAccountSubscriptionID - Specifies the blob storage subscription Id. 8952 StorageAccountSubscriptionID *uuid.UUID `json:"storageAccountSubscriptionId,omitempty"` 8953 // IsStorageSecondaryKeyInUse - Specifies whether storageAccountAccessKey value is the storage's secondary key. 8954 IsStorageSecondaryKeyInUse *bool `json:"isStorageSecondaryKeyInUse,omitempty"` 8955 // IsAzureMonitorTargetEnabled - Specifies whether audit events are sent to Azure Monitor. 8956 // In order to send the events to Azure Monitor, specify 'state' as 'Enabled' and 'isAzureMonitorTargetEnabled' as true. 8957 // 8958 // When using REST API to configure auditing, Diagnostic Settings with 'SQLSecurityAuditEvents' diagnostic logs category on the database should be also created. 8959 // Note that for server level audit you should use the 'master' database as {databaseName}. 8960 // 8961 // Diagnostic Settings URI format: 8962 // PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview 8963 // 8964 // For more information, see [Diagnostic Settings REST API](https://go.microsoft.com/fwlink/?linkid=2033207) 8965 // or [Diagnostic Settings PowerShell](https://go.microsoft.com/fwlink/?linkid=2033043) 8966 IsAzureMonitorTargetEnabled *bool `json:"isAzureMonitorTargetEnabled,omitempty"` 8967 // QueueDelayMs - Specifies the amount of time in milliseconds that can elapse before audit actions are forced to be processed. 8968 // The default minimum value is 1000 (1 second). The maximum is 2,147,483,647. 8969 QueueDelayMs *int32 `json:"queueDelayMs,omitempty"` 8970} 8971 8972// ServerSecurityAlertPolicy workspace managed Sql server security alert policy. 8973type ServerSecurityAlertPolicy struct { 8974 autorest.Response `json:"-"` 8975 // ServerSecurityAlertPolicyProperties - Resource properties. 8976 *ServerSecurityAlertPolicyProperties `json:"properties,omitempty"` 8977 // ID - READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} 8978 ID *string `json:"id,omitempty"` 8979 // Name - READ-ONLY; The name of the resource 8980 Name *string `json:"name,omitempty"` 8981 // Type - READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" 8982 Type *string `json:"type,omitempty"` 8983} 8984 8985// MarshalJSON is the custom marshaler for ServerSecurityAlertPolicy. 8986func (ssap ServerSecurityAlertPolicy) MarshalJSON() ([]byte, error) { 8987 objectMap := make(map[string]interface{}) 8988 if ssap.ServerSecurityAlertPolicyProperties != nil { 8989 objectMap["properties"] = ssap.ServerSecurityAlertPolicyProperties 8990 } 8991 return json.Marshal(objectMap) 8992} 8993 8994// UnmarshalJSON is the custom unmarshaler for ServerSecurityAlertPolicy struct. 8995func (ssap *ServerSecurityAlertPolicy) UnmarshalJSON(body []byte) error { 8996 var m map[string]*json.RawMessage 8997 err := json.Unmarshal(body, &m) 8998 if err != nil { 8999 return err 9000 } 9001 for k, v := range m { 9002 switch k { 9003 case "properties": 9004 if v != nil { 9005 var serverSecurityAlertPolicyProperties ServerSecurityAlertPolicyProperties 9006 err = json.Unmarshal(*v, &serverSecurityAlertPolicyProperties) 9007 if err != nil { 9008 return err 9009 } 9010 ssap.ServerSecurityAlertPolicyProperties = &serverSecurityAlertPolicyProperties 9011 } 9012 case "id": 9013 if v != nil { 9014 var ID string 9015 err = json.Unmarshal(*v, &ID) 9016 if err != nil { 9017 return err 9018 } 9019 ssap.ID = &ID 9020 } 9021 case "name": 9022 if v != nil { 9023 var name string 9024 err = json.Unmarshal(*v, &name) 9025 if err != nil { 9026 return err 9027 } 9028 ssap.Name = &name 9029 } 9030 case "type": 9031 if v != nil { 9032 var typeVar string 9033 err = json.Unmarshal(*v, &typeVar) 9034 if err != nil { 9035 return err 9036 } 9037 ssap.Type = &typeVar 9038 } 9039 } 9040 } 9041 9042 return nil 9043} 9044 9045// ServerSecurityAlertPolicyListResult a list of the workspace managed sql server's security alert 9046// policies. 9047type ServerSecurityAlertPolicyListResult struct { 9048 autorest.Response `json:"-"` 9049 // Value - READ-ONLY; Array of results. 9050 Value *[]ServerSecurityAlertPolicy `json:"value,omitempty"` 9051 // NextLink - READ-ONLY; Link to retrieve next page of results. 9052 NextLink *string `json:"nextLink,omitempty"` 9053} 9054 9055// MarshalJSON is the custom marshaler for ServerSecurityAlertPolicyListResult. 9056func (ssaplr ServerSecurityAlertPolicyListResult) MarshalJSON() ([]byte, error) { 9057 objectMap := make(map[string]interface{}) 9058 return json.Marshal(objectMap) 9059} 9060 9061// ServerSecurityAlertPolicyListResultIterator provides access to a complete listing of 9062// ServerSecurityAlertPolicy values. 9063type ServerSecurityAlertPolicyListResultIterator struct { 9064 i int 9065 page ServerSecurityAlertPolicyListResultPage 9066} 9067 9068// NextWithContext advances to the next value. If there was an error making 9069// the request the iterator does not advance and the error is returned. 9070func (iter *ServerSecurityAlertPolicyListResultIterator) NextWithContext(ctx context.Context) (err error) { 9071 if tracing.IsEnabled() { 9072 ctx = tracing.StartSpan(ctx, fqdn+"/ServerSecurityAlertPolicyListResultIterator.NextWithContext") 9073 defer func() { 9074 sc := -1 9075 if iter.Response().Response.Response != nil { 9076 sc = iter.Response().Response.Response.StatusCode 9077 } 9078 tracing.EndSpan(ctx, sc, err) 9079 }() 9080 } 9081 iter.i++ 9082 if iter.i < len(iter.page.Values()) { 9083 return nil 9084 } 9085 err = iter.page.NextWithContext(ctx) 9086 if err != nil { 9087 iter.i-- 9088 return err 9089 } 9090 iter.i = 0 9091 return nil 9092} 9093 9094// Next advances to the next value. If there was an error making 9095// the request the iterator does not advance and the error is returned. 9096// Deprecated: Use NextWithContext() instead. 9097func (iter *ServerSecurityAlertPolicyListResultIterator) Next() error { 9098 return iter.NextWithContext(context.Background()) 9099} 9100 9101// NotDone returns true if the enumeration should be started or is not yet complete. 9102func (iter ServerSecurityAlertPolicyListResultIterator) NotDone() bool { 9103 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 9104} 9105 9106// Response returns the raw server response from the last page request. 9107func (iter ServerSecurityAlertPolicyListResultIterator) Response() ServerSecurityAlertPolicyListResult { 9108 return iter.page.Response() 9109} 9110 9111// Value returns the current value or a zero-initialized value if the 9112// iterator has advanced beyond the end of the collection. 9113func (iter ServerSecurityAlertPolicyListResultIterator) Value() ServerSecurityAlertPolicy { 9114 if !iter.page.NotDone() { 9115 return ServerSecurityAlertPolicy{} 9116 } 9117 return iter.page.Values()[iter.i] 9118} 9119 9120// Creates a new instance of the ServerSecurityAlertPolicyListResultIterator type. 9121func NewServerSecurityAlertPolicyListResultIterator(page ServerSecurityAlertPolicyListResultPage) ServerSecurityAlertPolicyListResultIterator { 9122 return ServerSecurityAlertPolicyListResultIterator{page: page} 9123} 9124 9125// IsEmpty returns true if the ListResult contains no values. 9126func (ssaplr ServerSecurityAlertPolicyListResult) IsEmpty() bool { 9127 return ssaplr.Value == nil || len(*ssaplr.Value) == 0 9128} 9129 9130// hasNextLink returns true if the NextLink is not empty. 9131func (ssaplr ServerSecurityAlertPolicyListResult) hasNextLink() bool { 9132 return ssaplr.NextLink != nil && len(*ssaplr.NextLink) != 0 9133} 9134 9135// serverSecurityAlertPolicyListResultPreparer prepares a request to retrieve the next set of results. 9136// It returns nil if no more results exist. 9137func (ssaplr ServerSecurityAlertPolicyListResult) serverSecurityAlertPolicyListResultPreparer(ctx context.Context) (*http.Request, error) { 9138 if !ssaplr.hasNextLink() { 9139 return nil, nil 9140 } 9141 return autorest.Prepare((&http.Request{}).WithContext(ctx), 9142 autorest.AsJSON(), 9143 autorest.AsGet(), 9144 autorest.WithBaseURL(to.String(ssaplr.NextLink))) 9145} 9146 9147// ServerSecurityAlertPolicyListResultPage contains a page of ServerSecurityAlertPolicy values. 9148type ServerSecurityAlertPolicyListResultPage struct { 9149 fn func(context.Context, ServerSecurityAlertPolicyListResult) (ServerSecurityAlertPolicyListResult, error) 9150 ssaplr ServerSecurityAlertPolicyListResult 9151} 9152 9153// NextWithContext advances to the next page of values. If there was an error making 9154// the request the page does not advance and the error is returned. 9155func (page *ServerSecurityAlertPolicyListResultPage) NextWithContext(ctx context.Context) (err error) { 9156 if tracing.IsEnabled() { 9157 ctx = tracing.StartSpan(ctx, fqdn+"/ServerSecurityAlertPolicyListResultPage.NextWithContext") 9158 defer func() { 9159 sc := -1 9160 if page.Response().Response.Response != nil { 9161 sc = page.Response().Response.Response.StatusCode 9162 } 9163 tracing.EndSpan(ctx, sc, err) 9164 }() 9165 } 9166 for { 9167 next, err := page.fn(ctx, page.ssaplr) 9168 if err != nil { 9169 return err 9170 } 9171 page.ssaplr = next 9172 if !next.hasNextLink() || !next.IsEmpty() { 9173 break 9174 } 9175 } 9176 return nil 9177} 9178 9179// Next advances to the next page of values. If there was an error making 9180// the request the page does not advance and the error is returned. 9181// Deprecated: Use NextWithContext() instead. 9182func (page *ServerSecurityAlertPolicyListResultPage) Next() error { 9183 return page.NextWithContext(context.Background()) 9184} 9185 9186// NotDone returns true if the page enumeration should be started or is not yet complete. 9187func (page ServerSecurityAlertPolicyListResultPage) NotDone() bool { 9188 return !page.ssaplr.IsEmpty() 9189} 9190 9191// Response returns the raw server response from the last page request. 9192func (page ServerSecurityAlertPolicyListResultPage) Response() ServerSecurityAlertPolicyListResult { 9193 return page.ssaplr 9194} 9195 9196// Values returns the slice of values for the current page or nil if there are no values. 9197func (page ServerSecurityAlertPolicyListResultPage) Values() []ServerSecurityAlertPolicy { 9198 if page.ssaplr.IsEmpty() { 9199 return nil 9200 } 9201 return *page.ssaplr.Value 9202} 9203 9204// Creates a new instance of the ServerSecurityAlertPolicyListResultPage type. 9205func NewServerSecurityAlertPolicyListResultPage(cur ServerSecurityAlertPolicyListResult, getNextPage func(context.Context, ServerSecurityAlertPolicyListResult) (ServerSecurityAlertPolicyListResult, error)) ServerSecurityAlertPolicyListResultPage { 9206 return ServerSecurityAlertPolicyListResultPage{ 9207 fn: getNextPage, 9208 ssaplr: cur, 9209 } 9210} 9211 9212// ServerSecurityAlertPolicyProperties properties of a security alert policy. 9213type ServerSecurityAlertPolicyProperties struct { 9214 // State - Specifies the state of the policy, whether it is enabled or disabled or a policy has not been applied yet on the specific server. Possible values include: 'SecurityAlertPolicyStateNew', 'SecurityAlertPolicyStateEnabled', 'SecurityAlertPolicyStateDisabled' 9215 State SecurityAlertPolicyState `json:"state,omitempty"` 9216 // DisabledAlerts - Specifies an array of alerts that are disabled. Allowed values are: Sql_Injection, Sql_Injection_Vulnerability, Access_Anomaly, Data_Exfiltration, Unsafe_Action 9217 DisabledAlerts *[]string `json:"disabledAlerts,omitempty"` 9218 // EmailAddresses - Specifies an array of e-mail addresses to which the alert is sent. 9219 EmailAddresses *[]string `json:"emailAddresses,omitempty"` 9220 // EmailAccountAdmins - Specifies that the alert is sent to the account administrators. 9221 EmailAccountAdmins *bool `json:"emailAccountAdmins,omitempty"` 9222 // StorageEndpoint - Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). This blob storage will hold all Threat Detection audit logs. 9223 StorageEndpoint *string `json:"storageEndpoint,omitempty"` 9224 // StorageAccountAccessKey - Specifies the identifier key of the Threat Detection audit storage account. 9225 StorageAccountAccessKey *string `json:"storageAccountAccessKey,omitempty"` 9226 // RetentionDays - Specifies the number of days to keep in the Threat Detection audit logs. 9227 RetentionDays *int32 `json:"retentionDays,omitempty"` 9228 // CreationTime - READ-ONLY; Specifies the UTC creation time of the policy. 9229 CreationTime *date.Time `json:"creationTime,omitempty"` 9230} 9231 9232// MarshalJSON is the custom marshaler for ServerSecurityAlertPolicyProperties. 9233func (ssapp ServerSecurityAlertPolicyProperties) MarshalJSON() ([]byte, error) { 9234 objectMap := make(map[string]interface{}) 9235 if ssapp.State != "" { 9236 objectMap["state"] = ssapp.State 9237 } 9238 if ssapp.DisabledAlerts != nil { 9239 objectMap["disabledAlerts"] = ssapp.DisabledAlerts 9240 } 9241 if ssapp.EmailAddresses != nil { 9242 objectMap["emailAddresses"] = ssapp.EmailAddresses 9243 } 9244 if ssapp.EmailAccountAdmins != nil { 9245 objectMap["emailAccountAdmins"] = ssapp.EmailAccountAdmins 9246 } 9247 if ssapp.StorageEndpoint != nil { 9248 objectMap["storageEndpoint"] = ssapp.StorageEndpoint 9249 } 9250 if ssapp.StorageAccountAccessKey != nil { 9251 objectMap["storageAccountAccessKey"] = ssapp.StorageAccountAccessKey 9252 } 9253 if ssapp.RetentionDays != nil { 9254 objectMap["retentionDays"] = ssapp.RetentionDays 9255 } 9256 return json.Marshal(objectMap) 9257} 9258 9259// ServerUsage represents server metrics. 9260type ServerUsage struct { 9261 // Name - READ-ONLY; Name of the server usage metric. 9262 Name *string `json:"name,omitempty"` 9263 // ResourceName - READ-ONLY; The name of the resource. 9264 ResourceName *string `json:"resourceName,omitempty"` 9265 // DisplayName - READ-ONLY; The metric display name. 9266 DisplayName *string `json:"displayName,omitempty"` 9267 // CurrentValue - READ-ONLY; The current value of the metric. 9268 CurrentValue *float64 `json:"currentValue,omitempty"` 9269 // Limit - READ-ONLY; The current limit of the metric. 9270 Limit *float64 `json:"limit,omitempty"` 9271 // Unit - READ-ONLY; The units of the metric. 9272 Unit *string `json:"unit,omitempty"` 9273 // NextResetTime - READ-ONLY; The next reset time for the metric (ISO8601 format). 9274 NextResetTime *date.Time `json:"nextResetTime,omitempty"` 9275} 9276 9277// MarshalJSON is the custom marshaler for ServerUsage. 9278func (su ServerUsage) MarshalJSON() ([]byte, error) { 9279 objectMap := make(map[string]interface{}) 9280 return json.Marshal(objectMap) 9281} 9282 9283// ServerUsageListResult represents the response to a list server metrics request. 9284type ServerUsageListResult struct { 9285 autorest.Response `json:"-"` 9286 // Value - The list of server metrics for the server. 9287 Value *[]ServerUsage `json:"value,omitempty"` 9288 // NextLink - READ-ONLY; Link to retrieve next page of results. 9289 NextLink *string `json:"nextLink,omitempty"` 9290} 9291 9292// MarshalJSON is the custom marshaler for ServerUsageListResult. 9293func (sulr ServerUsageListResult) MarshalJSON() ([]byte, error) { 9294 objectMap := make(map[string]interface{}) 9295 if sulr.Value != nil { 9296 objectMap["value"] = sulr.Value 9297 } 9298 return json.Marshal(objectMap) 9299} 9300 9301// ServerUsageListResultIterator provides access to a complete listing of ServerUsage values. 9302type ServerUsageListResultIterator struct { 9303 i int 9304 page ServerUsageListResultPage 9305} 9306 9307// NextWithContext advances to the next value. If there was an error making 9308// the request the iterator does not advance and the error is returned. 9309func (iter *ServerUsageListResultIterator) NextWithContext(ctx context.Context) (err error) { 9310 if tracing.IsEnabled() { 9311 ctx = tracing.StartSpan(ctx, fqdn+"/ServerUsageListResultIterator.NextWithContext") 9312 defer func() { 9313 sc := -1 9314 if iter.Response().Response.Response != nil { 9315 sc = iter.Response().Response.Response.StatusCode 9316 } 9317 tracing.EndSpan(ctx, sc, err) 9318 }() 9319 } 9320 iter.i++ 9321 if iter.i < len(iter.page.Values()) { 9322 return nil 9323 } 9324 err = iter.page.NextWithContext(ctx) 9325 if err != nil { 9326 iter.i-- 9327 return err 9328 } 9329 iter.i = 0 9330 return nil 9331} 9332 9333// Next advances to the next value. If there was an error making 9334// the request the iterator does not advance and the error is returned. 9335// Deprecated: Use NextWithContext() instead. 9336func (iter *ServerUsageListResultIterator) Next() error { 9337 return iter.NextWithContext(context.Background()) 9338} 9339 9340// NotDone returns true if the enumeration should be started or is not yet complete. 9341func (iter ServerUsageListResultIterator) NotDone() bool { 9342 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 9343} 9344 9345// Response returns the raw server response from the last page request. 9346func (iter ServerUsageListResultIterator) Response() ServerUsageListResult { 9347 return iter.page.Response() 9348} 9349 9350// Value returns the current value or a zero-initialized value if the 9351// iterator has advanced beyond the end of the collection. 9352func (iter ServerUsageListResultIterator) Value() ServerUsage { 9353 if !iter.page.NotDone() { 9354 return ServerUsage{} 9355 } 9356 return iter.page.Values()[iter.i] 9357} 9358 9359// Creates a new instance of the ServerUsageListResultIterator type. 9360func NewServerUsageListResultIterator(page ServerUsageListResultPage) ServerUsageListResultIterator { 9361 return ServerUsageListResultIterator{page: page} 9362} 9363 9364// IsEmpty returns true if the ListResult contains no values. 9365func (sulr ServerUsageListResult) IsEmpty() bool { 9366 return sulr.Value == nil || len(*sulr.Value) == 0 9367} 9368 9369// hasNextLink returns true if the NextLink is not empty. 9370func (sulr ServerUsageListResult) hasNextLink() bool { 9371 return sulr.NextLink != nil && len(*sulr.NextLink) != 0 9372} 9373 9374// serverUsageListResultPreparer prepares a request to retrieve the next set of results. 9375// It returns nil if no more results exist. 9376func (sulr ServerUsageListResult) serverUsageListResultPreparer(ctx context.Context) (*http.Request, error) { 9377 if !sulr.hasNextLink() { 9378 return nil, nil 9379 } 9380 return autorest.Prepare((&http.Request{}).WithContext(ctx), 9381 autorest.AsJSON(), 9382 autorest.AsGet(), 9383 autorest.WithBaseURL(to.String(sulr.NextLink))) 9384} 9385 9386// ServerUsageListResultPage contains a page of ServerUsage values. 9387type ServerUsageListResultPage struct { 9388 fn func(context.Context, ServerUsageListResult) (ServerUsageListResult, error) 9389 sulr ServerUsageListResult 9390} 9391 9392// NextWithContext advances to the next page of values. If there was an error making 9393// the request the page does not advance and the error is returned. 9394func (page *ServerUsageListResultPage) NextWithContext(ctx context.Context) (err error) { 9395 if tracing.IsEnabled() { 9396 ctx = tracing.StartSpan(ctx, fqdn+"/ServerUsageListResultPage.NextWithContext") 9397 defer func() { 9398 sc := -1 9399 if page.Response().Response.Response != nil { 9400 sc = page.Response().Response.Response.StatusCode 9401 } 9402 tracing.EndSpan(ctx, sc, err) 9403 }() 9404 } 9405 for { 9406 next, err := page.fn(ctx, page.sulr) 9407 if err != nil { 9408 return err 9409 } 9410 page.sulr = next 9411 if !next.hasNextLink() || !next.IsEmpty() { 9412 break 9413 } 9414 } 9415 return nil 9416} 9417 9418// Next advances to the next page of values. If there was an error making 9419// the request the page does not advance and the error is returned. 9420// Deprecated: Use NextWithContext() instead. 9421func (page *ServerUsageListResultPage) Next() error { 9422 return page.NextWithContext(context.Background()) 9423} 9424 9425// NotDone returns true if the page enumeration should be started or is not yet complete. 9426func (page ServerUsageListResultPage) NotDone() bool { 9427 return !page.sulr.IsEmpty() 9428} 9429 9430// Response returns the raw server response from the last page request. 9431func (page ServerUsageListResultPage) Response() ServerUsageListResult { 9432 return page.sulr 9433} 9434 9435// Values returns the slice of values for the current page or nil if there are no values. 9436func (page ServerUsageListResultPage) Values() []ServerUsage { 9437 if page.sulr.IsEmpty() { 9438 return nil 9439 } 9440 return *page.sulr.Value 9441} 9442 9443// Creates a new instance of the ServerUsageListResultPage type. 9444func NewServerUsageListResultPage(cur ServerUsageListResult, getNextPage func(context.Context, ServerUsageListResult) (ServerUsageListResult, error)) ServerUsageListResultPage { 9445 return ServerUsageListResultPage{ 9446 fn: getNextPage, 9447 sulr: cur, 9448 } 9449} 9450 9451// ServerVulnerabilityAssessment a server vulnerability assessment. 9452type ServerVulnerabilityAssessment struct { 9453 autorest.Response `json:"-"` 9454 // ServerVulnerabilityAssessmentProperties - Resource properties. 9455 *ServerVulnerabilityAssessmentProperties `json:"properties,omitempty"` 9456 // ID - READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} 9457 ID *string `json:"id,omitempty"` 9458 // Name - READ-ONLY; The name of the resource 9459 Name *string `json:"name,omitempty"` 9460 // Type - READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" 9461 Type *string `json:"type,omitempty"` 9462} 9463 9464// MarshalJSON is the custom marshaler for ServerVulnerabilityAssessment. 9465func (sva ServerVulnerabilityAssessment) MarshalJSON() ([]byte, error) { 9466 objectMap := make(map[string]interface{}) 9467 if sva.ServerVulnerabilityAssessmentProperties != nil { 9468 objectMap["properties"] = sva.ServerVulnerabilityAssessmentProperties 9469 } 9470 return json.Marshal(objectMap) 9471} 9472 9473// UnmarshalJSON is the custom unmarshaler for ServerVulnerabilityAssessment struct. 9474func (sva *ServerVulnerabilityAssessment) UnmarshalJSON(body []byte) error { 9475 var m map[string]*json.RawMessage 9476 err := json.Unmarshal(body, &m) 9477 if err != nil { 9478 return err 9479 } 9480 for k, v := range m { 9481 switch k { 9482 case "properties": 9483 if v != nil { 9484 var serverVulnerabilityAssessmentProperties ServerVulnerabilityAssessmentProperties 9485 err = json.Unmarshal(*v, &serverVulnerabilityAssessmentProperties) 9486 if err != nil { 9487 return err 9488 } 9489 sva.ServerVulnerabilityAssessmentProperties = &serverVulnerabilityAssessmentProperties 9490 } 9491 case "id": 9492 if v != nil { 9493 var ID string 9494 err = json.Unmarshal(*v, &ID) 9495 if err != nil { 9496 return err 9497 } 9498 sva.ID = &ID 9499 } 9500 case "name": 9501 if v != nil { 9502 var name string 9503 err = json.Unmarshal(*v, &name) 9504 if err != nil { 9505 return err 9506 } 9507 sva.Name = &name 9508 } 9509 case "type": 9510 if v != nil { 9511 var typeVar string 9512 err = json.Unmarshal(*v, &typeVar) 9513 if err != nil { 9514 return err 9515 } 9516 sva.Type = &typeVar 9517 } 9518 } 9519 } 9520 9521 return nil 9522} 9523 9524// ServerVulnerabilityAssessmentListResult a list of the server's vulnerability assessments. 9525type ServerVulnerabilityAssessmentListResult struct { 9526 autorest.Response `json:"-"` 9527 // Value - READ-ONLY; Array of results. 9528 Value *[]ServerVulnerabilityAssessment `json:"value,omitempty"` 9529 // NextLink - READ-ONLY; Link to retrieve next page of results. 9530 NextLink *string `json:"nextLink,omitempty"` 9531} 9532 9533// MarshalJSON is the custom marshaler for ServerVulnerabilityAssessmentListResult. 9534func (svalr ServerVulnerabilityAssessmentListResult) MarshalJSON() ([]byte, error) { 9535 objectMap := make(map[string]interface{}) 9536 return json.Marshal(objectMap) 9537} 9538 9539// ServerVulnerabilityAssessmentListResultIterator provides access to a complete listing of 9540// ServerVulnerabilityAssessment values. 9541type ServerVulnerabilityAssessmentListResultIterator struct { 9542 i int 9543 page ServerVulnerabilityAssessmentListResultPage 9544} 9545 9546// NextWithContext advances to the next value. If there was an error making 9547// the request the iterator does not advance and the error is returned. 9548func (iter *ServerVulnerabilityAssessmentListResultIterator) NextWithContext(ctx context.Context) (err error) { 9549 if tracing.IsEnabled() { 9550 ctx = tracing.StartSpan(ctx, fqdn+"/ServerVulnerabilityAssessmentListResultIterator.NextWithContext") 9551 defer func() { 9552 sc := -1 9553 if iter.Response().Response.Response != nil { 9554 sc = iter.Response().Response.Response.StatusCode 9555 } 9556 tracing.EndSpan(ctx, sc, err) 9557 }() 9558 } 9559 iter.i++ 9560 if iter.i < len(iter.page.Values()) { 9561 return nil 9562 } 9563 err = iter.page.NextWithContext(ctx) 9564 if err != nil { 9565 iter.i-- 9566 return err 9567 } 9568 iter.i = 0 9569 return nil 9570} 9571 9572// Next advances to the next value. If there was an error making 9573// the request the iterator does not advance and the error is returned. 9574// Deprecated: Use NextWithContext() instead. 9575func (iter *ServerVulnerabilityAssessmentListResultIterator) Next() error { 9576 return iter.NextWithContext(context.Background()) 9577} 9578 9579// NotDone returns true if the enumeration should be started or is not yet complete. 9580func (iter ServerVulnerabilityAssessmentListResultIterator) NotDone() bool { 9581 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 9582} 9583 9584// Response returns the raw server response from the last page request. 9585func (iter ServerVulnerabilityAssessmentListResultIterator) Response() ServerVulnerabilityAssessmentListResult { 9586 return iter.page.Response() 9587} 9588 9589// Value returns the current value or a zero-initialized value if the 9590// iterator has advanced beyond the end of the collection. 9591func (iter ServerVulnerabilityAssessmentListResultIterator) Value() ServerVulnerabilityAssessment { 9592 if !iter.page.NotDone() { 9593 return ServerVulnerabilityAssessment{} 9594 } 9595 return iter.page.Values()[iter.i] 9596} 9597 9598// Creates a new instance of the ServerVulnerabilityAssessmentListResultIterator type. 9599func NewServerVulnerabilityAssessmentListResultIterator(page ServerVulnerabilityAssessmentListResultPage) ServerVulnerabilityAssessmentListResultIterator { 9600 return ServerVulnerabilityAssessmentListResultIterator{page: page} 9601} 9602 9603// IsEmpty returns true if the ListResult contains no values. 9604func (svalr ServerVulnerabilityAssessmentListResult) IsEmpty() bool { 9605 return svalr.Value == nil || len(*svalr.Value) == 0 9606} 9607 9608// hasNextLink returns true if the NextLink is not empty. 9609func (svalr ServerVulnerabilityAssessmentListResult) hasNextLink() bool { 9610 return svalr.NextLink != nil && len(*svalr.NextLink) != 0 9611} 9612 9613// serverVulnerabilityAssessmentListResultPreparer prepares a request to retrieve the next set of results. 9614// It returns nil if no more results exist. 9615func (svalr ServerVulnerabilityAssessmentListResult) serverVulnerabilityAssessmentListResultPreparer(ctx context.Context) (*http.Request, error) { 9616 if !svalr.hasNextLink() { 9617 return nil, nil 9618 } 9619 return autorest.Prepare((&http.Request{}).WithContext(ctx), 9620 autorest.AsJSON(), 9621 autorest.AsGet(), 9622 autorest.WithBaseURL(to.String(svalr.NextLink))) 9623} 9624 9625// ServerVulnerabilityAssessmentListResultPage contains a page of ServerVulnerabilityAssessment values. 9626type ServerVulnerabilityAssessmentListResultPage struct { 9627 fn func(context.Context, ServerVulnerabilityAssessmentListResult) (ServerVulnerabilityAssessmentListResult, error) 9628 svalr ServerVulnerabilityAssessmentListResult 9629} 9630 9631// NextWithContext advances to the next page of values. If there was an error making 9632// the request the page does not advance and the error is returned. 9633func (page *ServerVulnerabilityAssessmentListResultPage) NextWithContext(ctx context.Context) (err error) { 9634 if tracing.IsEnabled() { 9635 ctx = tracing.StartSpan(ctx, fqdn+"/ServerVulnerabilityAssessmentListResultPage.NextWithContext") 9636 defer func() { 9637 sc := -1 9638 if page.Response().Response.Response != nil { 9639 sc = page.Response().Response.Response.StatusCode 9640 } 9641 tracing.EndSpan(ctx, sc, err) 9642 }() 9643 } 9644 for { 9645 next, err := page.fn(ctx, page.svalr) 9646 if err != nil { 9647 return err 9648 } 9649 page.svalr = next 9650 if !next.hasNextLink() || !next.IsEmpty() { 9651 break 9652 } 9653 } 9654 return nil 9655} 9656 9657// Next advances to the next page of values. If there was an error making 9658// the request the page does not advance and the error is returned. 9659// Deprecated: Use NextWithContext() instead. 9660func (page *ServerVulnerabilityAssessmentListResultPage) Next() error { 9661 return page.NextWithContext(context.Background()) 9662} 9663 9664// NotDone returns true if the page enumeration should be started or is not yet complete. 9665func (page ServerVulnerabilityAssessmentListResultPage) NotDone() bool { 9666 return !page.svalr.IsEmpty() 9667} 9668 9669// Response returns the raw server response from the last page request. 9670func (page ServerVulnerabilityAssessmentListResultPage) Response() ServerVulnerabilityAssessmentListResult { 9671 return page.svalr 9672} 9673 9674// Values returns the slice of values for the current page or nil if there are no values. 9675func (page ServerVulnerabilityAssessmentListResultPage) Values() []ServerVulnerabilityAssessment { 9676 if page.svalr.IsEmpty() { 9677 return nil 9678 } 9679 return *page.svalr.Value 9680} 9681 9682// Creates a new instance of the ServerVulnerabilityAssessmentListResultPage type. 9683func NewServerVulnerabilityAssessmentListResultPage(cur ServerVulnerabilityAssessmentListResult, getNextPage func(context.Context, ServerVulnerabilityAssessmentListResult) (ServerVulnerabilityAssessmentListResult, error)) ServerVulnerabilityAssessmentListResultPage { 9684 return ServerVulnerabilityAssessmentListResultPage{ 9685 fn: getNextPage, 9686 svalr: cur, 9687 } 9688} 9689 9690// ServerVulnerabilityAssessmentProperties properties of a server Vulnerability Assessment. 9691type ServerVulnerabilityAssessmentProperties struct { 9692 // StorageContainerPath - A blob storage container path to hold the scan results (e.g. https://myStorage.blob.core.windows.net/VaScans/). 9693 StorageContainerPath *string `json:"storageContainerPath,omitempty"` 9694 // StorageContainerSasKey - A shared access signature (SAS Key) that has read and write access to the blob container specified in 'storageContainerPath' parameter. If 'storageAccountAccessKey' isn't specified, StorageContainerSasKey is required. 9695 StorageContainerSasKey *string `json:"storageContainerSasKey,omitempty"` 9696 // StorageAccountAccessKey - Specifies the identifier key of the storage account for vulnerability assessment scan results. If 'StorageContainerSasKey' isn't specified, storageAccountAccessKey is required. 9697 StorageAccountAccessKey *string `json:"storageAccountAccessKey,omitempty"` 9698 // RecurringScans - The recurring scans settings 9699 RecurringScans *VulnerabilityAssessmentRecurringScansProperties `json:"recurringScans,omitempty"` 9700} 9701 9702// SetObject ... 9703type SetObject struct { 9704 autorest.Response `json:"-"` 9705 Value interface{} `json:"value,omitempty"` 9706} 9707 9708// Sku SQL pool SKU 9709type Sku struct { 9710 // Tier - The service tier 9711 Tier *string `json:"tier,omitempty"` 9712 // Name - The SKU name 9713 Name *string `json:"name,omitempty"` 9714 // Capacity - If the SKU supports scale out/in then the capacity integer should be included. If scale out/in is not possible for the resource this may be omitted. 9715 Capacity *int32 `json:"capacity,omitempty"` 9716} 9717 9718// SQLPool a SQL Analytics pool 9719type SQLPool struct { 9720 autorest.Response `json:"-"` 9721 // Sku - SQL pool SKU 9722 Sku *Sku `json:"sku,omitempty"` 9723 // SQLPoolResourceProperties - SQL pool properties 9724 *SQLPoolResourceProperties `json:"properties,omitempty"` 9725 // Tags - Resource tags. 9726 Tags map[string]*string `json:"tags"` 9727 // Location - The geo-location where the resource lives 9728 Location *string `json:"location,omitempty"` 9729 // ID - READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} 9730 ID *string `json:"id,omitempty"` 9731 // Name - READ-ONLY; The name of the resource 9732 Name *string `json:"name,omitempty"` 9733 // Type - READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" 9734 Type *string `json:"type,omitempty"` 9735} 9736 9737// MarshalJSON is the custom marshaler for SQLPool. 9738func (sp SQLPool) MarshalJSON() ([]byte, error) { 9739 objectMap := make(map[string]interface{}) 9740 if sp.Sku != nil { 9741 objectMap["sku"] = sp.Sku 9742 } 9743 if sp.SQLPoolResourceProperties != nil { 9744 objectMap["properties"] = sp.SQLPoolResourceProperties 9745 } 9746 if sp.Tags != nil { 9747 objectMap["tags"] = sp.Tags 9748 } 9749 if sp.Location != nil { 9750 objectMap["location"] = sp.Location 9751 } 9752 return json.Marshal(objectMap) 9753} 9754 9755// UnmarshalJSON is the custom unmarshaler for SQLPool struct. 9756func (sp *SQLPool) UnmarshalJSON(body []byte) error { 9757 var m map[string]*json.RawMessage 9758 err := json.Unmarshal(body, &m) 9759 if err != nil { 9760 return err 9761 } 9762 for k, v := range m { 9763 switch k { 9764 case "sku": 9765 if v != nil { 9766 var sku Sku 9767 err = json.Unmarshal(*v, &sku) 9768 if err != nil { 9769 return err 9770 } 9771 sp.Sku = &sku 9772 } 9773 case "properties": 9774 if v != nil { 9775 var SQLPoolResourceProperties SQLPoolResourceProperties 9776 err = json.Unmarshal(*v, &SQLPoolResourceProperties) 9777 if err != nil { 9778 return err 9779 } 9780 sp.SQLPoolResourceProperties = &SQLPoolResourceProperties 9781 } 9782 case "tags": 9783 if v != nil { 9784 var tags map[string]*string 9785 err = json.Unmarshal(*v, &tags) 9786 if err != nil { 9787 return err 9788 } 9789 sp.Tags = tags 9790 } 9791 case "location": 9792 if v != nil { 9793 var location string 9794 err = json.Unmarshal(*v, &location) 9795 if err != nil { 9796 return err 9797 } 9798 sp.Location = &location 9799 } 9800 case "id": 9801 if v != nil { 9802 var ID string 9803 err = json.Unmarshal(*v, &ID) 9804 if err != nil { 9805 return err 9806 } 9807 sp.ID = &ID 9808 } 9809 case "name": 9810 if v != nil { 9811 var name string 9812 err = json.Unmarshal(*v, &name) 9813 if err != nil { 9814 return err 9815 } 9816 sp.Name = &name 9817 } 9818 case "type": 9819 if v != nil { 9820 var typeVar string 9821 err = json.Unmarshal(*v, &typeVar) 9822 if err != nil { 9823 return err 9824 } 9825 sp.Type = &typeVar 9826 } 9827 } 9828 } 9829 9830 return nil 9831} 9832 9833// SQLPoolBlobAuditingPolicy a Sql pool blob auditing policy. 9834type SQLPoolBlobAuditingPolicy struct { 9835 autorest.Response `json:"-"` 9836 // Kind - READ-ONLY; Resource kind. 9837 Kind *string `json:"kind,omitempty"` 9838 // SQLPoolBlobAuditingPolicyProperties - Resource properties. 9839 *SQLPoolBlobAuditingPolicyProperties `json:"properties,omitempty"` 9840 // ID - READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} 9841 ID *string `json:"id,omitempty"` 9842 // Name - READ-ONLY; The name of the resource 9843 Name *string `json:"name,omitempty"` 9844 // Type - READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" 9845 Type *string `json:"type,omitempty"` 9846} 9847 9848// MarshalJSON is the custom marshaler for SQLPoolBlobAuditingPolicy. 9849func (spbap SQLPoolBlobAuditingPolicy) MarshalJSON() ([]byte, error) { 9850 objectMap := make(map[string]interface{}) 9851 if spbap.SQLPoolBlobAuditingPolicyProperties != nil { 9852 objectMap["properties"] = spbap.SQLPoolBlobAuditingPolicyProperties 9853 } 9854 return json.Marshal(objectMap) 9855} 9856 9857// UnmarshalJSON is the custom unmarshaler for SQLPoolBlobAuditingPolicy struct. 9858func (spbap *SQLPoolBlobAuditingPolicy) UnmarshalJSON(body []byte) error { 9859 var m map[string]*json.RawMessage 9860 err := json.Unmarshal(body, &m) 9861 if err != nil { 9862 return err 9863 } 9864 for k, v := range m { 9865 switch k { 9866 case "kind": 9867 if v != nil { 9868 var kind string 9869 err = json.Unmarshal(*v, &kind) 9870 if err != nil { 9871 return err 9872 } 9873 spbap.Kind = &kind 9874 } 9875 case "properties": 9876 if v != nil { 9877 var SQLPoolBlobAuditingPolicyProperties SQLPoolBlobAuditingPolicyProperties 9878 err = json.Unmarshal(*v, &SQLPoolBlobAuditingPolicyProperties) 9879 if err != nil { 9880 return err 9881 } 9882 spbap.SQLPoolBlobAuditingPolicyProperties = &SQLPoolBlobAuditingPolicyProperties 9883 } 9884 case "id": 9885 if v != nil { 9886 var ID string 9887 err = json.Unmarshal(*v, &ID) 9888 if err != nil { 9889 return err 9890 } 9891 spbap.ID = &ID 9892 } 9893 case "name": 9894 if v != nil { 9895 var name string 9896 err = json.Unmarshal(*v, &name) 9897 if err != nil { 9898 return err 9899 } 9900 spbap.Name = &name 9901 } 9902 case "type": 9903 if v != nil { 9904 var typeVar string 9905 err = json.Unmarshal(*v, &typeVar) 9906 if err != nil { 9907 return err 9908 } 9909 spbap.Type = &typeVar 9910 } 9911 } 9912 } 9913 9914 return nil 9915} 9916 9917// SQLPoolBlobAuditingPolicyListResult a list of Sql pool auditing settings. 9918type SQLPoolBlobAuditingPolicyListResult struct { 9919 autorest.Response `json:"-"` 9920 // Value - READ-ONLY; Array of results. 9921 Value *[]SQLPoolBlobAuditingPolicy `json:"value,omitempty"` 9922 // NextLink - READ-ONLY; Link to retrieve next page of results. 9923 NextLink *string `json:"nextLink,omitempty"` 9924} 9925 9926// MarshalJSON is the custom marshaler for SQLPoolBlobAuditingPolicyListResult. 9927func (spbaplr SQLPoolBlobAuditingPolicyListResult) MarshalJSON() ([]byte, error) { 9928 objectMap := make(map[string]interface{}) 9929 return json.Marshal(objectMap) 9930} 9931 9932// SQLPoolBlobAuditingPolicyListResultIterator provides access to a complete listing of 9933// SQLPoolBlobAuditingPolicy values. 9934type SQLPoolBlobAuditingPolicyListResultIterator struct { 9935 i int 9936 page SQLPoolBlobAuditingPolicyListResultPage 9937} 9938 9939// NextWithContext advances to the next value. If there was an error making 9940// the request the iterator does not advance and the error is returned. 9941func (iter *SQLPoolBlobAuditingPolicyListResultIterator) NextWithContext(ctx context.Context) (err error) { 9942 if tracing.IsEnabled() { 9943 ctx = tracing.StartSpan(ctx, fqdn+"/SQLPoolBlobAuditingPolicyListResultIterator.NextWithContext") 9944 defer func() { 9945 sc := -1 9946 if iter.Response().Response.Response != nil { 9947 sc = iter.Response().Response.Response.StatusCode 9948 } 9949 tracing.EndSpan(ctx, sc, err) 9950 }() 9951 } 9952 iter.i++ 9953 if iter.i < len(iter.page.Values()) { 9954 return nil 9955 } 9956 err = iter.page.NextWithContext(ctx) 9957 if err != nil { 9958 iter.i-- 9959 return err 9960 } 9961 iter.i = 0 9962 return nil 9963} 9964 9965// Next advances to the next value. If there was an error making 9966// the request the iterator does not advance and the error is returned. 9967// Deprecated: Use NextWithContext() instead. 9968func (iter *SQLPoolBlobAuditingPolicyListResultIterator) Next() error { 9969 return iter.NextWithContext(context.Background()) 9970} 9971 9972// NotDone returns true if the enumeration should be started or is not yet complete. 9973func (iter SQLPoolBlobAuditingPolicyListResultIterator) NotDone() bool { 9974 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 9975} 9976 9977// Response returns the raw server response from the last page request. 9978func (iter SQLPoolBlobAuditingPolicyListResultIterator) Response() SQLPoolBlobAuditingPolicyListResult { 9979 return iter.page.Response() 9980} 9981 9982// Value returns the current value or a zero-initialized value if the 9983// iterator has advanced beyond the end of the collection. 9984func (iter SQLPoolBlobAuditingPolicyListResultIterator) Value() SQLPoolBlobAuditingPolicy { 9985 if !iter.page.NotDone() { 9986 return SQLPoolBlobAuditingPolicy{} 9987 } 9988 return iter.page.Values()[iter.i] 9989} 9990 9991// Creates a new instance of the SQLPoolBlobAuditingPolicyListResultIterator type. 9992func NewSQLPoolBlobAuditingPolicyListResultIterator(page SQLPoolBlobAuditingPolicyListResultPage) SQLPoolBlobAuditingPolicyListResultIterator { 9993 return SQLPoolBlobAuditingPolicyListResultIterator{page: page} 9994} 9995 9996// IsEmpty returns true if the ListResult contains no values. 9997func (spbaplr SQLPoolBlobAuditingPolicyListResult) IsEmpty() bool { 9998 return spbaplr.Value == nil || len(*spbaplr.Value) == 0 9999} 10000 10001// hasNextLink returns true if the NextLink is not empty. 10002func (spbaplr SQLPoolBlobAuditingPolicyListResult) hasNextLink() bool { 10003 return spbaplr.NextLink != nil && len(*spbaplr.NextLink) != 0 10004} 10005 10006// sQLPoolBlobAuditingPolicyListResultPreparer prepares a request to retrieve the next set of results. 10007// It returns nil if no more results exist. 10008func (spbaplr SQLPoolBlobAuditingPolicyListResult) sQLPoolBlobAuditingPolicyListResultPreparer(ctx context.Context) (*http.Request, error) { 10009 if !spbaplr.hasNextLink() { 10010 return nil, nil 10011 } 10012 return autorest.Prepare((&http.Request{}).WithContext(ctx), 10013 autorest.AsJSON(), 10014 autorest.AsGet(), 10015 autorest.WithBaseURL(to.String(spbaplr.NextLink))) 10016} 10017 10018// SQLPoolBlobAuditingPolicyListResultPage contains a page of SQLPoolBlobAuditingPolicy values. 10019type SQLPoolBlobAuditingPolicyListResultPage struct { 10020 fn func(context.Context, SQLPoolBlobAuditingPolicyListResult) (SQLPoolBlobAuditingPolicyListResult, error) 10021 spbaplr SQLPoolBlobAuditingPolicyListResult 10022} 10023 10024// NextWithContext advances to the next page of values. If there was an error making 10025// the request the page does not advance and the error is returned. 10026func (page *SQLPoolBlobAuditingPolicyListResultPage) NextWithContext(ctx context.Context) (err error) { 10027 if tracing.IsEnabled() { 10028 ctx = tracing.StartSpan(ctx, fqdn+"/SQLPoolBlobAuditingPolicyListResultPage.NextWithContext") 10029 defer func() { 10030 sc := -1 10031 if page.Response().Response.Response != nil { 10032 sc = page.Response().Response.Response.StatusCode 10033 } 10034 tracing.EndSpan(ctx, sc, err) 10035 }() 10036 } 10037 for { 10038 next, err := page.fn(ctx, page.spbaplr) 10039 if err != nil { 10040 return err 10041 } 10042 page.spbaplr = next 10043 if !next.hasNextLink() || !next.IsEmpty() { 10044 break 10045 } 10046 } 10047 return nil 10048} 10049 10050// Next advances to the next page of values. If there was an error making 10051// the request the page does not advance and the error is returned. 10052// Deprecated: Use NextWithContext() instead. 10053func (page *SQLPoolBlobAuditingPolicyListResultPage) Next() error { 10054 return page.NextWithContext(context.Background()) 10055} 10056 10057// NotDone returns true if the page enumeration should be started or is not yet complete. 10058func (page SQLPoolBlobAuditingPolicyListResultPage) NotDone() bool { 10059 return !page.spbaplr.IsEmpty() 10060} 10061 10062// Response returns the raw server response from the last page request. 10063func (page SQLPoolBlobAuditingPolicyListResultPage) Response() SQLPoolBlobAuditingPolicyListResult { 10064 return page.spbaplr 10065} 10066 10067// Values returns the slice of values for the current page or nil if there are no values. 10068func (page SQLPoolBlobAuditingPolicyListResultPage) Values() []SQLPoolBlobAuditingPolicy { 10069 if page.spbaplr.IsEmpty() { 10070 return nil 10071 } 10072 return *page.spbaplr.Value 10073} 10074 10075// Creates a new instance of the SQLPoolBlobAuditingPolicyListResultPage type. 10076func NewSQLPoolBlobAuditingPolicyListResultPage(cur SQLPoolBlobAuditingPolicyListResult, getNextPage func(context.Context, SQLPoolBlobAuditingPolicyListResult) (SQLPoolBlobAuditingPolicyListResult, error)) SQLPoolBlobAuditingPolicyListResultPage { 10077 return SQLPoolBlobAuditingPolicyListResultPage{ 10078 fn: getNextPage, 10079 spbaplr: cur, 10080 } 10081} 10082 10083// SQLPoolBlobAuditingPolicyProperties properties of a Sql pool blob auditing policy. 10084type SQLPoolBlobAuditingPolicyProperties struct { 10085 // State - Specifies the state of the policy. If state is Enabled, storageEndpoint or isAzureMonitorTargetEnabled are required. Possible values include: 'BlobAuditingPolicyStateEnabled', 'BlobAuditingPolicyStateDisabled' 10086 State BlobAuditingPolicyState `json:"state,omitempty"` 10087 // StorageEndpoint - Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). If state is Enabled, storageEndpoint is required. 10088 StorageEndpoint *string `json:"storageEndpoint,omitempty"` 10089 // StorageAccountAccessKey - Specifies the identifier key of the auditing storage account. If state is Enabled and storageEndpoint is specified, storageAccountAccessKey is required. 10090 StorageAccountAccessKey *string `json:"storageAccountAccessKey,omitempty"` 10091 // RetentionDays - Specifies the number of days to keep in the audit logs in the storage account. 10092 RetentionDays *int32 `json:"retentionDays,omitempty"` 10093 // AuditActionsAndGroups - Specifies the Actions-Groups and Actions to audit. 10094 // 10095 // The recommended set of action groups to use is the following combination - this will audit all the queries and stored procedures executed against the database, as well as successful and failed logins: 10096 // 10097 // BATCH_COMPLETED_GROUP, 10098 // SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP, 10099 // FAILED_DATABASE_AUTHENTICATION_GROUP. 10100 // 10101 // This above combination is also the set that is configured by default when enabling auditing from the Azure portal. 10102 // 10103 // The supported action groups to audit are (note: choose only specific groups that cover your auditing needs. Using unnecessary groups could lead to very large quantities of audit records): 10104 // 10105 // APPLICATION_ROLE_CHANGE_PASSWORD_GROUP 10106 // BACKUP_RESTORE_GROUP 10107 // DATABASE_LOGOUT_GROUP 10108 // DATABASE_OBJECT_CHANGE_GROUP 10109 // DATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP 10110 // DATABASE_OBJECT_PERMISSION_CHANGE_GROUP 10111 // DATABASE_OPERATION_GROUP 10112 // DATABASE_PERMISSION_CHANGE_GROUP 10113 // DATABASE_PRINCIPAL_CHANGE_GROUP 10114 // DATABASE_PRINCIPAL_IMPERSONATION_GROUP 10115 // DATABASE_ROLE_MEMBER_CHANGE_GROUP 10116 // FAILED_DATABASE_AUTHENTICATION_GROUP 10117 // SCHEMA_OBJECT_ACCESS_GROUP 10118 // SCHEMA_OBJECT_CHANGE_GROUP 10119 // SCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP 10120 // SCHEMA_OBJECT_PERMISSION_CHANGE_GROUP 10121 // SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP 10122 // USER_CHANGE_PASSWORD_GROUP 10123 // BATCH_STARTED_GROUP 10124 // BATCH_COMPLETED_GROUP 10125 // 10126 // These are groups that cover all sql statements and stored procedures executed against the database, and should not be used in combination with other groups as this will result in duplicate audit logs. 10127 // 10128 // For more information, see [Database-Level Audit Action Groups](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-action-groups). 10129 // 10130 // For Database auditing policy, specific Actions can also be specified (note that Actions cannot be specified for Server auditing policy). The supported actions to audit are: 10131 // SELECT 10132 // UPDATE 10133 // INSERT 10134 // DELETE 10135 // EXECUTE 10136 // RECEIVE 10137 // REFERENCES 10138 // 10139 // The general form for defining an action to be audited is: 10140 // {action} ON {object} BY {principal} 10141 // 10142 // Note that <object> in the above format can refer to an object like a table, view, or stored procedure, or an entire database or schema. For the latter cases, the forms DATABASE::{db_name} and SCHEMA::{schema_name} are used, respectively. 10143 // 10144 // For example: 10145 // SELECT on dbo.myTable by public 10146 // SELECT on DATABASE::myDatabase by public 10147 // SELECT on SCHEMA::mySchema by public 10148 // 10149 // For more information, see [Database-Level Audit Actions](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-actions) 10150 AuditActionsAndGroups *[]string `json:"auditActionsAndGroups,omitempty"` 10151 // StorageAccountSubscriptionID - Specifies the blob storage subscription Id. 10152 StorageAccountSubscriptionID *uuid.UUID `json:"storageAccountSubscriptionId,omitempty"` 10153 // IsStorageSecondaryKeyInUse - Specifies whether storageAccountAccessKey value is the storage's secondary key. 10154 IsStorageSecondaryKeyInUse *bool `json:"isStorageSecondaryKeyInUse,omitempty"` 10155 // IsAzureMonitorTargetEnabled - Specifies whether audit events are sent to Azure Monitor. 10156 // In order to send the events to Azure Monitor, specify 'state' as 'Enabled' and 'isAzureMonitorTargetEnabled' as true. 10157 // 10158 // When using REST API to configure auditing, Diagnostic Settings with 'SQLSecurityAuditEvents' diagnostic logs category on the database should be also created. 10159 // Note that for server level audit you should use the 'master' database as {databaseName}. 10160 // 10161 // Diagnostic Settings URI format: 10162 // PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview 10163 // 10164 // For more information, see [Diagnostic Settings REST API](https://go.microsoft.com/fwlink/?linkid=2033207) 10165 // or [Diagnostic Settings PowerShell](https://go.microsoft.com/fwlink/?linkid=2033043) 10166 IsAzureMonitorTargetEnabled *bool `json:"isAzureMonitorTargetEnabled,omitempty"` 10167} 10168 10169// SQLPoolBlobAuditingPolicySQLPoolOperationListResult the response to a list Sql pool operations request 10170type SQLPoolBlobAuditingPolicySQLPoolOperationListResult struct { 10171 autorest.Response `json:"-"` 10172 // Value - READ-ONLY; Array of results. 10173 Value *[]SQLPoolOperation `json:"value,omitempty"` 10174 // NextLink - READ-ONLY; Link to retrieve next page of results. 10175 NextLink *string `json:"nextLink,omitempty"` 10176} 10177 10178// MarshalJSON is the custom marshaler for SQLPoolBlobAuditingPolicySQLPoolOperationListResult. 10179func (spbapspolr SQLPoolBlobAuditingPolicySQLPoolOperationListResult) MarshalJSON() ([]byte, error) { 10180 objectMap := make(map[string]interface{}) 10181 return json.Marshal(objectMap) 10182} 10183 10184// SQLPoolBlobAuditingPolicySQLPoolOperationListResultIterator provides access to a complete listing of 10185// SQLPoolOperation values. 10186type SQLPoolBlobAuditingPolicySQLPoolOperationListResultIterator struct { 10187 i int 10188 page SQLPoolBlobAuditingPolicySQLPoolOperationListResultPage 10189} 10190 10191// NextWithContext advances to the next value. If there was an error making 10192// the request the iterator does not advance and the error is returned. 10193func (iter *SQLPoolBlobAuditingPolicySQLPoolOperationListResultIterator) NextWithContext(ctx context.Context) (err error) { 10194 if tracing.IsEnabled() { 10195 ctx = tracing.StartSpan(ctx, fqdn+"/SQLPoolBlobAuditingPolicySQLPoolOperationListResultIterator.NextWithContext") 10196 defer func() { 10197 sc := -1 10198 if iter.Response().Response.Response != nil { 10199 sc = iter.Response().Response.Response.StatusCode 10200 } 10201 tracing.EndSpan(ctx, sc, err) 10202 }() 10203 } 10204 iter.i++ 10205 if iter.i < len(iter.page.Values()) { 10206 return nil 10207 } 10208 err = iter.page.NextWithContext(ctx) 10209 if err != nil { 10210 iter.i-- 10211 return err 10212 } 10213 iter.i = 0 10214 return nil 10215} 10216 10217// Next advances to the next value. If there was an error making 10218// the request the iterator does not advance and the error is returned. 10219// Deprecated: Use NextWithContext() instead. 10220func (iter *SQLPoolBlobAuditingPolicySQLPoolOperationListResultIterator) Next() error { 10221 return iter.NextWithContext(context.Background()) 10222} 10223 10224// NotDone returns true if the enumeration should be started or is not yet complete. 10225func (iter SQLPoolBlobAuditingPolicySQLPoolOperationListResultIterator) NotDone() bool { 10226 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 10227} 10228 10229// Response returns the raw server response from the last page request. 10230func (iter SQLPoolBlobAuditingPolicySQLPoolOperationListResultIterator) Response() SQLPoolBlobAuditingPolicySQLPoolOperationListResult { 10231 return iter.page.Response() 10232} 10233 10234// Value returns the current value or a zero-initialized value if the 10235// iterator has advanced beyond the end of the collection. 10236func (iter SQLPoolBlobAuditingPolicySQLPoolOperationListResultIterator) Value() SQLPoolOperation { 10237 if !iter.page.NotDone() { 10238 return SQLPoolOperation{} 10239 } 10240 return iter.page.Values()[iter.i] 10241} 10242 10243// Creates a new instance of the SQLPoolBlobAuditingPolicySQLPoolOperationListResultIterator type. 10244func NewSQLPoolBlobAuditingPolicySQLPoolOperationListResultIterator(page SQLPoolBlobAuditingPolicySQLPoolOperationListResultPage) SQLPoolBlobAuditingPolicySQLPoolOperationListResultIterator { 10245 return SQLPoolBlobAuditingPolicySQLPoolOperationListResultIterator{page: page} 10246} 10247 10248// IsEmpty returns true if the ListResult contains no values. 10249func (spbapspolr SQLPoolBlobAuditingPolicySQLPoolOperationListResult) IsEmpty() bool { 10250 return spbapspolr.Value == nil || len(*spbapspolr.Value) == 0 10251} 10252 10253// hasNextLink returns true if the NextLink is not empty. 10254func (spbapspolr SQLPoolBlobAuditingPolicySQLPoolOperationListResult) hasNextLink() bool { 10255 return spbapspolr.NextLink != nil && len(*spbapspolr.NextLink) != 0 10256} 10257 10258// sQLPoolBlobAuditingPolicySQLPoolOperationListResultPreparer prepares a request to retrieve the next set of results. 10259// It returns nil if no more results exist. 10260func (spbapspolr SQLPoolBlobAuditingPolicySQLPoolOperationListResult) sQLPoolBlobAuditingPolicySQLPoolOperationListResultPreparer(ctx context.Context) (*http.Request, error) { 10261 if !spbapspolr.hasNextLink() { 10262 return nil, nil 10263 } 10264 return autorest.Prepare((&http.Request{}).WithContext(ctx), 10265 autorest.AsJSON(), 10266 autorest.AsGet(), 10267 autorest.WithBaseURL(to.String(spbapspolr.NextLink))) 10268} 10269 10270// SQLPoolBlobAuditingPolicySQLPoolOperationListResultPage contains a page of SQLPoolOperation values. 10271type SQLPoolBlobAuditingPolicySQLPoolOperationListResultPage struct { 10272 fn func(context.Context, SQLPoolBlobAuditingPolicySQLPoolOperationListResult) (SQLPoolBlobAuditingPolicySQLPoolOperationListResult, error) 10273 spbapspolr SQLPoolBlobAuditingPolicySQLPoolOperationListResult 10274} 10275 10276// NextWithContext advances to the next page of values. If there was an error making 10277// the request the page does not advance and the error is returned. 10278func (page *SQLPoolBlobAuditingPolicySQLPoolOperationListResultPage) NextWithContext(ctx context.Context) (err error) { 10279 if tracing.IsEnabled() { 10280 ctx = tracing.StartSpan(ctx, fqdn+"/SQLPoolBlobAuditingPolicySQLPoolOperationListResultPage.NextWithContext") 10281 defer func() { 10282 sc := -1 10283 if page.Response().Response.Response != nil { 10284 sc = page.Response().Response.Response.StatusCode 10285 } 10286 tracing.EndSpan(ctx, sc, err) 10287 }() 10288 } 10289 for { 10290 next, err := page.fn(ctx, page.spbapspolr) 10291 if err != nil { 10292 return err 10293 } 10294 page.spbapspolr = next 10295 if !next.hasNextLink() || !next.IsEmpty() { 10296 break 10297 } 10298 } 10299 return nil 10300} 10301 10302// Next advances to the next page of values. If there was an error making 10303// the request the page does not advance and the error is returned. 10304// Deprecated: Use NextWithContext() instead. 10305func (page *SQLPoolBlobAuditingPolicySQLPoolOperationListResultPage) Next() error { 10306 return page.NextWithContext(context.Background()) 10307} 10308 10309// NotDone returns true if the page enumeration should be started or is not yet complete. 10310func (page SQLPoolBlobAuditingPolicySQLPoolOperationListResultPage) NotDone() bool { 10311 return !page.spbapspolr.IsEmpty() 10312} 10313 10314// Response returns the raw server response from the last page request. 10315func (page SQLPoolBlobAuditingPolicySQLPoolOperationListResultPage) Response() SQLPoolBlobAuditingPolicySQLPoolOperationListResult { 10316 return page.spbapspolr 10317} 10318 10319// Values returns the slice of values for the current page or nil if there are no values. 10320func (page SQLPoolBlobAuditingPolicySQLPoolOperationListResultPage) Values() []SQLPoolOperation { 10321 if page.spbapspolr.IsEmpty() { 10322 return nil 10323 } 10324 return *page.spbapspolr.Value 10325} 10326 10327// Creates a new instance of the SQLPoolBlobAuditingPolicySQLPoolOperationListResultPage type. 10328func NewSQLPoolBlobAuditingPolicySQLPoolOperationListResultPage(cur SQLPoolBlobAuditingPolicySQLPoolOperationListResult, getNextPage func(context.Context, SQLPoolBlobAuditingPolicySQLPoolOperationListResult) (SQLPoolBlobAuditingPolicySQLPoolOperationListResult, error)) SQLPoolBlobAuditingPolicySQLPoolOperationListResultPage { 10329 return SQLPoolBlobAuditingPolicySQLPoolOperationListResultPage{ 10330 fn: getNextPage, 10331 spbapspolr: cur, 10332 } 10333} 10334 10335// SQLPoolColumn a Sql pool column resource. 10336type SQLPoolColumn struct { 10337 autorest.Response `json:"-"` 10338 // SQLPoolColumnProperties - Resource properties. 10339 *SQLPoolColumnProperties `json:"properties,omitempty"` 10340 // ID - READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} 10341 ID *string `json:"id,omitempty"` 10342 // Name - READ-ONLY; The name of the resource 10343 Name *string `json:"name,omitempty"` 10344 // Type - READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" 10345 Type *string `json:"type,omitempty"` 10346} 10347 10348// MarshalJSON is the custom marshaler for SQLPoolColumn. 10349func (spc SQLPoolColumn) MarshalJSON() ([]byte, error) { 10350 objectMap := make(map[string]interface{}) 10351 if spc.SQLPoolColumnProperties != nil { 10352 objectMap["properties"] = spc.SQLPoolColumnProperties 10353 } 10354 return json.Marshal(objectMap) 10355} 10356 10357// UnmarshalJSON is the custom unmarshaler for SQLPoolColumn struct. 10358func (spc *SQLPoolColumn) UnmarshalJSON(body []byte) error { 10359 var m map[string]*json.RawMessage 10360 err := json.Unmarshal(body, &m) 10361 if err != nil { 10362 return err 10363 } 10364 for k, v := range m { 10365 switch k { 10366 case "properties": 10367 if v != nil { 10368 var SQLPoolColumnProperties SQLPoolColumnProperties 10369 err = json.Unmarshal(*v, &SQLPoolColumnProperties) 10370 if err != nil { 10371 return err 10372 } 10373 spc.SQLPoolColumnProperties = &SQLPoolColumnProperties 10374 } 10375 case "id": 10376 if v != nil { 10377 var ID string 10378 err = json.Unmarshal(*v, &ID) 10379 if err != nil { 10380 return err 10381 } 10382 spc.ID = &ID 10383 } 10384 case "name": 10385 if v != nil { 10386 var name string 10387 err = json.Unmarshal(*v, &name) 10388 if err != nil { 10389 return err 10390 } 10391 spc.Name = &name 10392 } 10393 case "type": 10394 if v != nil { 10395 var typeVar string 10396 err = json.Unmarshal(*v, &typeVar) 10397 if err != nil { 10398 return err 10399 } 10400 spc.Type = &typeVar 10401 } 10402 } 10403 } 10404 10405 return nil 10406} 10407 10408// SQLPoolColumnListResult a list of Sql pool columns. 10409type SQLPoolColumnListResult struct { 10410 autorest.Response `json:"-"` 10411 // Value - READ-ONLY; Array of results. 10412 Value *[]SQLPoolColumn `json:"value,omitempty"` 10413 // NextLink - READ-ONLY; Link to retrieve next page of results. 10414 NextLink *string `json:"nextLink,omitempty"` 10415} 10416 10417// MarshalJSON is the custom marshaler for SQLPoolColumnListResult. 10418func (spclr SQLPoolColumnListResult) MarshalJSON() ([]byte, error) { 10419 objectMap := make(map[string]interface{}) 10420 return json.Marshal(objectMap) 10421} 10422 10423// SQLPoolColumnListResultIterator provides access to a complete listing of SQLPoolColumn values. 10424type SQLPoolColumnListResultIterator struct { 10425 i int 10426 page SQLPoolColumnListResultPage 10427} 10428 10429// NextWithContext advances to the next value. If there was an error making 10430// the request the iterator does not advance and the error is returned. 10431func (iter *SQLPoolColumnListResultIterator) NextWithContext(ctx context.Context) (err error) { 10432 if tracing.IsEnabled() { 10433 ctx = tracing.StartSpan(ctx, fqdn+"/SQLPoolColumnListResultIterator.NextWithContext") 10434 defer func() { 10435 sc := -1 10436 if iter.Response().Response.Response != nil { 10437 sc = iter.Response().Response.Response.StatusCode 10438 } 10439 tracing.EndSpan(ctx, sc, err) 10440 }() 10441 } 10442 iter.i++ 10443 if iter.i < len(iter.page.Values()) { 10444 return nil 10445 } 10446 err = iter.page.NextWithContext(ctx) 10447 if err != nil { 10448 iter.i-- 10449 return err 10450 } 10451 iter.i = 0 10452 return nil 10453} 10454 10455// Next advances to the next value. If there was an error making 10456// the request the iterator does not advance and the error is returned. 10457// Deprecated: Use NextWithContext() instead. 10458func (iter *SQLPoolColumnListResultIterator) Next() error { 10459 return iter.NextWithContext(context.Background()) 10460} 10461 10462// NotDone returns true if the enumeration should be started or is not yet complete. 10463func (iter SQLPoolColumnListResultIterator) NotDone() bool { 10464 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 10465} 10466 10467// Response returns the raw server response from the last page request. 10468func (iter SQLPoolColumnListResultIterator) Response() SQLPoolColumnListResult { 10469 return iter.page.Response() 10470} 10471 10472// Value returns the current value or a zero-initialized value if the 10473// iterator has advanced beyond the end of the collection. 10474func (iter SQLPoolColumnListResultIterator) Value() SQLPoolColumn { 10475 if !iter.page.NotDone() { 10476 return SQLPoolColumn{} 10477 } 10478 return iter.page.Values()[iter.i] 10479} 10480 10481// Creates a new instance of the SQLPoolColumnListResultIterator type. 10482func NewSQLPoolColumnListResultIterator(page SQLPoolColumnListResultPage) SQLPoolColumnListResultIterator { 10483 return SQLPoolColumnListResultIterator{page: page} 10484} 10485 10486// IsEmpty returns true if the ListResult contains no values. 10487func (spclr SQLPoolColumnListResult) IsEmpty() bool { 10488 return spclr.Value == nil || len(*spclr.Value) == 0 10489} 10490 10491// hasNextLink returns true if the NextLink is not empty. 10492func (spclr SQLPoolColumnListResult) hasNextLink() bool { 10493 return spclr.NextLink != nil && len(*spclr.NextLink) != 0 10494} 10495 10496// sQLPoolColumnListResultPreparer prepares a request to retrieve the next set of results. 10497// It returns nil if no more results exist. 10498func (spclr SQLPoolColumnListResult) sQLPoolColumnListResultPreparer(ctx context.Context) (*http.Request, error) { 10499 if !spclr.hasNextLink() { 10500 return nil, nil 10501 } 10502 return autorest.Prepare((&http.Request{}).WithContext(ctx), 10503 autorest.AsJSON(), 10504 autorest.AsGet(), 10505 autorest.WithBaseURL(to.String(spclr.NextLink))) 10506} 10507 10508// SQLPoolColumnListResultPage contains a page of SQLPoolColumn values. 10509type SQLPoolColumnListResultPage struct { 10510 fn func(context.Context, SQLPoolColumnListResult) (SQLPoolColumnListResult, error) 10511 spclr SQLPoolColumnListResult 10512} 10513 10514// NextWithContext advances to the next page of values. If there was an error making 10515// the request the page does not advance and the error is returned. 10516func (page *SQLPoolColumnListResultPage) NextWithContext(ctx context.Context) (err error) { 10517 if tracing.IsEnabled() { 10518 ctx = tracing.StartSpan(ctx, fqdn+"/SQLPoolColumnListResultPage.NextWithContext") 10519 defer func() { 10520 sc := -1 10521 if page.Response().Response.Response != nil { 10522 sc = page.Response().Response.Response.StatusCode 10523 } 10524 tracing.EndSpan(ctx, sc, err) 10525 }() 10526 } 10527 for { 10528 next, err := page.fn(ctx, page.spclr) 10529 if err != nil { 10530 return err 10531 } 10532 page.spclr = next 10533 if !next.hasNextLink() || !next.IsEmpty() { 10534 break 10535 } 10536 } 10537 return nil 10538} 10539 10540// Next advances to the next page of values. If there was an error making 10541// the request the page does not advance and the error is returned. 10542// Deprecated: Use NextWithContext() instead. 10543func (page *SQLPoolColumnListResultPage) Next() error { 10544 return page.NextWithContext(context.Background()) 10545} 10546 10547// NotDone returns true if the page enumeration should be started or is not yet complete. 10548func (page SQLPoolColumnListResultPage) NotDone() bool { 10549 return !page.spclr.IsEmpty() 10550} 10551 10552// Response returns the raw server response from the last page request. 10553func (page SQLPoolColumnListResultPage) Response() SQLPoolColumnListResult { 10554 return page.spclr 10555} 10556 10557// Values returns the slice of values for the current page or nil if there are no values. 10558func (page SQLPoolColumnListResultPage) Values() []SQLPoolColumn { 10559 if page.spclr.IsEmpty() { 10560 return nil 10561 } 10562 return *page.spclr.Value 10563} 10564 10565// Creates a new instance of the SQLPoolColumnListResultPage type. 10566func NewSQLPoolColumnListResultPage(cur SQLPoolColumnListResult, getNextPage func(context.Context, SQLPoolColumnListResult) (SQLPoolColumnListResult, error)) SQLPoolColumnListResultPage { 10567 return SQLPoolColumnListResultPage{ 10568 fn: getNextPage, 10569 spclr: cur, 10570 } 10571} 10572 10573// SQLPoolColumnProperties sql pool column properties. 10574type SQLPoolColumnProperties struct { 10575 // ColumnType - The column data type. Possible values include: 'Image', 'Text', 'Uniqueidentifier', 'Date', 'Time', 'Datetime2', 'Datetimeoffset', 'Tinyint', 'Smallint', 'Int', 'Smalldatetime', 'Real', 'Money', 'Datetime', 'Float', 'SQLVariant', 'Ntext', 'Bit', 'Decimal', 'Numeric', 'Smallmoney', 'Bigint', 'Hierarchyid', 'Geometry', 'Geography', 'Varbinary', 'Varchar', 'Binary', 'Char', 'Timestamp', 'Nvarchar', 'Nchar', 'XML', 'Sysname' 10576 ColumnType ColumnDataType `json:"columnType,omitempty"` 10577} 10578 10579// SQLPoolConnectionPolicy a Sql pool connection policy. 10580type SQLPoolConnectionPolicy struct { 10581 autorest.Response `json:"-"` 10582 // Kind - READ-ONLY; Resource kind. 10583 Kind *string `json:"kind,omitempty"` 10584 // Location - READ-ONLY; Resource location. 10585 Location *string `json:"location,omitempty"` 10586 // SQLPoolConnectionPolicyProperties - Resource properties. 10587 *SQLPoolConnectionPolicyProperties `json:"properties,omitempty"` 10588 // ID - READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} 10589 ID *string `json:"id,omitempty"` 10590 // Name - READ-ONLY; The name of the resource 10591 Name *string `json:"name,omitempty"` 10592 // Type - READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" 10593 Type *string `json:"type,omitempty"` 10594} 10595 10596// MarshalJSON is the custom marshaler for SQLPoolConnectionPolicy. 10597func (spcp SQLPoolConnectionPolicy) MarshalJSON() ([]byte, error) { 10598 objectMap := make(map[string]interface{}) 10599 if spcp.SQLPoolConnectionPolicyProperties != nil { 10600 objectMap["properties"] = spcp.SQLPoolConnectionPolicyProperties 10601 } 10602 return json.Marshal(objectMap) 10603} 10604 10605// UnmarshalJSON is the custom unmarshaler for SQLPoolConnectionPolicy struct. 10606func (spcp *SQLPoolConnectionPolicy) UnmarshalJSON(body []byte) error { 10607 var m map[string]*json.RawMessage 10608 err := json.Unmarshal(body, &m) 10609 if err != nil { 10610 return err 10611 } 10612 for k, v := range m { 10613 switch k { 10614 case "kind": 10615 if v != nil { 10616 var kind string 10617 err = json.Unmarshal(*v, &kind) 10618 if err != nil { 10619 return err 10620 } 10621 spcp.Kind = &kind 10622 } 10623 case "location": 10624 if v != nil { 10625 var location string 10626 err = json.Unmarshal(*v, &location) 10627 if err != nil { 10628 return err 10629 } 10630 spcp.Location = &location 10631 } 10632 case "properties": 10633 if v != nil { 10634 var SQLPoolConnectionPolicyProperties SQLPoolConnectionPolicyProperties 10635 err = json.Unmarshal(*v, &SQLPoolConnectionPolicyProperties) 10636 if err != nil { 10637 return err 10638 } 10639 spcp.SQLPoolConnectionPolicyProperties = &SQLPoolConnectionPolicyProperties 10640 } 10641 case "id": 10642 if v != nil { 10643 var ID string 10644 err = json.Unmarshal(*v, &ID) 10645 if err != nil { 10646 return err 10647 } 10648 spcp.ID = &ID 10649 } 10650 case "name": 10651 if v != nil { 10652 var name string 10653 err = json.Unmarshal(*v, &name) 10654 if err != nil { 10655 return err 10656 } 10657 spcp.Name = &name 10658 } 10659 case "type": 10660 if v != nil { 10661 var typeVar string 10662 err = json.Unmarshal(*v, &typeVar) 10663 if err != nil { 10664 return err 10665 } 10666 spcp.Type = &typeVar 10667 } 10668 } 10669 } 10670 10671 return nil 10672} 10673 10674// SQLPoolConnectionPolicyProperties properties of a Sql pool connection policy. 10675type SQLPoolConnectionPolicyProperties struct { 10676 // SecurityEnabledAccess - The state of security access. 10677 SecurityEnabledAccess *string `json:"securityEnabledAccess,omitempty"` 10678 // ProxyDNSName - The fully qualified host name of the auditing proxy. 10679 ProxyDNSName *string `json:"proxyDnsName,omitempty"` 10680 // ProxyPort - The port number of the auditing proxy. 10681 ProxyPort *string `json:"proxyPort,omitempty"` 10682 // Visibility - The visibility of the auditing proxy. 10683 Visibility *string `json:"visibility,omitempty"` 10684 // UseServerDefault - Whether server default is enabled or disabled. 10685 UseServerDefault *string `json:"useServerDefault,omitempty"` 10686 // RedirectionState - The state of proxy redirection. 10687 RedirectionState *string `json:"redirectionState,omitempty"` 10688 // State - The connection policy state. 10689 State *string `json:"state,omitempty"` 10690} 10691 10692// SQLPoolInfoListResult list of SQL pools 10693type SQLPoolInfoListResult struct { 10694 autorest.Response `json:"-"` 10695 // NextLink - Link to the next page of results 10696 NextLink *string `json:"nextLink,omitempty"` 10697 // Value - List of SQL pools 10698 Value *[]SQLPool `json:"value,omitempty"` 10699} 10700 10701// SQLPoolInfoListResultIterator provides access to a complete listing of SQLPool values. 10702type SQLPoolInfoListResultIterator struct { 10703 i int 10704 page SQLPoolInfoListResultPage 10705} 10706 10707// NextWithContext advances to the next value. If there was an error making 10708// the request the iterator does not advance and the error is returned. 10709func (iter *SQLPoolInfoListResultIterator) NextWithContext(ctx context.Context) (err error) { 10710 if tracing.IsEnabled() { 10711 ctx = tracing.StartSpan(ctx, fqdn+"/SQLPoolInfoListResultIterator.NextWithContext") 10712 defer func() { 10713 sc := -1 10714 if iter.Response().Response.Response != nil { 10715 sc = iter.Response().Response.Response.StatusCode 10716 } 10717 tracing.EndSpan(ctx, sc, err) 10718 }() 10719 } 10720 iter.i++ 10721 if iter.i < len(iter.page.Values()) { 10722 return nil 10723 } 10724 err = iter.page.NextWithContext(ctx) 10725 if err != nil { 10726 iter.i-- 10727 return err 10728 } 10729 iter.i = 0 10730 return nil 10731} 10732 10733// Next advances to the next value. If there was an error making 10734// the request the iterator does not advance and the error is returned. 10735// Deprecated: Use NextWithContext() instead. 10736func (iter *SQLPoolInfoListResultIterator) Next() error { 10737 return iter.NextWithContext(context.Background()) 10738} 10739 10740// NotDone returns true if the enumeration should be started or is not yet complete. 10741func (iter SQLPoolInfoListResultIterator) NotDone() bool { 10742 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 10743} 10744 10745// Response returns the raw server response from the last page request. 10746func (iter SQLPoolInfoListResultIterator) Response() SQLPoolInfoListResult { 10747 return iter.page.Response() 10748} 10749 10750// Value returns the current value or a zero-initialized value if the 10751// iterator has advanced beyond the end of the collection. 10752func (iter SQLPoolInfoListResultIterator) Value() SQLPool { 10753 if !iter.page.NotDone() { 10754 return SQLPool{} 10755 } 10756 return iter.page.Values()[iter.i] 10757} 10758 10759// Creates a new instance of the SQLPoolInfoListResultIterator type. 10760func NewSQLPoolInfoListResultIterator(page SQLPoolInfoListResultPage) SQLPoolInfoListResultIterator { 10761 return SQLPoolInfoListResultIterator{page: page} 10762} 10763 10764// IsEmpty returns true if the ListResult contains no values. 10765func (spilr SQLPoolInfoListResult) IsEmpty() bool { 10766 return spilr.Value == nil || len(*spilr.Value) == 0 10767} 10768 10769// hasNextLink returns true if the NextLink is not empty. 10770func (spilr SQLPoolInfoListResult) hasNextLink() bool { 10771 return spilr.NextLink != nil && len(*spilr.NextLink) != 0 10772} 10773 10774// sQLPoolInfoListResultPreparer prepares a request to retrieve the next set of results. 10775// It returns nil if no more results exist. 10776func (spilr SQLPoolInfoListResult) sQLPoolInfoListResultPreparer(ctx context.Context) (*http.Request, error) { 10777 if !spilr.hasNextLink() { 10778 return nil, nil 10779 } 10780 return autorest.Prepare((&http.Request{}).WithContext(ctx), 10781 autorest.AsJSON(), 10782 autorest.AsGet(), 10783 autorest.WithBaseURL(to.String(spilr.NextLink))) 10784} 10785 10786// SQLPoolInfoListResultPage contains a page of SQLPool values. 10787type SQLPoolInfoListResultPage struct { 10788 fn func(context.Context, SQLPoolInfoListResult) (SQLPoolInfoListResult, error) 10789 spilr SQLPoolInfoListResult 10790} 10791 10792// NextWithContext advances to the next page of values. If there was an error making 10793// the request the page does not advance and the error is returned. 10794func (page *SQLPoolInfoListResultPage) NextWithContext(ctx context.Context) (err error) { 10795 if tracing.IsEnabled() { 10796 ctx = tracing.StartSpan(ctx, fqdn+"/SQLPoolInfoListResultPage.NextWithContext") 10797 defer func() { 10798 sc := -1 10799 if page.Response().Response.Response != nil { 10800 sc = page.Response().Response.Response.StatusCode 10801 } 10802 tracing.EndSpan(ctx, sc, err) 10803 }() 10804 } 10805 for { 10806 next, err := page.fn(ctx, page.spilr) 10807 if err != nil { 10808 return err 10809 } 10810 page.spilr = next 10811 if !next.hasNextLink() || !next.IsEmpty() { 10812 break 10813 } 10814 } 10815 return nil 10816} 10817 10818// Next advances to the next page of values. If there was an error making 10819// the request the page does not advance and the error is returned. 10820// Deprecated: Use NextWithContext() instead. 10821func (page *SQLPoolInfoListResultPage) Next() error { 10822 return page.NextWithContext(context.Background()) 10823} 10824 10825// NotDone returns true if the page enumeration should be started or is not yet complete. 10826func (page SQLPoolInfoListResultPage) NotDone() bool { 10827 return !page.spilr.IsEmpty() 10828} 10829 10830// Response returns the raw server response from the last page request. 10831func (page SQLPoolInfoListResultPage) Response() SQLPoolInfoListResult { 10832 return page.spilr 10833} 10834 10835// Values returns the slice of values for the current page or nil if there are no values. 10836func (page SQLPoolInfoListResultPage) Values() []SQLPool { 10837 if page.spilr.IsEmpty() { 10838 return nil 10839 } 10840 return *page.spilr.Value 10841} 10842 10843// Creates a new instance of the SQLPoolInfoListResultPage type. 10844func NewSQLPoolInfoListResultPage(cur SQLPoolInfoListResult, getNextPage func(context.Context, SQLPoolInfoListResult) (SQLPoolInfoListResult, error)) SQLPoolInfoListResultPage { 10845 return SQLPoolInfoListResultPage{ 10846 fn: getNextPage, 10847 spilr: cur, 10848 } 10849} 10850 10851// SQLPoolOperation a Sql pool operation. 10852type SQLPoolOperation struct { 10853 // SQLPoolOperationProperties - Resource properties. 10854 *SQLPoolOperationProperties `json:"properties,omitempty"` 10855 // ID - READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} 10856 ID *string `json:"id,omitempty"` 10857 // Name - READ-ONLY; The name of the resource 10858 Name *string `json:"name,omitempty"` 10859 // Type - READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" 10860 Type *string `json:"type,omitempty"` 10861} 10862 10863// MarshalJSON is the custom marshaler for SQLPoolOperation. 10864func (spo SQLPoolOperation) MarshalJSON() ([]byte, error) { 10865 objectMap := make(map[string]interface{}) 10866 if spo.SQLPoolOperationProperties != nil { 10867 objectMap["properties"] = spo.SQLPoolOperationProperties 10868 } 10869 return json.Marshal(objectMap) 10870} 10871 10872// UnmarshalJSON is the custom unmarshaler for SQLPoolOperation struct. 10873func (spo *SQLPoolOperation) UnmarshalJSON(body []byte) error { 10874 var m map[string]*json.RawMessage 10875 err := json.Unmarshal(body, &m) 10876 if err != nil { 10877 return err 10878 } 10879 for k, v := range m { 10880 switch k { 10881 case "properties": 10882 if v != nil { 10883 var SQLPoolOperationProperties SQLPoolOperationProperties 10884 err = json.Unmarshal(*v, &SQLPoolOperationProperties) 10885 if err != nil { 10886 return err 10887 } 10888 spo.SQLPoolOperationProperties = &SQLPoolOperationProperties 10889 } 10890 case "id": 10891 if v != nil { 10892 var ID string 10893 err = json.Unmarshal(*v, &ID) 10894 if err != nil { 10895 return err 10896 } 10897 spo.ID = &ID 10898 } 10899 case "name": 10900 if v != nil { 10901 var name string 10902 err = json.Unmarshal(*v, &name) 10903 if err != nil { 10904 return err 10905 } 10906 spo.Name = &name 10907 } 10908 case "type": 10909 if v != nil { 10910 var typeVar string 10911 err = json.Unmarshal(*v, &typeVar) 10912 if err != nil { 10913 return err 10914 } 10915 spo.Type = &typeVar 10916 } 10917 } 10918 } 10919 10920 return nil 10921} 10922 10923// SQLPoolOperationProperties the properties of a Sql pool operation. 10924type SQLPoolOperationProperties struct { 10925 // DatabaseName - READ-ONLY; The name of the Sql pool the operation is being performed on. 10926 DatabaseName *string `json:"databaseName,omitempty"` 10927 // Operation - READ-ONLY; The name of operation. 10928 Operation *string `json:"operation,omitempty"` 10929 // OperationFriendlyName - READ-ONLY; The friendly name of operation. 10930 OperationFriendlyName *string `json:"operationFriendlyName,omitempty"` 10931 // PercentComplete - READ-ONLY; The percentage of the operation completed. 10932 PercentComplete *int32 `json:"percentComplete,omitempty"` 10933 // ServerName - READ-ONLY; The name of the server. 10934 ServerName *string `json:"serverName,omitempty"` 10935 // StartTime - READ-ONLY; The operation start time. 10936 StartTime *date.Time `json:"startTime,omitempty"` 10937 // State - READ-ONLY; The operation state. Possible values include: 'Pending', 'InProgress', 'Succeeded', 'Failed', 'CancelInProgress', 'Cancelled' 10938 State ManagementOperationState `json:"state,omitempty"` 10939 // ErrorCode - READ-ONLY; The operation error code. 10940 ErrorCode *int32 `json:"errorCode,omitempty"` 10941 // ErrorDescription - READ-ONLY; The operation error description. 10942 ErrorDescription *string `json:"errorDescription,omitempty"` 10943 // ErrorSeverity - READ-ONLY; The operation error severity. 10944 ErrorSeverity *int32 `json:"errorSeverity,omitempty"` 10945 // IsUserError - READ-ONLY; Whether or not the error is a user error. 10946 IsUserError *bool `json:"isUserError,omitempty"` 10947 // EstimatedCompletionTime - READ-ONLY; The estimated completion time of the operation. 10948 EstimatedCompletionTime *date.Time `json:"estimatedCompletionTime,omitempty"` 10949 // Description - READ-ONLY; The operation description. 10950 Description *string `json:"description,omitempty"` 10951 // IsCancellable - READ-ONLY; Whether the operation can be cancelled. 10952 IsCancellable *bool `json:"isCancellable,omitempty"` 10953} 10954 10955// MarshalJSON is the custom marshaler for SQLPoolOperationProperties. 10956func (spop SQLPoolOperationProperties) MarshalJSON() ([]byte, error) { 10957 objectMap := make(map[string]interface{}) 10958 return json.Marshal(objectMap) 10959} 10960 10961// SQLPoolPatchInfo a SQL Analytics pool patch info 10962type SQLPoolPatchInfo struct { 10963 // Tags - Resource tags. 10964 Tags map[string]*string `json:"tags"` 10965 // Location - The geo-location where the resource lives 10966 Location *string `json:"location,omitempty"` 10967 // Sku - SQL pool SKU 10968 Sku *Sku `json:"sku,omitempty"` 10969 // SQLPoolResourceProperties - SQL pool properties 10970 *SQLPoolResourceProperties `json:"properties,omitempty"` 10971} 10972 10973// MarshalJSON is the custom marshaler for SQLPoolPatchInfo. 10974func (sppi SQLPoolPatchInfo) MarshalJSON() ([]byte, error) { 10975 objectMap := make(map[string]interface{}) 10976 if sppi.Tags != nil { 10977 objectMap["tags"] = sppi.Tags 10978 } 10979 if sppi.Location != nil { 10980 objectMap["location"] = sppi.Location 10981 } 10982 if sppi.Sku != nil { 10983 objectMap["sku"] = sppi.Sku 10984 } 10985 if sppi.SQLPoolResourceProperties != nil { 10986 objectMap["properties"] = sppi.SQLPoolResourceProperties 10987 } 10988 return json.Marshal(objectMap) 10989} 10990 10991// UnmarshalJSON is the custom unmarshaler for SQLPoolPatchInfo struct. 10992func (sppi *SQLPoolPatchInfo) UnmarshalJSON(body []byte) error { 10993 var m map[string]*json.RawMessage 10994 err := json.Unmarshal(body, &m) 10995 if err != nil { 10996 return err 10997 } 10998 for k, v := range m { 10999 switch k { 11000 case "tags": 11001 if v != nil { 11002 var tags map[string]*string 11003 err = json.Unmarshal(*v, &tags) 11004 if err != nil { 11005 return err 11006 } 11007 sppi.Tags = tags 11008 } 11009 case "location": 11010 if v != nil { 11011 var location string 11012 err = json.Unmarshal(*v, &location) 11013 if err != nil { 11014 return err 11015 } 11016 sppi.Location = &location 11017 } 11018 case "sku": 11019 if v != nil { 11020 var sku Sku 11021 err = json.Unmarshal(*v, &sku) 11022 if err != nil { 11023 return err 11024 } 11025 sppi.Sku = &sku 11026 } 11027 case "properties": 11028 if v != nil { 11029 var SQLPoolResourceProperties SQLPoolResourceProperties 11030 err = json.Unmarshal(*v, &SQLPoolResourceProperties) 11031 if err != nil { 11032 return err 11033 } 11034 sppi.SQLPoolResourceProperties = &SQLPoolResourceProperties 11035 } 11036 } 11037 } 11038 11039 return nil 11040} 11041 11042// SQLPoolResourceProperties properties of a SQL Analytics pool 11043type SQLPoolResourceProperties struct { 11044 // MaxSizeBytes - Maximum size in bytes 11045 MaxSizeBytes *int64 `json:"maxSizeBytes,omitempty"` 11046 // Collation - Collation mode 11047 Collation *string `json:"collation,omitempty"` 11048 // SourceDatabaseID - Source database to create from 11049 SourceDatabaseID *string `json:"sourceDatabaseId,omitempty"` 11050 // RecoverableDatabaseID - Backup database to restore from 11051 RecoverableDatabaseID *string `json:"recoverableDatabaseId,omitempty"` 11052 // ProvisioningState - Resource state 11053 ProvisioningState *string `json:"provisioningState,omitempty"` 11054 // Status - Resource status 11055 Status *string `json:"status,omitempty"` 11056 // RestorePointInTime - Snapshot time to restore 11057 RestorePointInTime *string `json:"restorePointInTime,omitempty"` 11058 // CreateMode - What is this? 11059 CreateMode *string `json:"createMode,omitempty"` 11060 // CreationDate - Date the SQL pool was created 11061 CreationDate *date.Time `json:"creationDate,omitempty"` 11062} 11063 11064// SQLPoolRestorePointsCreateFuture an abstraction for monitoring and retrieving the results of a 11065// long-running operation. 11066type SQLPoolRestorePointsCreateFuture struct { 11067 azure.FutureAPI 11068 // Result returns the result of the asynchronous operation. 11069 // If the operation has not completed it will return an error. 11070 Result func(SQLPoolRestorePointsClient) (RestorePoint, error) 11071} 11072 11073// UnmarshalJSON is the custom unmarshaller for CreateFuture. 11074func (future *SQLPoolRestorePointsCreateFuture) UnmarshalJSON(body []byte) error { 11075 var azFuture azure.Future 11076 if err := json.Unmarshal(body, &azFuture); err != nil { 11077 return err 11078 } 11079 future.FutureAPI = &azFuture 11080 future.Result = future.result 11081 return nil 11082} 11083 11084// result is the default implementation for SQLPoolRestorePointsCreateFuture.Result. 11085func (future *SQLPoolRestorePointsCreateFuture) result(client SQLPoolRestorePointsClient) (rp RestorePoint, err error) { 11086 var done bool 11087 done, err = future.DoneWithContext(context.Background(), client) 11088 if err != nil { 11089 err = autorest.NewErrorWithError(err, "synapse.SQLPoolRestorePointsCreateFuture", "Result", future.Response(), "Polling failure") 11090 return 11091 } 11092 if !done { 11093 rp.Response.Response = future.Response() 11094 err = azure.NewAsyncOpIncompleteError("synapse.SQLPoolRestorePointsCreateFuture") 11095 return 11096 } 11097 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 11098 if rp.Response.Response, err = future.GetResult(sender); err == nil && rp.Response.Response.StatusCode != http.StatusNoContent { 11099 rp, err = client.CreateResponder(rp.Response.Response) 11100 if err != nil { 11101 err = autorest.NewErrorWithError(err, "synapse.SQLPoolRestorePointsCreateFuture", "Result", rp.Response.Response, "Failure responding to request") 11102 } 11103 } 11104 return 11105} 11106 11107// SQLPoolSchema a Sql pool schema resource. 11108type SQLPoolSchema struct { 11109 autorest.Response `json:"-"` 11110 // ID - READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} 11111 ID *string `json:"id,omitempty"` 11112 // Name - READ-ONLY; The name of the resource 11113 Name *string `json:"name,omitempty"` 11114 // Type - READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" 11115 Type *string `json:"type,omitempty"` 11116} 11117 11118// MarshalJSON is the custom marshaler for SQLPoolSchema. 11119func (sps SQLPoolSchema) MarshalJSON() ([]byte, error) { 11120 objectMap := make(map[string]interface{}) 11121 return json.Marshal(objectMap) 11122} 11123 11124// SQLPoolSchemaListResult a list of Sql pool schemas. 11125type SQLPoolSchemaListResult struct { 11126 autorest.Response `json:"-"` 11127 // Value - READ-ONLY; Array of results. 11128 Value *[]SQLPoolSchema `json:"value,omitempty"` 11129 // NextLink - READ-ONLY; Link to retrieve next page of results. 11130 NextLink *string `json:"nextLink,omitempty"` 11131} 11132 11133// MarshalJSON is the custom marshaler for SQLPoolSchemaListResult. 11134func (spslr SQLPoolSchemaListResult) MarshalJSON() ([]byte, error) { 11135 objectMap := make(map[string]interface{}) 11136 return json.Marshal(objectMap) 11137} 11138 11139// SQLPoolSchemaListResultIterator provides access to a complete listing of SQLPoolSchema values. 11140type SQLPoolSchemaListResultIterator struct { 11141 i int 11142 page SQLPoolSchemaListResultPage 11143} 11144 11145// NextWithContext advances to the next value. If there was an error making 11146// the request the iterator does not advance and the error is returned. 11147func (iter *SQLPoolSchemaListResultIterator) NextWithContext(ctx context.Context) (err error) { 11148 if tracing.IsEnabled() { 11149 ctx = tracing.StartSpan(ctx, fqdn+"/SQLPoolSchemaListResultIterator.NextWithContext") 11150 defer func() { 11151 sc := -1 11152 if iter.Response().Response.Response != nil { 11153 sc = iter.Response().Response.Response.StatusCode 11154 } 11155 tracing.EndSpan(ctx, sc, err) 11156 }() 11157 } 11158 iter.i++ 11159 if iter.i < len(iter.page.Values()) { 11160 return nil 11161 } 11162 err = iter.page.NextWithContext(ctx) 11163 if err != nil { 11164 iter.i-- 11165 return err 11166 } 11167 iter.i = 0 11168 return nil 11169} 11170 11171// Next advances to the next value. If there was an error making 11172// the request the iterator does not advance and the error is returned. 11173// Deprecated: Use NextWithContext() instead. 11174func (iter *SQLPoolSchemaListResultIterator) Next() error { 11175 return iter.NextWithContext(context.Background()) 11176} 11177 11178// NotDone returns true if the enumeration should be started or is not yet complete. 11179func (iter SQLPoolSchemaListResultIterator) NotDone() bool { 11180 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 11181} 11182 11183// Response returns the raw server response from the last page request. 11184func (iter SQLPoolSchemaListResultIterator) Response() SQLPoolSchemaListResult { 11185 return iter.page.Response() 11186} 11187 11188// Value returns the current value or a zero-initialized value if the 11189// iterator has advanced beyond the end of the collection. 11190func (iter SQLPoolSchemaListResultIterator) Value() SQLPoolSchema { 11191 if !iter.page.NotDone() { 11192 return SQLPoolSchema{} 11193 } 11194 return iter.page.Values()[iter.i] 11195} 11196 11197// Creates a new instance of the SQLPoolSchemaListResultIterator type. 11198func NewSQLPoolSchemaListResultIterator(page SQLPoolSchemaListResultPage) SQLPoolSchemaListResultIterator { 11199 return SQLPoolSchemaListResultIterator{page: page} 11200} 11201 11202// IsEmpty returns true if the ListResult contains no values. 11203func (spslr SQLPoolSchemaListResult) IsEmpty() bool { 11204 return spslr.Value == nil || len(*spslr.Value) == 0 11205} 11206 11207// hasNextLink returns true if the NextLink is not empty. 11208func (spslr SQLPoolSchemaListResult) hasNextLink() bool { 11209 return spslr.NextLink != nil && len(*spslr.NextLink) != 0 11210} 11211 11212// sQLPoolSchemaListResultPreparer prepares a request to retrieve the next set of results. 11213// It returns nil if no more results exist. 11214func (spslr SQLPoolSchemaListResult) sQLPoolSchemaListResultPreparer(ctx context.Context) (*http.Request, error) { 11215 if !spslr.hasNextLink() { 11216 return nil, nil 11217 } 11218 return autorest.Prepare((&http.Request{}).WithContext(ctx), 11219 autorest.AsJSON(), 11220 autorest.AsGet(), 11221 autorest.WithBaseURL(to.String(spslr.NextLink))) 11222} 11223 11224// SQLPoolSchemaListResultPage contains a page of SQLPoolSchema values. 11225type SQLPoolSchemaListResultPage struct { 11226 fn func(context.Context, SQLPoolSchemaListResult) (SQLPoolSchemaListResult, error) 11227 spslr SQLPoolSchemaListResult 11228} 11229 11230// NextWithContext advances to the next page of values. If there was an error making 11231// the request the page does not advance and the error is returned. 11232func (page *SQLPoolSchemaListResultPage) NextWithContext(ctx context.Context) (err error) { 11233 if tracing.IsEnabled() { 11234 ctx = tracing.StartSpan(ctx, fqdn+"/SQLPoolSchemaListResultPage.NextWithContext") 11235 defer func() { 11236 sc := -1 11237 if page.Response().Response.Response != nil { 11238 sc = page.Response().Response.Response.StatusCode 11239 } 11240 tracing.EndSpan(ctx, sc, err) 11241 }() 11242 } 11243 for { 11244 next, err := page.fn(ctx, page.spslr) 11245 if err != nil { 11246 return err 11247 } 11248 page.spslr = next 11249 if !next.hasNextLink() || !next.IsEmpty() { 11250 break 11251 } 11252 } 11253 return nil 11254} 11255 11256// Next advances to the next page of values. If there was an error making 11257// the request the page does not advance and the error is returned. 11258// Deprecated: Use NextWithContext() instead. 11259func (page *SQLPoolSchemaListResultPage) Next() error { 11260 return page.NextWithContext(context.Background()) 11261} 11262 11263// NotDone returns true if the page enumeration should be started or is not yet complete. 11264func (page SQLPoolSchemaListResultPage) NotDone() bool { 11265 return !page.spslr.IsEmpty() 11266} 11267 11268// Response returns the raw server response from the last page request. 11269func (page SQLPoolSchemaListResultPage) Response() SQLPoolSchemaListResult { 11270 return page.spslr 11271} 11272 11273// Values returns the slice of values for the current page or nil if there are no values. 11274func (page SQLPoolSchemaListResultPage) Values() []SQLPoolSchema { 11275 if page.spslr.IsEmpty() { 11276 return nil 11277 } 11278 return *page.spslr.Value 11279} 11280 11281// Creates a new instance of the SQLPoolSchemaListResultPage type. 11282func NewSQLPoolSchemaListResultPage(cur SQLPoolSchemaListResult, getNextPage func(context.Context, SQLPoolSchemaListResult) (SQLPoolSchemaListResult, error)) SQLPoolSchemaListResultPage { 11283 return SQLPoolSchemaListResultPage{ 11284 fn: getNextPage, 11285 spslr: cur, 11286 } 11287} 11288 11289// SQLPoolsCreateFuture an abstraction for monitoring and retrieving the results of a long-running 11290// operation. 11291type SQLPoolsCreateFuture struct { 11292 azure.FutureAPI 11293 // Result returns the result of the asynchronous operation. 11294 // If the operation has not completed it will return an error. 11295 Result func(SQLPoolsClient) (SQLPool, error) 11296} 11297 11298// UnmarshalJSON is the custom unmarshaller for CreateFuture. 11299func (future *SQLPoolsCreateFuture) UnmarshalJSON(body []byte) error { 11300 var azFuture azure.Future 11301 if err := json.Unmarshal(body, &azFuture); err != nil { 11302 return err 11303 } 11304 future.FutureAPI = &azFuture 11305 future.Result = future.result 11306 return nil 11307} 11308 11309// result is the default implementation for SQLPoolsCreateFuture.Result. 11310func (future *SQLPoolsCreateFuture) result(client SQLPoolsClient) (sp SQLPool, err error) { 11311 var done bool 11312 done, err = future.DoneWithContext(context.Background(), client) 11313 if err != nil { 11314 err = autorest.NewErrorWithError(err, "synapse.SQLPoolsCreateFuture", "Result", future.Response(), "Polling failure") 11315 return 11316 } 11317 if !done { 11318 sp.Response.Response = future.Response() 11319 err = azure.NewAsyncOpIncompleteError("synapse.SQLPoolsCreateFuture") 11320 return 11321 } 11322 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 11323 if sp.Response.Response, err = future.GetResult(sender); err == nil && sp.Response.Response.StatusCode != http.StatusNoContent { 11324 sp, err = client.CreateResponder(sp.Response.Response) 11325 if err != nil { 11326 err = autorest.NewErrorWithError(err, "synapse.SQLPoolsCreateFuture", "Result", sp.Response.Response, "Failure responding to request") 11327 } 11328 } 11329 return 11330} 11331 11332// SQLPoolsDeleteFuture an abstraction for monitoring and retrieving the results of a long-running 11333// operation. 11334type SQLPoolsDeleteFuture struct { 11335 azure.FutureAPI 11336 // Result returns the result of the asynchronous operation. 11337 // If the operation has not completed it will return an error. 11338 Result func(SQLPoolsClient) (SetObject, error) 11339} 11340 11341// UnmarshalJSON is the custom unmarshaller for CreateFuture. 11342func (future *SQLPoolsDeleteFuture) UnmarshalJSON(body []byte) error { 11343 var azFuture azure.Future 11344 if err := json.Unmarshal(body, &azFuture); err != nil { 11345 return err 11346 } 11347 future.FutureAPI = &azFuture 11348 future.Result = future.result 11349 return nil 11350} 11351 11352// result is the default implementation for SQLPoolsDeleteFuture.Result. 11353func (future *SQLPoolsDeleteFuture) result(client SQLPoolsClient) (so SetObject, err error) { 11354 var done bool 11355 done, err = future.DoneWithContext(context.Background(), client) 11356 if err != nil { 11357 err = autorest.NewErrorWithError(err, "synapse.SQLPoolsDeleteFuture", "Result", future.Response(), "Polling failure") 11358 return 11359 } 11360 if !done { 11361 so.Response.Response = future.Response() 11362 err = azure.NewAsyncOpIncompleteError("synapse.SQLPoolsDeleteFuture") 11363 return 11364 } 11365 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 11366 if so.Response.Response, err = future.GetResult(sender); err == nil && so.Response.Response.StatusCode != http.StatusNoContent { 11367 so, err = client.DeleteResponder(so.Response.Response) 11368 if err != nil { 11369 err = autorest.NewErrorWithError(err, "synapse.SQLPoolsDeleteFuture", "Result", so.Response.Response, "Failure responding to request") 11370 } 11371 } 11372 return 11373} 11374 11375// SQLPoolSecurityAlertPolicy a Sql pool security alert policy. 11376type SQLPoolSecurityAlertPolicy struct { 11377 autorest.Response `json:"-"` 11378 // SecurityAlertPolicyProperties - Resource properties. 11379 *SecurityAlertPolicyProperties `json:"properties,omitempty"` 11380 // ID - READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} 11381 ID *string `json:"id,omitempty"` 11382 // Name - READ-ONLY; The name of the resource 11383 Name *string `json:"name,omitempty"` 11384 // Type - READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" 11385 Type *string `json:"type,omitempty"` 11386} 11387 11388// MarshalJSON is the custom marshaler for SQLPoolSecurityAlertPolicy. 11389func (spsap SQLPoolSecurityAlertPolicy) MarshalJSON() ([]byte, error) { 11390 objectMap := make(map[string]interface{}) 11391 if spsap.SecurityAlertPolicyProperties != nil { 11392 objectMap["properties"] = spsap.SecurityAlertPolicyProperties 11393 } 11394 return json.Marshal(objectMap) 11395} 11396 11397// UnmarshalJSON is the custom unmarshaler for SQLPoolSecurityAlertPolicy struct. 11398func (spsap *SQLPoolSecurityAlertPolicy) UnmarshalJSON(body []byte) error { 11399 var m map[string]*json.RawMessage 11400 err := json.Unmarshal(body, &m) 11401 if err != nil { 11402 return err 11403 } 11404 for k, v := range m { 11405 switch k { 11406 case "properties": 11407 if v != nil { 11408 var securityAlertPolicyProperties SecurityAlertPolicyProperties 11409 err = json.Unmarshal(*v, &securityAlertPolicyProperties) 11410 if err != nil { 11411 return err 11412 } 11413 spsap.SecurityAlertPolicyProperties = &securityAlertPolicyProperties 11414 } 11415 case "id": 11416 if v != nil { 11417 var ID string 11418 err = json.Unmarshal(*v, &ID) 11419 if err != nil { 11420 return err 11421 } 11422 spsap.ID = &ID 11423 } 11424 case "name": 11425 if v != nil { 11426 var name string 11427 err = json.Unmarshal(*v, &name) 11428 if err != nil { 11429 return err 11430 } 11431 spsap.Name = &name 11432 } 11433 case "type": 11434 if v != nil { 11435 var typeVar string 11436 err = json.Unmarshal(*v, &typeVar) 11437 if err != nil { 11438 return err 11439 } 11440 spsap.Type = &typeVar 11441 } 11442 } 11443 } 11444 11445 return nil 11446} 11447 11448// SQLPoolsPauseFuture an abstraction for monitoring and retrieving the results of a long-running 11449// operation. 11450type SQLPoolsPauseFuture struct { 11451 azure.FutureAPI 11452 // Result returns the result of the asynchronous operation. 11453 // If the operation has not completed it will return an error. 11454 Result func(SQLPoolsClient) (SetObject, error) 11455} 11456 11457// UnmarshalJSON is the custom unmarshaller for CreateFuture. 11458func (future *SQLPoolsPauseFuture) UnmarshalJSON(body []byte) error { 11459 var azFuture azure.Future 11460 if err := json.Unmarshal(body, &azFuture); err != nil { 11461 return err 11462 } 11463 future.FutureAPI = &azFuture 11464 future.Result = future.result 11465 return nil 11466} 11467 11468// result is the default implementation for SQLPoolsPauseFuture.Result. 11469func (future *SQLPoolsPauseFuture) result(client SQLPoolsClient) (so SetObject, err error) { 11470 var done bool 11471 done, err = future.DoneWithContext(context.Background(), client) 11472 if err != nil { 11473 err = autorest.NewErrorWithError(err, "synapse.SQLPoolsPauseFuture", "Result", future.Response(), "Polling failure") 11474 return 11475 } 11476 if !done { 11477 so.Response.Response = future.Response() 11478 err = azure.NewAsyncOpIncompleteError("synapse.SQLPoolsPauseFuture") 11479 return 11480 } 11481 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 11482 if so.Response.Response, err = future.GetResult(sender); err == nil && so.Response.Response.StatusCode != http.StatusNoContent { 11483 so, err = client.PauseResponder(so.Response.Response) 11484 if err != nil { 11485 err = autorest.NewErrorWithError(err, "synapse.SQLPoolsPauseFuture", "Result", so.Response.Response, "Failure responding to request") 11486 } 11487 } 11488 return 11489} 11490 11491// SQLPoolsResumeFuture an abstraction for monitoring and retrieving the results of a long-running 11492// operation. 11493type SQLPoolsResumeFuture struct { 11494 azure.FutureAPI 11495 // Result returns the result of the asynchronous operation. 11496 // If the operation has not completed it will return an error. 11497 Result func(SQLPoolsClient) (SetObject, error) 11498} 11499 11500// UnmarshalJSON is the custom unmarshaller for CreateFuture. 11501func (future *SQLPoolsResumeFuture) UnmarshalJSON(body []byte) error { 11502 var azFuture azure.Future 11503 if err := json.Unmarshal(body, &azFuture); err != nil { 11504 return err 11505 } 11506 future.FutureAPI = &azFuture 11507 future.Result = future.result 11508 return nil 11509} 11510 11511// result is the default implementation for SQLPoolsResumeFuture.Result. 11512func (future *SQLPoolsResumeFuture) result(client SQLPoolsClient) (so SetObject, err error) { 11513 var done bool 11514 done, err = future.DoneWithContext(context.Background(), client) 11515 if err != nil { 11516 err = autorest.NewErrorWithError(err, "synapse.SQLPoolsResumeFuture", "Result", future.Response(), "Polling failure") 11517 return 11518 } 11519 if !done { 11520 so.Response.Response = future.Response() 11521 err = azure.NewAsyncOpIncompleteError("synapse.SQLPoolsResumeFuture") 11522 return 11523 } 11524 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 11525 if so.Response.Response, err = future.GetResult(sender); err == nil && so.Response.Response.StatusCode != http.StatusNoContent { 11526 so, err = client.ResumeResponder(so.Response.Response) 11527 if err != nil { 11528 err = autorest.NewErrorWithError(err, "synapse.SQLPoolsResumeFuture", "Result", so.Response.Response, "Failure responding to request") 11529 } 11530 } 11531 return 11532} 11533 11534// SQLPoolTable a Sql pool table resource. 11535type SQLPoolTable struct { 11536 autorest.Response `json:"-"` 11537 // ID - READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} 11538 ID *string `json:"id,omitempty"` 11539 // Name - READ-ONLY; The name of the resource 11540 Name *string `json:"name,omitempty"` 11541 // Type - READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" 11542 Type *string `json:"type,omitempty"` 11543} 11544 11545// MarshalJSON is the custom marshaler for SQLPoolTable. 11546func (spt SQLPoolTable) MarshalJSON() ([]byte, error) { 11547 objectMap := make(map[string]interface{}) 11548 return json.Marshal(objectMap) 11549} 11550 11551// SQLPoolTableListResult a list of Sql pool tables. 11552type SQLPoolTableListResult struct { 11553 autorest.Response `json:"-"` 11554 // Value - READ-ONLY; Array of results. 11555 Value *[]SQLPoolTable `json:"value,omitempty"` 11556 // NextLink - READ-ONLY; Link to retrieve next page of results. 11557 NextLink *string `json:"nextLink,omitempty"` 11558} 11559 11560// MarshalJSON is the custom marshaler for SQLPoolTableListResult. 11561func (sptlr SQLPoolTableListResult) MarshalJSON() ([]byte, error) { 11562 objectMap := make(map[string]interface{}) 11563 return json.Marshal(objectMap) 11564} 11565 11566// SQLPoolTableListResultIterator provides access to a complete listing of SQLPoolTable values. 11567type SQLPoolTableListResultIterator struct { 11568 i int 11569 page SQLPoolTableListResultPage 11570} 11571 11572// NextWithContext advances to the next value. If there was an error making 11573// the request the iterator does not advance and the error is returned. 11574func (iter *SQLPoolTableListResultIterator) NextWithContext(ctx context.Context) (err error) { 11575 if tracing.IsEnabled() { 11576 ctx = tracing.StartSpan(ctx, fqdn+"/SQLPoolTableListResultIterator.NextWithContext") 11577 defer func() { 11578 sc := -1 11579 if iter.Response().Response.Response != nil { 11580 sc = iter.Response().Response.Response.StatusCode 11581 } 11582 tracing.EndSpan(ctx, sc, err) 11583 }() 11584 } 11585 iter.i++ 11586 if iter.i < len(iter.page.Values()) { 11587 return nil 11588 } 11589 err = iter.page.NextWithContext(ctx) 11590 if err != nil { 11591 iter.i-- 11592 return err 11593 } 11594 iter.i = 0 11595 return nil 11596} 11597 11598// Next advances to the next value. If there was an error making 11599// the request the iterator does not advance and the error is returned. 11600// Deprecated: Use NextWithContext() instead. 11601func (iter *SQLPoolTableListResultIterator) Next() error { 11602 return iter.NextWithContext(context.Background()) 11603} 11604 11605// NotDone returns true if the enumeration should be started or is not yet complete. 11606func (iter SQLPoolTableListResultIterator) NotDone() bool { 11607 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 11608} 11609 11610// Response returns the raw server response from the last page request. 11611func (iter SQLPoolTableListResultIterator) Response() SQLPoolTableListResult { 11612 return iter.page.Response() 11613} 11614 11615// Value returns the current value or a zero-initialized value if the 11616// iterator has advanced beyond the end of the collection. 11617func (iter SQLPoolTableListResultIterator) Value() SQLPoolTable { 11618 if !iter.page.NotDone() { 11619 return SQLPoolTable{} 11620 } 11621 return iter.page.Values()[iter.i] 11622} 11623 11624// Creates a new instance of the SQLPoolTableListResultIterator type. 11625func NewSQLPoolTableListResultIterator(page SQLPoolTableListResultPage) SQLPoolTableListResultIterator { 11626 return SQLPoolTableListResultIterator{page: page} 11627} 11628 11629// IsEmpty returns true if the ListResult contains no values. 11630func (sptlr SQLPoolTableListResult) IsEmpty() bool { 11631 return sptlr.Value == nil || len(*sptlr.Value) == 0 11632} 11633 11634// hasNextLink returns true if the NextLink is not empty. 11635func (sptlr SQLPoolTableListResult) hasNextLink() bool { 11636 return sptlr.NextLink != nil && len(*sptlr.NextLink) != 0 11637} 11638 11639// sQLPoolTableListResultPreparer prepares a request to retrieve the next set of results. 11640// It returns nil if no more results exist. 11641func (sptlr SQLPoolTableListResult) sQLPoolTableListResultPreparer(ctx context.Context) (*http.Request, error) { 11642 if !sptlr.hasNextLink() { 11643 return nil, nil 11644 } 11645 return autorest.Prepare((&http.Request{}).WithContext(ctx), 11646 autorest.AsJSON(), 11647 autorest.AsGet(), 11648 autorest.WithBaseURL(to.String(sptlr.NextLink))) 11649} 11650 11651// SQLPoolTableListResultPage contains a page of SQLPoolTable values. 11652type SQLPoolTableListResultPage struct { 11653 fn func(context.Context, SQLPoolTableListResult) (SQLPoolTableListResult, error) 11654 sptlr SQLPoolTableListResult 11655} 11656 11657// NextWithContext advances to the next page of values. If there was an error making 11658// the request the page does not advance and the error is returned. 11659func (page *SQLPoolTableListResultPage) NextWithContext(ctx context.Context) (err error) { 11660 if tracing.IsEnabled() { 11661 ctx = tracing.StartSpan(ctx, fqdn+"/SQLPoolTableListResultPage.NextWithContext") 11662 defer func() { 11663 sc := -1 11664 if page.Response().Response.Response != nil { 11665 sc = page.Response().Response.Response.StatusCode 11666 } 11667 tracing.EndSpan(ctx, sc, err) 11668 }() 11669 } 11670 for { 11671 next, err := page.fn(ctx, page.sptlr) 11672 if err != nil { 11673 return err 11674 } 11675 page.sptlr = next 11676 if !next.hasNextLink() || !next.IsEmpty() { 11677 break 11678 } 11679 } 11680 return nil 11681} 11682 11683// Next advances to the next page of values. If there was an error making 11684// the request the page does not advance and the error is returned. 11685// Deprecated: Use NextWithContext() instead. 11686func (page *SQLPoolTableListResultPage) Next() error { 11687 return page.NextWithContext(context.Background()) 11688} 11689 11690// NotDone returns true if the page enumeration should be started or is not yet complete. 11691func (page SQLPoolTableListResultPage) NotDone() bool { 11692 return !page.sptlr.IsEmpty() 11693} 11694 11695// Response returns the raw server response from the last page request. 11696func (page SQLPoolTableListResultPage) Response() SQLPoolTableListResult { 11697 return page.sptlr 11698} 11699 11700// Values returns the slice of values for the current page or nil if there are no values. 11701func (page SQLPoolTableListResultPage) Values() []SQLPoolTable { 11702 if page.sptlr.IsEmpty() { 11703 return nil 11704 } 11705 return *page.sptlr.Value 11706} 11707 11708// Creates a new instance of the SQLPoolTableListResultPage type. 11709func NewSQLPoolTableListResultPage(cur SQLPoolTableListResult, getNextPage func(context.Context, SQLPoolTableListResult) (SQLPoolTableListResult, error)) SQLPoolTableListResultPage { 11710 return SQLPoolTableListResultPage{ 11711 fn: getNextPage, 11712 sptlr: cur, 11713 } 11714} 11715 11716// SQLPoolUsage the Sql pool usages. 11717type SQLPoolUsage struct { 11718 // Name - READ-ONLY; The name of the usage metric. 11719 Name *string `json:"name,omitempty"` 11720 // ResourceName - READ-ONLY; The name of the resource. 11721 ResourceName *string `json:"resourceName,omitempty"` 11722 // DisplayName - READ-ONLY; The usage metric display name. 11723 DisplayName *string `json:"displayName,omitempty"` 11724 // CurrentValue - READ-ONLY; The current value of the usage metric. 11725 CurrentValue *float64 `json:"currentValue,omitempty"` 11726 // Limit - READ-ONLY; The current limit of the usage metric. 11727 Limit *float64 `json:"limit,omitempty"` 11728 // Unit - READ-ONLY; The units of the usage metric. 11729 Unit *string `json:"unit,omitempty"` 11730 // NextResetTime - READ-ONLY; The next reset time for the usage metric (ISO8601 format). 11731 NextResetTime *date.Time `json:"nextResetTime,omitempty"` 11732} 11733 11734// MarshalJSON is the custom marshaler for SQLPoolUsage. 11735func (spu SQLPoolUsage) MarshalJSON() ([]byte, error) { 11736 objectMap := make(map[string]interface{}) 11737 return json.Marshal(objectMap) 11738} 11739 11740// SQLPoolUsageListResult the response to a list Sql pool usages request. 11741type SQLPoolUsageListResult struct { 11742 autorest.Response `json:"-"` 11743 // Value - The list of usages for the Sql pool. 11744 Value *[]SQLPoolUsage `json:"value,omitempty"` 11745 // NextLink - READ-ONLY; Link to retrieve next page of results. 11746 NextLink *string `json:"nextLink,omitempty"` 11747} 11748 11749// MarshalJSON is the custom marshaler for SQLPoolUsageListResult. 11750func (spulr SQLPoolUsageListResult) MarshalJSON() ([]byte, error) { 11751 objectMap := make(map[string]interface{}) 11752 if spulr.Value != nil { 11753 objectMap["value"] = spulr.Value 11754 } 11755 return json.Marshal(objectMap) 11756} 11757 11758// SQLPoolUsageListResultIterator provides access to a complete listing of SQLPoolUsage values. 11759type SQLPoolUsageListResultIterator struct { 11760 i int 11761 page SQLPoolUsageListResultPage 11762} 11763 11764// NextWithContext advances to the next value. If there was an error making 11765// the request the iterator does not advance and the error is returned. 11766func (iter *SQLPoolUsageListResultIterator) NextWithContext(ctx context.Context) (err error) { 11767 if tracing.IsEnabled() { 11768 ctx = tracing.StartSpan(ctx, fqdn+"/SQLPoolUsageListResultIterator.NextWithContext") 11769 defer func() { 11770 sc := -1 11771 if iter.Response().Response.Response != nil { 11772 sc = iter.Response().Response.Response.StatusCode 11773 } 11774 tracing.EndSpan(ctx, sc, err) 11775 }() 11776 } 11777 iter.i++ 11778 if iter.i < len(iter.page.Values()) { 11779 return nil 11780 } 11781 err = iter.page.NextWithContext(ctx) 11782 if err != nil { 11783 iter.i-- 11784 return err 11785 } 11786 iter.i = 0 11787 return nil 11788} 11789 11790// Next advances to the next value. If there was an error making 11791// the request the iterator does not advance and the error is returned. 11792// Deprecated: Use NextWithContext() instead. 11793func (iter *SQLPoolUsageListResultIterator) Next() error { 11794 return iter.NextWithContext(context.Background()) 11795} 11796 11797// NotDone returns true if the enumeration should be started or is not yet complete. 11798func (iter SQLPoolUsageListResultIterator) NotDone() bool { 11799 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 11800} 11801 11802// Response returns the raw server response from the last page request. 11803func (iter SQLPoolUsageListResultIterator) Response() SQLPoolUsageListResult { 11804 return iter.page.Response() 11805} 11806 11807// Value returns the current value or a zero-initialized value if the 11808// iterator has advanced beyond the end of the collection. 11809func (iter SQLPoolUsageListResultIterator) Value() SQLPoolUsage { 11810 if !iter.page.NotDone() { 11811 return SQLPoolUsage{} 11812 } 11813 return iter.page.Values()[iter.i] 11814} 11815 11816// Creates a new instance of the SQLPoolUsageListResultIterator type. 11817func NewSQLPoolUsageListResultIterator(page SQLPoolUsageListResultPage) SQLPoolUsageListResultIterator { 11818 return SQLPoolUsageListResultIterator{page: page} 11819} 11820 11821// IsEmpty returns true if the ListResult contains no values. 11822func (spulr SQLPoolUsageListResult) IsEmpty() bool { 11823 return spulr.Value == nil || len(*spulr.Value) == 0 11824} 11825 11826// hasNextLink returns true if the NextLink is not empty. 11827func (spulr SQLPoolUsageListResult) hasNextLink() bool { 11828 return spulr.NextLink != nil && len(*spulr.NextLink) != 0 11829} 11830 11831// sQLPoolUsageListResultPreparer prepares a request to retrieve the next set of results. 11832// It returns nil if no more results exist. 11833func (spulr SQLPoolUsageListResult) sQLPoolUsageListResultPreparer(ctx context.Context) (*http.Request, error) { 11834 if !spulr.hasNextLink() { 11835 return nil, nil 11836 } 11837 return autorest.Prepare((&http.Request{}).WithContext(ctx), 11838 autorest.AsJSON(), 11839 autorest.AsGet(), 11840 autorest.WithBaseURL(to.String(spulr.NextLink))) 11841} 11842 11843// SQLPoolUsageListResultPage contains a page of SQLPoolUsage values. 11844type SQLPoolUsageListResultPage struct { 11845 fn func(context.Context, SQLPoolUsageListResult) (SQLPoolUsageListResult, error) 11846 spulr SQLPoolUsageListResult 11847} 11848 11849// NextWithContext advances to the next page of values. If there was an error making 11850// the request the page does not advance and the error is returned. 11851func (page *SQLPoolUsageListResultPage) NextWithContext(ctx context.Context) (err error) { 11852 if tracing.IsEnabled() { 11853 ctx = tracing.StartSpan(ctx, fqdn+"/SQLPoolUsageListResultPage.NextWithContext") 11854 defer func() { 11855 sc := -1 11856 if page.Response().Response.Response != nil { 11857 sc = page.Response().Response.Response.StatusCode 11858 } 11859 tracing.EndSpan(ctx, sc, err) 11860 }() 11861 } 11862 for { 11863 next, err := page.fn(ctx, page.spulr) 11864 if err != nil { 11865 return err 11866 } 11867 page.spulr = next 11868 if !next.hasNextLink() || !next.IsEmpty() { 11869 break 11870 } 11871 } 11872 return nil 11873} 11874 11875// Next advances to the next page of values. If there was an error making 11876// the request the page does not advance and the error is returned. 11877// Deprecated: Use NextWithContext() instead. 11878func (page *SQLPoolUsageListResultPage) Next() error { 11879 return page.NextWithContext(context.Background()) 11880} 11881 11882// NotDone returns true if the page enumeration should be started or is not yet complete. 11883func (page SQLPoolUsageListResultPage) NotDone() bool { 11884 return !page.spulr.IsEmpty() 11885} 11886 11887// Response returns the raw server response from the last page request. 11888func (page SQLPoolUsageListResultPage) Response() SQLPoolUsageListResult { 11889 return page.spulr 11890} 11891 11892// Values returns the slice of values for the current page or nil if there are no values. 11893func (page SQLPoolUsageListResultPage) Values() []SQLPoolUsage { 11894 if page.spulr.IsEmpty() { 11895 return nil 11896 } 11897 return *page.spulr.Value 11898} 11899 11900// Creates a new instance of the SQLPoolUsageListResultPage type. 11901func NewSQLPoolUsageListResultPage(cur SQLPoolUsageListResult, getNextPage func(context.Context, SQLPoolUsageListResult) (SQLPoolUsageListResult, error)) SQLPoolUsageListResultPage { 11902 return SQLPoolUsageListResultPage{ 11903 fn: getNextPage, 11904 spulr: cur, 11905 } 11906} 11907 11908// SQLPoolVulnerabilityAssessment a Sql pool vulnerability assessment. 11909type SQLPoolVulnerabilityAssessment struct { 11910 autorest.Response `json:"-"` 11911 // SQLPoolVulnerabilityAssessmentProperties - Resource properties. 11912 *SQLPoolVulnerabilityAssessmentProperties `json:"properties,omitempty"` 11913 // ID - READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} 11914 ID *string `json:"id,omitempty"` 11915 // Name - READ-ONLY; The name of the resource 11916 Name *string `json:"name,omitempty"` 11917 // Type - READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" 11918 Type *string `json:"type,omitempty"` 11919} 11920 11921// MarshalJSON is the custom marshaler for SQLPoolVulnerabilityAssessment. 11922func (spva SQLPoolVulnerabilityAssessment) MarshalJSON() ([]byte, error) { 11923 objectMap := make(map[string]interface{}) 11924 if spva.SQLPoolVulnerabilityAssessmentProperties != nil { 11925 objectMap["properties"] = spva.SQLPoolVulnerabilityAssessmentProperties 11926 } 11927 return json.Marshal(objectMap) 11928} 11929 11930// UnmarshalJSON is the custom unmarshaler for SQLPoolVulnerabilityAssessment struct. 11931func (spva *SQLPoolVulnerabilityAssessment) UnmarshalJSON(body []byte) error { 11932 var m map[string]*json.RawMessage 11933 err := json.Unmarshal(body, &m) 11934 if err != nil { 11935 return err 11936 } 11937 for k, v := range m { 11938 switch k { 11939 case "properties": 11940 if v != nil { 11941 var SQLPoolVulnerabilityAssessmentProperties SQLPoolVulnerabilityAssessmentProperties 11942 err = json.Unmarshal(*v, &SQLPoolVulnerabilityAssessmentProperties) 11943 if err != nil { 11944 return err 11945 } 11946 spva.SQLPoolVulnerabilityAssessmentProperties = &SQLPoolVulnerabilityAssessmentProperties 11947 } 11948 case "id": 11949 if v != nil { 11950 var ID string 11951 err = json.Unmarshal(*v, &ID) 11952 if err != nil { 11953 return err 11954 } 11955 spva.ID = &ID 11956 } 11957 case "name": 11958 if v != nil { 11959 var name string 11960 err = json.Unmarshal(*v, &name) 11961 if err != nil { 11962 return err 11963 } 11964 spva.Name = &name 11965 } 11966 case "type": 11967 if v != nil { 11968 var typeVar string 11969 err = json.Unmarshal(*v, &typeVar) 11970 if err != nil { 11971 return err 11972 } 11973 spva.Type = &typeVar 11974 } 11975 } 11976 } 11977 11978 return nil 11979} 11980 11981// SQLPoolVulnerabilityAssessmentListResult a list of the Sql pool's vulnerability assessments. 11982type SQLPoolVulnerabilityAssessmentListResult struct { 11983 autorest.Response `json:"-"` 11984 // Value - READ-ONLY; Array of results. 11985 Value *[]SQLPoolVulnerabilityAssessment `json:"value,omitempty"` 11986 // NextLink - READ-ONLY; Link to retrieve next page of results. 11987 NextLink *string `json:"nextLink,omitempty"` 11988} 11989 11990// MarshalJSON is the custom marshaler for SQLPoolVulnerabilityAssessmentListResult. 11991func (spvalr SQLPoolVulnerabilityAssessmentListResult) MarshalJSON() ([]byte, error) { 11992 objectMap := make(map[string]interface{}) 11993 return json.Marshal(objectMap) 11994} 11995 11996// SQLPoolVulnerabilityAssessmentListResultIterator provides access to a complete listing of 11997// SQLPoolVulnerabilityAssessment values. 11998type SQLPoolVulnerabilityAssessmentListResultIterator struct { 11999 i int 12000 page SQLPoolVulnerabilityAssessmentListResultPage 12001} 12002 12003// NextWithContext advances to the next value. If there was an error making 12004// the request the iterator does not advance and the error is returned. 12005func (iter *SQLPoolVulnerabilityAssessmentListResultIterator) NextWithContext(ctx context.Context) (err error) { 12006 if tracing.IsEnabled() { 12007 ctx = tracing.StartSpan(ctx, fqdn+"/SQLPoolVulnerabilityAssessmentListResultIterator.NextWithContext") 12008 defer func() { 12009 sc := -1 12010 if iter.Response().Response.Response != nil { 12011 sc = iter.Response().Response.Response.StatusCode 12012 } 12013 tracing.EndSpan(ctx, sc, err) 12014 }() 12015 } 12016 iter.i++ 12017 if iter.i < len(iter.page.Values()) { 12018 return nil 12019 } 12020 err = iter.page.NextWithContext(ctx) 12021 if err != nil { 12022 iter.i-- 12023 return err 12024 } 12025 iter.i = 0 12026 return nil 12027} 12028 12029// Next advances to the next value. If there was an error making 12030// the request the iterator does not advance and the error is returned. 12031// Deprecated: Use NextWithContext() instead. 12032func (iter *SQLPoolVulnerabilityAssessmentListResultIterator) Next() error { 12033 return iter.NextWithContext(context.Background()) 12034} 12035 12036// NotDone returns true if the enumeration should be started or is not yet complete. 12037func (iter SQLPoolVulnerabilityAssessmentListResultIterator) NotDone() bool { 12038 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 12039} 12040 12041// Response returns the raw server response from the last page request. 12042func (iter SQLPoolVulnerabilityAssessmentListResultIterator) Response() SQLPoolVulnerabilityAssessmentListResult { 12043 return iter.page.Response() 12044} 12045 12046// Value returns the current value or a zero-initialized value if the 12047// iterator has advanced beyond the end of the collection. 12048func (iter SQLPoolVulnerabilityAssessmentListResultIterator) Value() SQLPoolVulnerabilityAssessment { 12049 if !iter.page.NotDone() { 12050 return SQLPoolVulnerabilityAssessment{} 12051 } 12052 return iter.page.Values()[iter.i] 12053} 12054 12055// Creates a new instance of the SQLPoolVulnerabilityAssessmentListResultIterator type. 12056func NewSQLPoolVulnerabilityAssessmentListResultIterator(page SQLPoolVulnerabilityAssessmentListResultPage) SQLPoolVulnerabilityAssessmentListResultIterator { 12057 return SQLPoolVulnerabilityAssessmentListResultIterator{page: page} 12058} 12059 12060// IsEmpty returns true if the ListResult contains no values. 12061func (spvalr SQLPoolVulnerabilityAssessmentListResult) IsEmpty() bool { 12062 return spvalr.Value == nil || len(*spvalr.Value) == 0 12063} 12064 12065// hasNextLink returns true if the NextLink is not empty. 12066func (spvalr SQLPoolVulnerabilityAssessmentListResult) hasNextLink() bool { 12067 return spvalr.NextLink != nil && len(*spvalr.NextLink) != 0 12068} 12069 12070// sQLPoolVulnerabilityAssessmentListResultPreparer prepares a request to retrieve the next set of results. 12071// It returns nil if no more results exist. 12072func (spvalr SQLPoolVulnerabilityAssessmentListResult) sQLPoolVulnerabilityAssessmentListResultPreparer(ctx context.Context) (*http.Request, error) { 12073 if !spvalr.hasNextLink() { 12074 return nil, nil 12075 } 12076 return autorest.Prepare((&http.Request{}).WithContext(ctx), 12077 autorest.AsJSON(), 12078 autorest.AsGet(), 12079 autorest.WithBaseURL(to.String(spvalr.NextLink))) 12080} 12081 12082// SQLPoolVulnerabilityAssessmentListResultPage contains a page of SQLPoolVulnerabilityAssessment values. 12083type SQLPoolVulnerabilityAssessmentListResultPage struct { 12084 fn func(context.Context, SQLPoolVulnerabilityAssessmentListResult) (SQLPoolVulnerabilityAssessmentListResult, error) 12085 spvalr SQLPoolVulnerabilityAssessmentListResult 12086} 12087 12088// NextWithContext advances to the next page of values. If there was an error making 12089// the request the page does not advance and the error is returned. 12090func (page *SQLPoolVulnerabilityAssessmentListResultPage) NextWithContext(ctx context.Context) (err error) { 12091 if tracing.IsEnabled() { 12092 ctx = tracing.StartSpan(ctx, fqdn+"/SQLPoolVulnerabilityAssessmentListResultPage.NextWithContext") 12093 defer func() { 12094 sc := -1 12095 if page.Response().Response.Response != nil { 12096 sc = page.Response().Response.Response.StatusCode 12097 } 12098 tracing.EndSpan(ctx, sc, err) 12099 }() 12100 } 12101 for { 12102 next, err := page.fn(ctx, page.spvalr) 12103 if err != nil { 12104 return err 12105 } 12106 page.spvalr = next 12107 if !next.hasNextLink() || !next.IsEmpty() { 12108 break 12109 } 12110 } 12111 return nil 12112} 12113 12114// Next advances to the next page of values. If there was an error making 12115// the request the page does not advance and the error is returned. 12116// Deprecated: Use NextWithContext() instead. 12117func (page *SQLPoolVulnerabilityAssessmentListResultPage) Next() error { 12118 return page.NextWithContext(context.Background()) 12119} 12120 12121// NotDone returns true if the page enumeration should be started or is not yet complete. 12122func (page SQLPoolVulnerabilityAssessmentListResultPage) NotDone() bool { 12123 return !page.spvalr.IsEmpty() 12124} 12125 12126// Response returns the raw server response from the last page request. 12127func (page SQLPoolVulnerabilityAssessmentListResultPage) Response() SQLPoolVulnerabilityAssessmentListResult { 12128 return page.spvalr 12129} 12130 12131// Values returns the slice of values for the current page or nil if there are no values. 12132func (page SQLPoolVulnerabilityAssessmentListResultPage) Values() []SQLPoolVulnerabilityAssessment { 12133 if page.spvalr.IsEmpty() { 12134 return nil 12135 } 12136 return *page.spvalr.Value 12137} 12138 12139// Creates a new instance of the SQLPoolVulnerabilityAssessmentListResultPage type. 12140func NewSQLPoolVulnerabilityAssessmentListResultPage(cur SQLPoolVulnerabilityAssessmentListResult, getNextPage func(context.Context, SQLPoolVulnerabilityAssessmentListResult) (SQLPoolVulnerabilityAssessmentListResult, error)) SQLPoolVulnerabilityAssessmentListResultPage { 12141 return SQLPoolVulnerabilityAssessmentListResultPage{ 12142 fn: getNextPage, 12143 spvalr: cur, 12144 } 12145} 12146 12147// SQLPoolVulnerabilityAssessmentProperties properties of a Sql pool Vulnerability Assessment. 12148type SQLPoolVulnerabilityAssessmentProperties struct { 12149 // StorageContainerPath - A blob storage container path to hold the scan results (e.g. https://myStorage.blob.core.windows.net/VaScans/). It is required if server level vulnerability assessment policy doesn't set 12150 StorageContainerPath *string `json:"storageContainerPath,omitempty"` 12151 // StorageContainerSasKey - A shared access signature (SAS Key) that has write access to the blob container specified in 'storageContainerPath' parameter. If 'storageAccountAccessKey' isn't specified, StorageContainerSasKey is required. 12152 StorageContainerSasKey *string `json:"storageContainerSasKey,omitempty"` 12153 // StorageAccountAccessKey - Specifies the identifier key of the storage account for vulnerability assessment scan results. If 'StorageContainerSasKey' isn't specified, storageAccountAccessKey is required. 12154 StorageAccountAccessKey *string `json:"storageAccountAccessKey,omitempty"` 12155 // RecurringScans - The recurring scans settings 12156 RecurringScans *VulnerabilityAssessmentRecurringScansProperties `json:"recurringScans,omitempty"` 12157} 12158 12159// SQLPoolVulnerabilityAssessmentRuleBaseline a Sql pool vulnerability assessment rule baseline. 12160type SQLPoolVulnerabilityAssessmentRuleBaseline struct { 12161 autorest.Response `json:"-"` 12162 // SQLPoolVulnerabilityAssessmentRuleBaselineProperties - Resource properties. 12163 *SQLPoolVulnerabilityAssessmentRuleBaselineProperties `json:"properties,omitempty"` 12164 // ID - READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} 12165 ID *string `json:"id,omitempty"` 12166 // Name - READ-ONLY; The name of the resource 12167 Name *string `json:"name,omitempty"` 12168 // Type - READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" 12169 Type *string `json:"type,omitempty"` 12170} 12171 12172// MarshalJSON is the custom marshaler for SQLPoolVulnerabilityAssessmentRuleBaseline. 12173func (spvarb SQLPoolVulnerabilityAssessmentRuleBaseline) MarshalJSON() ([]byte, error) { 12174 objectMap := make(map[string]interface{}) 12175 if spvarb.SQLPoolVulnerabilityAssessmentRuleBaselineProperties != nil { 12176 objectMap["properties"] = spvarb.SQLPoolVulnerabilityAssessmentRuleBaselineProperties 12177 } 12178 return json.Marshal(objectMap) 12179} 12180 12181// UnmarshalJSON is the custom unmarshaler for SQLPoolVulnerabilityAssessmentRuleBaseline struct. 12182func (spvarb *SQLPoolVulnerabilityAssessmentRuleBaseline) UnmarshalJSON(body []byte) error { 12183 var m map[string]*json.RawMessage 12184 err := json.Unmarshal(body, &m) 12185 if err != nil { 12186 return err 12187 } 12188 for k, v := range m { 12189 switch k { 12190 case "properties": 12191 if v != nil { 12192 var SQLPoolVulnerabilityAssessmentRuleBaselineProperties SQLPoolVulnerabilityAssessmentRuleBaselineProperties 12193 err = json.Unmarshal(*v, &SQLPoolVulnerabilityAssessmentRuleBaselineProperties) 12194 if err != nil { 12195 return err 12196 } 12197 spvarb.SQLPoolVulnerabilityAssessmentRuleBaselineProperties = &SQLPoolVulnerabilityAssessmentRuleBaselineProperties 12198 } 12199 case "id": 12200 if v != nil { 12201 var ID string 12202 err = json.Unmarshal(*v, &ID) 12203 if err != nil { 12204 return err 12205 } 12206 spvarb.ID = &ID 12207 } 12208 case "name": 12209 if v != nil { 12210 var name string 12211 err = json.Unmarshal(*v, &name) 12212 if err != nil { 12213 return err 12214 } 12215 spvarb.Name = &name 12216 } 12217 case "type": 12218 if v != nil { 12219 var typeVar string 12220 err = json.Unmarshal(*v, &typeVar) 12221 if err != nil { 12222 return err 12223 } 12224 spvarb.Type = &typeVar 12225 } 12226 } 12227 } 12228 12229 return nil 12230} 12231 12232// SQLPoolVulnerabilityAssessmentRuleBaselineItem properties for an Sql pool vulnerability assessment rule 12233// baseline's result. 12234type SQLPoolVulnerabilityAssessmentRuleBaselineItem struct { 12235 // Result - The rule baseline result 12236 Result *[]string `json:"result,omitempty"` 12237} 12238 12239// SQLPoolVulnerabilityAssessmentRuleBaselineProperties properties of a Sql pool vulnerability assessment 12240// rule baseline. 12241type SQLPoolVulnerabilityAssessmentRuleBaselineProperties struct { 12242 // BaselineResults - The rule baseline result 12243 BaselineResults *[]SQLPoolVulnerabilityAssessmentRuleBaselineItem `json:"baselineResults,omitempty"` 12244} 12245 12246// SQLPoolVulnerabilityAssessmentScanExportProperties properties of the export operation's result. 12247type SQLPoolVulnerabilityAssessmentScanExportProperties struct { 12248 // ExportedReportLocation - READ-ONLY; Location of the exported report (e.g. https://myStorage.blob.core.windows.net/VaScans/scans/serverName/databaseName/scan_scanId.xlsx). 12249 ExportedReportLocation *string `json:"exportedReportLocation,omitempty"` 12250} 12251 12252// MarshalJSON is the custom marshaler for SQLPoolVulnerabilityAssessmentScanExportProperties. 12253func (spvasep SQLPoolVulnerabilityAssessmentScanExportProperties) MarshalJSON() ([]byte, error) { 12254 objectMap := make(map[string]interface{}) 12255 return json.Marshal(objectMap) 12256} 12257 12258// SQLPoolVulnerabilityAssessmentScansExport a Sql pool Vulnerability Assessment scan export resource. 12259type SQLPoolVulnerabilityAssessmentScansExport struct { 12260 autorest.Response `json:"-"` 12261 // SQLPoolVulnerabilityAssessmentScanExportProperties - Resource properties. 12262 *SQLPoolVulnerabilityAssessmentScanExportProperties `json:"properties,omitempty"` 12263 // ID - READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} 12264 ID *string `json:"id,omitempty"` 12265 // Name - READ-ONLY; The name of the resource 12266 Name *string `json:"name,omitempty"` 12267 // Type - READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" 12268 Type *string `json:"type,omitempty"` 12269} 12270 12271// MarshalJSON is the custom marshaler for SQLPoolVulnerabilityAssessmentScansExport. 12272func (spvase SQLPoolVulnerabilityAssessmentScansExport) MarshalJSON() ([]byte, error) { 12273 objectMap := make(map[string]interface{}) 12274 if spvase.SQLPoolVulnerabilityAssessmentScanExportProperties != nil { 12275 objectMap["properties"] = spvase.SQLPoolVulnerabilityAssessmentScanExportProperties 12276 } 12277 return json.Marshal(objectMap) 12278} 12279 12280// UnmarshalJSON is the custom unmarshaler for SQLPoolVulnerabilityAssessmentScansExport struct. 12281func (spvase *SQLPoolVulnerabilityAssessmentScansExport) UnmarshalJSON(body []byte) error { 12282 var m map[string]*json.RawMessage 12283 err := json.Unmarshal(body, &m) 12284 if err != nil { 12285 return err 12286 } 12287 for k, v := range m { 12288 switch k { 12289 case "properties": 12290 if v != nil { 12291 var SQLPoolVulnerabilityAssessmentScanExportProperties SQLPoolVulnerabilityAssessmentScanExportProperties 12292 err = json.Unmarshal(*v, &SQLPoolVulnerabilityAssessmentScanExportProperties) 12293 if err != nil { 12294 return err 12295 } 12296 spvase.SQLPoolVulnerabilityAssessmentScanExportProperties = &SQLPoolVulnerabilityAssessmentScanExportProperties 12297 } 12298 case "id": 12299 if v != nil { 12300 var ID string 12301 err = json.Unmarshal(*v, &ID) 12302 if err != nil { 12303 return err 12304 } 12305 spvase.ID = &ID 12306 } 12307 case "name": 12308 if v != nil { 12309 var name string 12310 err = json.Unmarshal(*v, &name) 12311 if err != nil { 12312 return err 12313 } 12314 spvase.Name = &name 12315 } 12316 case "type": 12317 if v != nil { 12318 var typeVar string 12319 err = json.Unmarshal(*v, &typeVar) 12320 if err != nil { 12321 return err 12322 } 12323 spvase.Type = &typeVar 12324 } 12325 } 12326 } 12327 12328 return nil 12329} 12330 12331// SQLPoolVulnerabilityAssessmentScansInitiateScanFuture an abstraction for monitoring and retrieving the 12332// results of a long-running operation. 12333type SQLPoolVulnerabilityAssessmentScansInitiateScanFuture struct { 12334 azure.FutureAPI 12335 // Result returns the result of the asynchronous operation. 12336 // If the operation has not completed it will return an error. 12337 Result func(SQLPoolVulnerabilityAssessmentScansClient) (autorest.Response, error) 12338} 12339 12340// UnmarshalJSON is the custom unmarshaller for CreateFuture. 12341func (future *SQLPoolVulnerabilityAssessmentScansInitiateScanFuture) UnmarshalJSON(body []byte) error { 12342 var azFuture azure.Future 12343 if err := json.Unmarshal(body, &azFuture); err != nil { 12344 return err 12345 } 12346 future.FutureAPI = &azFuture 12347 future.Result = future.result 12348 return nil 12349} 12350 12351// result is the default implementation for SQLPoolVulnerabilityAssessmentScansInitiateScanFuture.Result. 12352func (future *SQLPoolVulnerabilityAssessmentScansInitiateScanFuture) result(client SQLPoolVulnerabilityAssessmentScansClient) (ar autorest.Response, err error) { 12353 var done bool 12354 done, err = future.DoneWithContext(context.Background(), client) 12355 if err != nil { 12356 err = autorest.NewErrorWithError(err, "synapse.SQLPoolVulnerabilityAssessmentScansInitiateScanFuture", "Result", future.Response(), "Polling failure") 12357 return 12358 } 12359 if !done { 12360 ar.Response = future.Response() 12361 err = azure.NewAsyncOpIncompleteError("synapse.SQLPoolVulnerabilityAssessmentScansInitiateScanFuture") 12362 return 12363 } 12364 ar.Response = future.Response() 12365 return 12366} 12367 12368// SQLPoolWorkloadClassifierCreateOrUpdateFuture an abstraction for monitoring and retrieving the results 12369// of a long-running operation. 12370type SQLPoolWorkloadClassifierCreateOrUpdateFuture struct { 12371 azure.FutureAPI 12372 // Result returns the result of the asynchronous operation. 12373 // If the operation has not completed it will return an error. 12374 Result func(SQLPoolWorkloadClassifierClient) (WorkloadClassifier, error) 12375} 12376 12377// UnmarshalJSON is the custom unmarshaller for CreateFuture. 12378func (future *SQLPoolWorkloadClassifierCreateOrUpdateFuture) UnmarshalJSON(body []byte) error { 12379 var azFuture azure.Future 12380 if err := json.Unmarshal(body, &azFuture); err != nil { 12381 return err 12382 } 12383 future.FutureAPI = &azFuture 12384 future.Result = future.result 12385 return nil 12386} 12387 12388// result is the default implementation for SQLPoolWorkloadClassifierCreateOrUpdateFuture.Result. 12389func (future *SQLPoolWorkloadClassifierCreateOrUpdateFuture) result(client SQLPoolWorkloadClassifierClient) (wc WorkloadClassifier, err error) { 12390 var done bool 12391 done, err = future.DoneWithContext(context.Background(), client) 12392 if err != nil { 12393 err = autorest.NewErrorWithError(err, "synapse.SQLPoolWorkloadClassifierCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") 12394 return 12395 } 12396 if !done { 12397 wc.Response.Response = future.Response() 12398 err = azure.NewAsyncOpIncompleteError("synapse.SQLPoolWorkloadClassifierCreateOrUpdateFuture") 12399 return 12400 } 12401 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 12402 if wc.Response.Response, err = future.GetResult(sender); err == nil && wc.Response.Response.StatusCode != http.StatusNoContent { 12403 wc, err = client.CreateOrUpdateResponder(wc.Response.Response) 12404 if err != nil { 12405 err = autorest.NewErrorWithError(err, "synapse.SQLPoolWorkloadClassifierCreateOrUpdateFuture", "Result", wc.Response.Response, "Failure responding to request") 12406 } 12407 } 12408 return 12409} 12410 12411// SQLPoolWorkloadClassifierDeleteFuture an abstraction for monitoring and retrieving the results of a 12412// long-running operation. 12413type SQLPoolWorkloadClassifierDeleteFuture struct { 12414 azure.FutureAPI 12415 // Result returns the result of the asynchronous operation. 12416 // If the operation has not completed it will return an error. 12417 Result func(SQLPoolWorkloadClassifierClient) (autorest.Response, error) 12418} 12419 12420// UnmarshalJSON is the custom unmarshaller for CreateFuture. 12421func (future *SQLPoolWorkloadClassifierDeleteFuture) UnmarshalJSON(body []byte) error { 12422 var azFuture azure.Future 12423 if err := json.Unmarshal(body, &azFuture); err != nil { 12424 return err 12425 } 12426 future.FutureAPI = &azFuture 12427 future.Result = future.result 12428 return nil 12429} 12430 12431// result is the default implementation for SQLPoolWorkloadClassifierDeleteFuture.Result. 12432func (future *SQLPoolWorkloadClassifierDeleteFuture) result(client SQLPoolWorkloadClassifierClient) (ar autorest.Response, err error) { 12433 var done bool 12434 done, err = future.DoneWithContext(context.Background(), client) 12435 if err != nil { 12436 err = autorest.NewErrorWithError(err, "synapse.SQLPoolWorkloadClassifierDeleteFuture", "Result", future.Response(), "Polling failure") 12437 return 12438 } 12439 if !done { 12440 ar.Response = future.Response() 12441 err = azure.NewAsyncOpIncompleteError("synapse.SQLPoolWorkloadClassifierDeleteFuture") 12442 return 12443 } 12444 ar.Response = future.Response() 12445 return 12446} 12447 12448// SQLPoolWorkloadGroupCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a 12449// long-running operation. 12450type SQLPoolWorkloadGroupCreateOrUpdateFuture struct { 12451 azure.FutureAPI 12452 // Result returns the result of the asynchronous operation. 12453 // If the operation has not completed it will return an error. 12454 Result func(SQLPoolWorkloadGroupClient) (WorkloadGroup, error) 12455} 12456 12457// UnmarshalJSON is the custom unmarshaller for CreateFuture. 12458func (future *SQLPoolWorkloadGroupCreateOrUpdateFuture) UnmarshalJSON(body []byte) error { 12459 var azFuture azure.Future 12460 if err := json.Unmarshal(body, &azFuture); err != nil { 12461 return err 12462 } 12463 future.FutureAPI = &azFuture 12464 future.Result = future.result 12465 return nil 12466} 12467 12468// result is the default implementation for SQLPoolWorkloadGroupCreateOrUpdateFuture.Result. 12469func (future *SQLPoolWorkloadGroupCreateOrUpdateFuture) result(client SQLPoolWorkloadGroupClient) (wg WorkloadGroup, err error) { 12470 var done bool 12471 done, err = future.DoneWithContext(context.Background(), client) 12472 if err != nil { 12473 err = autorest.NewErrorWithError(err, "synapse.SQLPoolWorkloadGroupCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") 12474 return 12475 } 12476 if !done { 12477 wg.Response.Response = future.Response() 12478 err = azure.NewAsyncOpIncompleteError("synapse.SQLPoolWorkloadGroupCreateOrUpdateFuture") 12479 return 12480 } 12481 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 12482 if wg.Response.Response, err = future.GetResult(sender); err == nil && wg.Response.Response.StatusCode != http.StatusNoContent { 12483 wg, err = client.CreateOrUpdateResponder(wg.Response.Response) 12484 if err != nil { 12485 err = autorest.NewErrorWithError(err, "synapse.SQLPoolWorkloadGroupCreateOrUpdateFuture", "Result", wg.Response.Response, "Failure responding to request") 12486 } 12487 } 12488 return 12489} 12490 12491// SQLPoolWorkloadGroupDeleteFuture an abstraction for monitoring and retrieving the results of a 12492// long-running operation. 12493type SQLPoolWorkloadGroupDeleteFuture struct { 12494 azure.FutureAPI 12495 // Result returns the result of the asynchronous operation. 12496 // If the operation has not completed it will return an error. 12497 Result func(SQLPoolWorkloadGroupClient) (autorest.Response, error) 12498} 12499 12500// UnmarshalJSON is the custom unmarshaller for CreateFuture. 12501func (future *SQLPoolWorkloadGroupDeleteFuture) UnmarshalJSON(body []byte) error { 12502 var azFuture azure.Future 12503 if err := json.Unmarshal(body, &azFuture); err != nil { 12504 return err 12505 } 12506 future.FutureAPI = &azFuture 12507 future.Result = future.result 12508 return nil 12509} 12510 12511// result is the default implementation for SQLPoolWorkloadGroupDeleteFuture.Result. 12512func (future *SQLPoolWorkloadGroupDeleteFuture) result(client SQLPoolWorkloadGroupClient) (ar autorest.Response, err error) { 12513 var done bool 12514 done, err = future.DoneWithContext(context.Background(), client) 12515 if err != nil { 12516 err = autorest.NewErrorWithError(err, "synapse.SQLPoolWorkloadGroupDeleteFuture", "Result", future.Response(), "Polling failure") 12517 return 12518 } 12519 if !done { 12520 ar.Response = future.Response() 12521 err = azure.NewAsyncOpIncompleteError("synapse.SQLPoolWorkloadGroupDeleteFuture") 12522 return 12523 } 12524 ar.Response = future.Response() 12525 return 12526} 12527 12528// SsisEnvironment ssis environment. 12529type SsisEnvironment struct { 12530 // FolderID - Folder id which contains environment. 12531 FolderID *int64 `json:"folderId,omitempty"` 12532 // Variables - Variable in environment 12533 Variables *[]SsisVariable `json:"variables,omitempty"` 12534 // ID - Metadata id. 12535 ID *int64 `json:"id,omitempty"` 12536 // Name - Metadata name. 12537 Name *string `json:"name,omitempty"` 12538 // Description - Metadata description. 12539 Description *string `json:"description,omitempty"` 12540 // Type - Possible values include: 'TypeSsisObjectMetadata', 'TypeFolder', 'TypeProject', 'TypePackage', 'TypeEnvironment' 12541 Type TypeBasicSsisObjectMetadata `json:"type,omitempty"` 12542} 12543 12544// MarshalJSON is the custom marshaler for SsisEnvironment. 12545func (se SsisEnvironment) MarshalJSON() ([]byte, error) { 12546 se.Type = TypeEnvironment 12547 objectMap := make(map[string]interface{}) 12548 if se.FolderID != nil { 12549 objectMap["folderId"] = se.FolderID 12550 } 12551 if se.Variables != nil { 12552 objectMap["variables"] = se.Variables 12553 } 12554 if se.ID != nil { 12555 objectMap["id"] = se.ID 12556 } 12557 if se.Name != nil { 12558 objectMap["name"] = se.Name 12559 } 12560 if se.Description != nil { 12561 objectMap["description"] = se.Description 12562 } 12563 if se.Type != "" { 12564 objectMap["type"] = se.Type 12565 } 12566 return json.Marshal(objectMap) 12567} 12568 12569// AsSsisFolder is the BasicSsisObjectMetadata implementation for SsisEnvironment. 12570func (se SsisEnvironment) AsSsisFolder() (*SsisFolder, bool) { 12571 return nil, false 12572} 12573 12574// AsSsisProject is the BasicSsisObjectMetadata implementation for SsisEnvironment. 12575func (se SsisEnvironment) AsSsisProject() (*SsisProject, bool) { 12576 return nil, false 12577} 12578 12579// AsSsisPackage is the BasicSsisObjectMetadata implementation for SsisEnvironment. 12580func (se SsisEnvironment) AsSsisPackage() (*SsisPackage, bool) { 12581 return nil, false 12582} 12583 12584// AsSsisEnvironment is the BasicSsisObjectMetadata implementation for SsisEnvironment. 12585func (se SsisEnvironment) AsSsisEnvironment() (*SsisEnvironment, bool) { 12586 return &se, true 12587} 12588 12589// AsSsisObjectMetadata is the BasicSsisObjectMetadata implementation for SsisEnvironment. 12590func (se SsisEnvironment) AsSsisObjectMetadata() (*SsisObjectMetadata, bool) { 12591 return nil, false 12592} 12593 12594// AsBasicSsisObjectMetadata is the BasicSsisObjectMetadata implementation for SsisEnvironment. 12595func (se SsisEnvironment) AsBasicSsisObjectMetadata() (BasicSsisObjectMetadata, bool) { 12596 return &se, true 12597} 12598 12599// SsisEnvironmentReference ssis environment reference. 12600type SsisEnvironmentReference struct { 12601 // ID - Environment reference id. 12602 ID *int64 `json:"id,omitempty"` 12603 // EnvironmentFolderName - Environment folder name. 12604 EnvironmentFolderName *string `json:"environmentFolderName,omitempty"` 12605 // EnvironmentName - Environment name. 12606 EnvironmentName *string `json:"environmentName,omitempty"` 12607 // ReferenceType - Reference type 12608 ReferenceType *string `json:"referenceType,omitempty"` 12609} 12610 12611// SsisFolder ssis folder. 12612type SsisFolder struct { 12613 // ID - Metadata id. 12614 ID *int64 `json:"id,omitempty"` 12615 // Name - Metadata name. 12616 Name *string `json:"name,omitempty"` 12617 // Description - Metadata description. 12618 Description *string `json:"description,omitempty"` 12619 // Type - Possible values include: 'TypeSsisObjectMetadata', 'TypeFolder', 'TypeProject', 'TypePackage', 'TypeEnvironment' 12620 Type TypeBasicSsisObjectMetadata `json:"type,omitempty"` 12621} 12622 12623// MarshalJSON is the custom marshaler for SsisFolder. 12624func (sf SsisFolder) MarshalJSON() ([]byte, error) { 12625 sf.Type = TypeFolder 12626 objectMap := make(map[string]interface{}) 12627 if sf.ID != nil { 12628 objectMap["id"] = sf.ID 12629 } 12630 if sf.Name != nil { 12631 objectMap["name"] = sf.Name 12632 } 12633 if sf.Description != nil { 12634 objectMap["description"] = sf.Description 12635 } 12636 if sf.Type != "" { 12637 objectMap["type"] = sf.Type 12638 } 12639 return json.Marshal(objectMap) 12640} 12641 12642// AsSsisFolder is the BasicSsisObjectMetadata implementation for SsisFolder. 12643func (sf SsisFolder) AsSsisFolder() (*SsisFolder, bool) { 12644 return &sf, true 12645} 12646 12647// AsSsisProject is the BasicSsisObjectMetadata implementation for SsisFolder. 12648func (sf SsisFolder) AsSsisProject() (*SsisProject, bool) { 12649 return nil, false 12650} 12651 12652// AsSsisPackage is the BasicSsisObjectMetadata implementation for SsisFolder. 12653func (sf SsisFolder) AsSsisPackage() (*SsisPackage, bool) { 12654 return nil, false 12655} 12656 12657// AsSsisEnvironment is the BasicSsisObjectMetadata implementation for SsisFolder. 12658func (sf SsisFolder) AsSsisEnvironment() (*SsisEnvironment, bool) { 12659 return nil, false 12660} 12661 12662// AsSsisObjectMetadata is the BasicSsisObjectMetadata implementation for SsisFolder. 12663func (sf SsisFolder) AsSsisObjectMetadata() (*SsisObjectMetadata, bool) { 12664 return nil, false 12665} 12666 12667// AsBasicSsisObjectMetadata is the BasicSsisObjectMetadata implementation for SsisFolder. 12668func (sf SsisFolder) AsBasicSsisObjectMetadata() (BasicSsisObjectMetadata, bool) { 12669 return &sf, true 12670} 12671 12672// BasicSsisObjectMetadata SSIS object metadata. 12673type BasicSsisObjectMetadata interface { 12674 AsSsisFolder() (*SsisFolder, bool) 12675 AsSsisProject() (*SsisProject, bool) 12676 AsSsisPackage() (*SsisPackage, bool) 12677 AsSsisEnvironment() (*SsisEnvironment, bool) 12678 AsSsisObjectMetadata() (*SsisObjectMetadata, bool) 12679} 12680 12681// SsisObjectMetadata SSIS object metadata. 12682type SsisObjectMetadata struct { 12683 // ID - Metadata id. 12684 ID *int64 `json:"id,omitempty"` 12685 // Name - Metadata name. 12686 Name *string `json:"name,omitempty"` 12687 // Description - Metadata description. 12688 Description *string `json:"description,omitempty"` 12689 // Type - Possible values include: 'TypeSsisObjectMetadata', 'TypeFolder', 'TypeProject', 'TypePackage', 'TypeEnvironment' 12690 Type TypeBasicSsisObjectMetadata `json:"type,omitempty"` 12691} 12692 12693func unmarshalBasicSsisObjectMetadata(body []byte) (BasicSsisObjectMetadata, error) { 12694 var m map[string]interface{} 12695 err := json.Unmarshal(body, &m) 12696 if err != nil { 12697 return nil, err 12698 } 12699 12700 switch m["type"] { 12701 case string(TypeFolder): 12702 var sf SsisFolder 12703 err := json.Unmarshal(body, &sf) 12704 return sf, err 12705 case string(TypeProject): 12706 var sp SsisProject 12707 err := json.Unmarshal(body, &sp) 12708 return sp, err 12709 case string(TypePackage): 12710 var sp SsisPackage 12711 err := json.Unmarshal(body, &sp) 12712 return sp, err 12713 case string(TypeEnvironment): 12714 var se SsisEnvironment 12715 err := json.Unmarshal(body, &se) 12716 return se, err 12717 default: 12718 var som SsisObjectMetadata 12719 err := json.Unmarshal(body, &som) 12720 return som, err 12721 } 12722} 12723func unmarshalBasicSsisObjectMetadataArray(body []byte) ([]BasicSsisObjectMetadata, error) { 12724 var rawMessages []*json.RawMessage 12725 err := json.Unmarshal(body, &rawMessages) 12726 if err != nil { 12727 return nil, err 12728 } 12729 12730 somArray := make([]BasicSsisObjectMetadata, len(rawMessages)) 12731 12732 for index, rawMessage := range rawMessages { 12733 som, err := unmarshalBasicSsisObjectMetadata(*rawMessage) 12734 if err != nil { 12735 return nil, err 12736 } 12737 somArray[index] = som 12738 } 12739 return somArray, nil 12740} 12741 12742// MarshalJSON is the custom marshaler for SsisObjectMetadata. 12743func (som SsisObjectMetadata) MarshalJSON() ([]byte, error) { 12744 som.Type = TypeSsisObjectMetadata 12745 objectMap := make(map[string]interface{}) 12746 if som.ID != nil { 12747 objectMap["id"] = som.ID 12748 } 12749 if som.Name != nil { 12750 objectMap["name"] = som.Name 12751 } 12752 if som.Description != nil { 12753 objectMap["description"] = som.Description 12754 } 12755 if som.Type != "" { 12756 objectMap["type"] = som.Type 12757 } 12758 return json.Marshal(objectMap) 12759} 12760 12761// AsSsisFolder is the BasicSsisObjectMetadata implementation for SsisObjectMetadata. 12762func (som SsisObjectMetadata) AsSsisFolder() (*SsisFolder, bool) { 12763 return nil, false 12764} 12765 12766// AsSsisProject is the BasicSsisObjectMetadata implementation for SsisObjectMetadata. 12767func (som SsisObjectMetadata) AsSsisProject() (*SsisProject, bool) { 12768 return nil, false 12769} 12770 12771// AsSsisPackage is the BasicSsisObjectMetadata implementation for SsisObjectMetadata. 12772func (som SsisObjectMetadata) AsSsisPackage() (*SsisPackage, bool) { 12773 return nil, false 12774} 12775 12776// AsSsisEnvironment is the BasicSsisObjectMetadata implementation for SsisObjectMetadata. 12777func (som SsisObjectMetadata) AsSsisEnvironment() (*SsisEnvironment, bool) { 12778 return nil, false 12779} 12780 12781// AsSsisObjectMetadata is the BasicSsisObjectMetadata implementation for SsisObjectMetadata. 12782func (som SsisObjectMetadata) AsSsisObjectMetadata() (*SsisObjectMetadata, bool) { 12783 return &som, true 12784} 12785 12786// AsBasicSsisObjectMetadata is the BasicSsisObjectMetadata implementation for SsisObjectMetadata. 12787func (som SsisObjectMetadata) AsBasicSsisObjectMetadata() (BasicSsisObjectMetadata, bool) { 12788 return &som, true 12789} 12790 12791// SsisObjectMetadataListResponse a list of SSIS object metadata. 12792type SsisObjectMetadataListResponse struct { 12793 autorest.Response `json:"-"` 12794 // Value - List of SSIS object metadata. 12795 Value *[]BasicSsisObjectMetadata `json:"value,omitempty"` 12796 // NextLink - The link to the next page of results, if any remaining results exist. 12797 NextLink *string `json:"nextLink,omitempty"` 12798} 12799 12800// UnmarshalJSON is the custom unmarshaler for SsisObjectMetadataListResponse struct. 12801func (somlr *SsisObjectMetadataListResponse) UnmarshalJSON(body []byte) error { 12802 var m map[string]*json.RawMessage 12803 err := json.Unmarshal(body, &m) 12804 if err != nil { 12805 return err 12806 } 12807 for k, v := range m { 12808 switch k { 12809 case "value": 12810 if v != nil { 12811 value, err := unmarshalBasicSsisObjectMetadataArray(*v) 12812 if err != nil { 12813 return err 12814 } 12815 somlr.Value = &value 12816 } 12817 case "nextLink": 12818 if v != nil { 12819 var nextLink string 12820 err = json.Unmarshal(*v, &nextLink) 12821 if err != nil { 12822 return err 12823 } 12824 somlr.NextLink = &nextLink 12825 } 12826 } 12827 } 12828 12829 return nil 12830} 12831 12832// SsisObjectMetadataStatusResponse the status of the operation. 12833type SsisObjectMetadataStatusResponse struct { 12834 autorest.Response `json:"-"` 12835 // Status - The status of the operation. 12836 Status *string `json:"status,omitempty"` 12837 // Name - The operation name. 12838 Name *string `json:"name,omitempty"` 12839 // Properties - The operation properties. 12840 Properties *string `json:"properties,omitempty"` 12841 // Error - The operation error message. 12842 Error *string `json:"error,omitempty"` 12843} 12844 12845// SsisPackage ssis Package. 12846type SsisPackage struct { 12847 // FolderID - Folder id which contains package. 12848 FolderID *int64 `json:"folderId,omitempty"` 12849 // ProjectVersion - Project version which contains package. 12850 ProjectVersion *int64 `json:"projectVersion,omitempty"` 12851 // ProjectID - Project id which contains package. 12852 ProjectID *int64 `json:"projectId,omitempty"` 12853 // Parameters - Parameters in package 12854 Parameters *[]SsisParameter `json:"parameters,omitempty"` 12855 // ID - Metadata id. 12856 ID *int64 `json:"id,omitempty"` 12857 // Name - Metadata name. 12858 Name *string `json:"name,omitempty"` 12859 // Description - Metadata description. 12860 Description *string `json:"description,omitempty"` 12861 // Type - Possible values include: 'TypeSsisObjectMetadata', 'TypeFolder', 'TypeProject', 'TypePackage', 'TypeEnvironment' 12862 Type TypeBasicSsisObjectMetadata `json:"type,omitempty"` 12863} 12864 12865// MarshalJSON is the custom marshaler for SsisPackage. 12866func (sp SsisPackage) MarshalJSON() ([]byte, error) { 12867 sp.Type = TypePackage 12868 objectMap := make(map[string]interface{}) 12869 if sp.FolderID != nil { 12870 objectMap["folderId"] = sp.FolderID 12871 } 12872 if sp.ProjectVersion != nil { 12873 objectMap["projectVersion"] = sp.ProjectVersion 12874 } 12875 if sp.ProjectID != nil { 12876 objectMap["projectId"] = sp.ProjectID 12877 } 12878 if sp.Parameters != nil { 12879 objectMap["parameters"] = sp.Parameters 12880 } 12881 if sp.ID != nil { 12882 objectMap["id"] = sp.ID 12883 } 12884 if sp.Name != nil { 12885 objectMap["name"] = sp.Name 12886 } 12887 if sp.Description != nil { 12888 objectMap["description"] = sp.Description 12889 } 12890 if sp.Type != "" { 12891 objectMap["type"] = sp.Type 12892 } 12893 return json.Marshal(objectMap) 12894} 12895 12896// AsSsisFolder is the BasicSsisObjectMetadata implementation for SsisPackage. 12897func (sp SsisPackage) AsSsisFolder() (*SsisFolder, bool) { 12898 return nil, false 12899} 12900 12901// AsSsisProject is the BasicSsisObjectMetadata implementation for SsisPackage. 12902func (sp SsisPackage) AsSsisProject() (*SsisProject, bool) { 12903 return nil, false 12904} 12905 12906// AsSsisPackage is the BasicSsisObjectMetadata implementation for SsisPackage. 12907func (sp SsisPackage) AsSsisPackage() (*SsisPackage, bool) { 12908 return &sp, true 12909} 12910 12911// AsSsisEnvironment is the BasicSsisObjectMetadata implementation for SsisPackage. 12912func (sp SsisPackage) AsSsisEnvironment() (*SsisEnvironment, bool) { 12913 return nil, false 12914} 12915 12916// AsSsisObjectMetadata is the BasicSsisObjectMetadata implementation for SsisPackage. 12917func (sp SsisPackage) AsSsisObjectMetadata() (*SsisObjectMetadata, bool) { 12918 return nil, false 12919} 12920 12921// AsBasicSsisObjectMetadata is the BasicSsisObjectMetadata implementation for SsisPackage. 12922func (sp SsisPackage) AsBasicSsisObjectMetadata() (BasicSsisObjectMetadata, bool) { 12923 return &sp, true 12924} 12925 12926// SsisParameter ssis parameter. 12927type SsisParameter struct { 12928 // ID - Parameter id. 12929 ID *int64 `json:"id,omitempty"` 12930 // Name - Parameter name. 12931 Name *string `json:"name,omitempty"` 12932 // Description - Parameter description. 12933 Description *string `json:"description,omitempty"` 12934 // DataType - Parameter type. 12935 DataType *string `json:"dataType,omitempty"` 12936 // Required - Whether parameter is required. 12937 Required *bool `json:"required,omitempty"` 12938 // Sensitive - Whether parameter is sensitive. 12939 Sensitive *bool `json:"sensitive,omitempty"` 12940 // DesignDefaultValue - Design default value of parameter. 12941 DesignDefaultValue *string `json:"designDefaultValue,omitempty"` 12942 // DefaultValue - Default value of parameter. 12943 DefaultValue *string `json:"defaultValue,omitempty"` 12944 // SensitiveDefaultValue - Default sensitive value of parameter. 12945 SensitiveDefaultValue *string `json:"sensitiveDefaultValue,omitempty"` 12946 // ValueType - Parameter value type. 12947 ValueType *string `json:"valueType,omitempty"` 12948 // ValueSet - Parameter value set. 12949 ValueSet *bool `json:"valueSet,omitempty"` 12950 // Variable - Parameter reference variable. 12951 Variable *string `json:"variable,omitempty"` 12952} 12953 12954// SsisProject ssis project. 12955type SsisProject struct { 12956 // FolderID - Folder id which contains project. 12957 FolderID *int64 `json:"folderId,omitempty"` 12958 // Version - Project version. 12959 Version *int64 `json:"version,omitempty"` 12960 // EnvironmentRefs - Environment reference in project 12961 EnvironmentRefs *[]SsisEnvironmentReference `json:"environmentRefs,omitempty"` 12962 // Parameters - Parameters in project 12963 Parameters *[]SsisParameter `json:"parameters,omitempty"` 12964 // ID - Metadata id. 12965 ID *int64 `json:"id,omitempty"` 12966 // Name - Metadata name. 12967 Name *string `json:"name,omitempty"` 12968 // Description - Metadata description. 12969 Description *string `json:"description,omitempty"` 12970 // Type - Possible values include: 'TypeSsisObjectMetadata', 'TypeFolder', 'TypeProject', 'TypePackage', 'TypeEnvironment' 12971 Type TypeBasicSsisObjectMetadata `json:"type,omitempty"` 12972} 12973 12974// MarshalJSON is the custom marshaler for SsisProject. 12975func (sp SsisProject) MarshalJSON() ([]byte, error) { 12976 sp.Type = TypeProject 12977 objectMap := make(map[string]interface{}) 12978 if sp.FolderID != nil { 12979 objectMap["folderId"] = sp.FolderID 12980 } 12981 if sp.Version != nil { 12982 objectMap["version"] = sp.Version 12983 } 12984 if sp.EnvironmentRefs != nil { 12985 objectMap["environmentRefs"] = sp.EnvironmentRefs 12986 } 12987 if sp.Parameters != nil { 12988 objectMap["parameters"] = sp.Parameters 12989 } 12990 if sp.ID != nil { 12991 objectMap["id"] = sp.ID 12992 } 12993 if sp.Name != nil { 12994 objectMap["name"] = sp.Name 12995 } 12996 if sp.Description != nil { 12997 objectMap["description"] = sp.Description 12998 } 12999 if sp.Type != "" { 13000 objectMap["type"] = sp.Type 13001 } 13002 return json.Marshal(objectMap) 13003} 13004 13005// AsSsisFolder is the BasicSsisObjectMetadata implementation for SsisProject. 13006func (sp SsisProject) AsSsisFolder() (*SsisFolder, bool) { 13007 return nil, false 13008} 13009 13010// AsSsisProject is the BasicSsisObjectMetadata implementation for SsisProject. 13011func (sp SsisProject) AsSsisProject() (*SsisProject, bool) { 13012 return &sp, true 13013} 13014 13015// AsSsisPackage is the BasicSsisObjectMetadata implementation for SsisProject. 13016func (sp SsisProject) AsSsisPackage() (*SsisPackage, bool) { 13017 return nil, false 13018} 13019 13020// AsSsisEnvironment is the BasicSsisObjectMetadata implementation for SsisProject. 13021func (sp SsisProject) AsSsisEnvironment() (*SsisEnvironment, bool) { 13022 return nil, false 13023} 13024 13025// AsSsisObjectMetadata is the BasicSsisObjectMetadata implementation for SsisProject. 13026func (sp SsisProject) AsSsisObjectMetadata() (*SsisObjectMetadata, bool) { 13027 return nil, false 13028} 13029 13030// AsBasicSsisObjectMetadata is the BasicSsisObjectMetadata implementation for SsisProject. 13031func (sp SsisProject) AsBasicSsisObjectMetadata() (BasicSsisObjectMetadata, bool) { 13032 return &sp, true 13033} 13034 13035// SsisVariable ssis variable. 13036type SsisVariable struct { 13037 // ID - Variable id. 13038 ID *int64 `json:"id,omitempty"` 13039 // Name - Variable name. 13040 Name *string `json:"name,omitempty"` 13041 // Description - Variable description. 13042 Description *string `json:"description,omitempty"` 13043 // DataType - Variable type. 13044 DataType *string `json:"dataType,omitempty"` 13045 // Sensitive - Whether variable is sensitive. 13046 Sensitive *bool `json:"sensitive,omitempty"` 13047 // Value - Variable value. 13048 Value *string `json:"value,omitempty"` 13049 // SensitiveValue - Variable sensitive value. 13050 SensitiveValue *string `json:"sensitiveValue,omitempty"` 13051} 13052 13053// SubResource azure Synapse nested resource, which belongs to a workspace. 13054type SubResource struct { 13055 // Etag - READ-ONLY; Resource Etag. 13056 Etag *string `json:"etag,omitempty"` 13057 // ID - READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} 13058 ID *string `json:"id,omitempty"` 13059 // Name - READ-ONLY; The name of the resource 13060 Name *string `json:"name,omitempty"` 13061 // Type - READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" 13062 Type *string `json:"type,omitempty"` 13063} 13064 13065// MarshalJSON is the custom marshaler for SubResource. 13066func (sr SubResource) MarshalJSON() ([]byte, error) { 13067 objectMap := make(map[string]interface{}) 13068 return json.Marshal(objectMap) 13069} 13070 13071// TopQueries a database query. 13072type TopQueries struct { 13073 // AggregationFunction - READ-ONLY; The function that is used to aggregate each query's metrics. Possible values include: 'Min', 'Max', 'Avg', 'Sum' 13074 AggregationFunction QueryAggregationFunction `json:"aggregationFunction,omitempty"` 13075 // ExecutionType - READ-ONLY; The execution type that is used to filter the query instances that are returned. Possible values include: 'Any', 'Regular', 'Irregular', 'Aborted', 'Exception' 13076 ExecutionType QueryExecutionType `json:"executionType,omitempty"` 13077 // IntervalType - READ-ONLY; The duration of the interval (ISO8601 duration format). 13078 IntervalType *string `json:"intervalType,omitempty"` 13079 // NumberOfTopQueries - READ-ONLY; The number of requested queries. 13080 NumberOfTopQueries *float64 `json:"numberOfTopQueries,omitempty"` 13081 // ObservationStartTime - READ-ONLY; The start time for queries that are returned (ISO8601 format) 13082 ObservationStartTime *date.Time `json:"observationStartTime,omitempty"` 13083 // ObservationEndTime - READ-ONLY; The end time for queries that are returned (ISO8601 format) 13084 ObservationEndTime *date.Time `json:"observationEndTime,omitempty"` 13085 // ObservedMetric - READ-ONLY; The type of metric to use for ordering the top metrics. Possible values include: 'CPU', 'Io', 'Logio', 'Duration', 'ExecutionCount' 13086 ObservedMetric QueryObservedMetricType `json:"observedMetric,omitempty"` 13087 // Queries - READ-ONLY; The list of queries. 13088 Queries *[]QueryStatistic `json:"queries,omitempty"` 13089} 13090 13091// MarshalJSON is the custom marshaler for TopQueries. 13092func (tq TopQueries) MarshalJSON() ([]byte, error) { 13093 objectMap := make(map[string]interface{}) 13094 return json.Marshal(objectMap) 13095} 13096 13097// TopQueriesListResult represents the response to a get top queries request. 13098type TopQueriesListResult struct { 13099 // Value - The list of top queries. 13100 Value *[]TopQueries `json:"value,omitempty"` 13101} 13102 13103// TrackedResource the resource model definition for an Azure Resource Manager tracked top level resource 13104// which has 'tags' and a 'location' 13105type TrackedResource struct { 13106 // Tags - Resource tags. 13107 Tags map[string]*string `json:"tags"` 13108 // Location - The geo-location where the resource lives 13109 Location *string `json:"location,omitempty"` 13110 // ID - READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} 13111 ID *string `json:"id,omitempty"` 13112 // Name - READ-ONLY; The name of the resource 13113 Name *string `json:"name,omitempty"` 13114 // Type - READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" 13115 Type *string `json:"type,omitempty"` 13116} 13117 13118// MarshalJSON is the custom marshaler for TrackedResource. 13119func (tr TrackedResource) MarshalJSON() ([]byte, error) { 13120 objectMap := make(map[string]interface{}) 13121 if tr.Tags != nil { 13122 objectMap["tags"] = tr.Tags 13123 } 13124 if tr.Location != nil { 13125 objectMap["location"] = tr.Location 13126 } 13127 return json.Marshal(objectMap) 13128} 13129 13130// TransparentDataEncryption represents a Sql pool transparent data encryption configuration. 13131type TransparentDataEncryption struct { 13132 autorest.Response `json:"-"` 13133 // Location - READ-ONLY; Resource location. 13134 Location *string `json:"location,omitempty"` 13135 // TransparentDataEncryptionProperties - Represents the properties of the resource. 13136 *TransparentDataEncryptionProperties `json:"properties,omitempty"` 13137 // ID - READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} 13138 ID *string `json:"id,omitempty"` 13139 // Name - READ-ONLY; The name of the resource 13140 Name *string `json:"name,omitempty"` 13141 // Type - READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" 13142 Type *string `json:"type,omitempty"` 13143} 13144 13145// MarshalJSON is the custom marshaler for TransparentDataEncryption. 13146func (tde TransparentDataEncryption) MarshalJSON() ([]byte, error) { 13147 objectMap := make(map[string]interface{}) 13148 if tde.TransparentDataEncryptionProperties != nil { 13149 objectMap["properties"] = tde.TransparentDataEncryptionProperties 13150 } 13151 return json.Marshal(objectMap) 13152} 13153 13154// UnmarshalJSON is the custom unmarshaler for TransparentDataEncryption struct. 13155func (tde *TransparentDataEncryption) UnmarshalJSON(body []byte) error { 13156 var m map[string]*json.RawMessage 13157 err := json.Unmarshal(body, &m) 13158 if err != nil { 13159 return err 13160 } 13161 for k, v := range m { 13162 switch k { 13163 case "location": 13164 if v != nil { 13165 var location string 13166 err = json.Unmarshal(*v, &location) 13167 if err != nil { 13168 return err 13169 } 13170 tde.Location = &location 13171 } 13172 case "properties": 13173 if v != nil { 13174 var transparentDataEncryptionProperties TransparentDataEncryptionProperties 13175 err = json.Unmarshal(*v, &transparentDataEncryptionProperties) 13176 if err != nil { 13177 return err 13178 } 13179 tde.TransparentDataEncryptionProperties = &transparentDataEncryptionProperties 13180 } 13181 case "id": 13182 if v != nil { 13183 var ID string 13184 err = json.Unmarshal(*v, &ID) 13185 if err != nil { 13186 return err 13187 } 13188 tde.ID = &ID 13189 } 13190 case "name": 13191 if v != nil { 13192 var name string 13193 err = json.Unmarshal(*v, &name) 13194 if err != nil { 13195 return err 13196 } 13197 tde.Name = &name 13198 } 13199 case "type": 13200 if v != nil { 13201 var typeVar string 13202 err = json.Unmarshal(*v, &typeVar) 13203 if err != nil { 13204 return err 13205 } 13206 tde.Type = &typeVar 13207 } 13208 } 13209 } 13210 13211 return nil 13212} 13213 13214// TransparentDataEncryptionListResult a list of transparent data encryption configurations. 13215type TransparentDataEncryptionListResult struct { 13216 autorest.Response `json:"-"` 13217 // Value - READ-ONLY; Array of results. 13218 Value *[]TransparentDataEncryption `json:"value,omitempty"` 13219 // NextLink - READ-ONLY; Link to retrieve next page of results. 13220 NextLink *string `json:"nextLink,omitempty"` 13221} 13222 13223// MarshalJSON is the custom marshaler for TransparentDataEncryptionListResult. 13224func (tdelr TransparentDataEncryptionListResult) MarshalJSON() ([]byte, error) { 13225 objectMap := make(map[string]interface{}) 13226 return json.Marshal(objectMap) 13227} 13228 13229// TransparentDataEncryptionListResultIterator provides access to a complete listing of 13230// TransparentDataEncryption values. 13231type TransparentDataEncryptionListResultIterator struct { 13232 i int 13233 page TransparentDataEncryptionListResultPage 13234} 13235 13236// NextWithContext advances to the next value. If there was an error making 13237// the request the iterator does not advance and the error is returned. 13238func (iter *TransparentDataEncryptionListResultIterator) NextWithContext(ctx context.Context) (err error) { 13239 if tracing.IsEnabled() { 13240 ctx = tracing.StartSpan(ctx, fqdn+"/TransparentDataEncryptionListResultIterator.NextWithContext") 13241 defer func() { 13242 sc := -1 13243 if iter.Response().Response.Response != nil { 13244 sc = iter.Response().Response.Response.StatusCode 13245 } 13246 tracing.EndSpan(ctx, sc, err) 13247 }() 13248 } 13249 iter.i++ 13250 if iter.i < len(iter.page.Values()) { 13251 return nil 13252 } 13253 err = iter.page.NextWithContext(ctx) 13254 if err != nil { 13255 iter.i-- 13256 return err 13257 } 13258 iter.i = 0 13259 return nil 13260} 13261 13262// Next advances to the next value. If there was an error making 13263// the request the iterator does not advance and the error is returned. 13264// Deprecated: Use NextWithContext() instead. 13265func (iter *TransparentDataEncryptionListResultIterator) Next() error { 13266 return iter.NextWithContext(context.Background()) 13267} 13268 13269// NotDone returns true if the enumeration should be started or is not yet complete. 13270func (iter TransparentDataEncryptionListResultIterator) NotDone() bool { 13271 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 13272} 13273 13274// Response returns the raw server response from the last page request. 13275func (iter TransparentDataEncryptionListResultIterator) Response() TransparentDataEncryptionListResult { 13276 return iter.page.Response() 13277} 13278 13279// Value returns the current value or a zero-initialized value if the 13280// iterator has advanced beyond the end of the collection. 13281func (iter TransparentDataEncryptionListResultIterator) Value() TransparentDataEncryption { 13282 if !iter.page.NotDone() { 13283 return TransparentDataEncryption{} 13284 } 13285 return iter.page.Values()[iter.i] 13286} 13287 13288// Creates a new instance of the TransparentDataEncryptionListResultIterator type. 13289func NewTransparentDataEncryptionListResultIterator(page TransparentDataEncryptionListResultPage) TransparentDataEncryptionListResultIterator { 13290 return TransparentDataEncryptionListResultIterator{page: page} 13291} 13292 13293// IsEmpty returns true if the ListResult contains no values. 13294func (tdelr TransparentDataEncryptionListResult) IsEmpty() bool { 13295 return tdelr.Value == nil || len(*tdelr.Value) == 0 13296} 13297 13298// hasNextLink returns true if the NextLink is not empty. 13299func (tdelr TransparentDataEncryptionListResult) hasNextLink() bool { 13300 return tdelr.NextLink != nil && len(*tdelr.NextLink) != 0 13301} 13302 13303// transparentDataEncryptionListResultPreparer prepares a request to retrieve the next set of results. 13304// It returns nil if no more results exist. 13305func (tdelr TransparentDataEncryptionListResult) transparentDataEncryptionListResultPreparer(ctx context.Context) (*http.Request, error) { 13306 if !tdelr.hasNextLink() { 13307 return nil, nil 13308 } 13309 return autorest.Prepare((&http.Request{}).WithContext(ctx), 13310 autorest.AsJSON(), 13311 autorest.AsGet(), 13312 autorest.WithBaseURL(to.String(tdelr.NextLink))) 13313} 13314 13315// TransparentDataEncryptionListResultPage contains a page of TransparentDataEncryption values. 13316type TransparentDataEncryptionListResultPage struct { 13317 fn func(context.Context, TransparentDataEncryptionListResult) (TransparentDataEncryptionListResult, error) 13318 tdelr TransparentDataEncryptionListResult 13319} 13320 13321// NextWithContext advances to the next page of values. If there was an error making 13322// the request the page does not advance and the error is returned. 13323func (page *TransparentDataEncryptionListResultPage) NextWithContext(ctx context.Context) (err error) { 13324 if tracing.IsEnabled() { 13325 ctx = tracing.StartSpan(ctx, fqdn+"/TransparentDataEncryptionListResultPage.NextWithContext") 13326 defer func() { 13327 sc := -1 13328 if page.Response().Response.Response != nil { 13329 sc = page.Response().Response.Response.StatusCode 13330 } 13331 tracing.EndSpan(ctx, sc, err) 13332 }() 13333 } 13334 for { 13335 next, err := page.fn(ctx, page.tdelr) 13336 if err != nil { 13337 return err 13338 } 13339 page.tdelr = next 13340 if !next.hasNextLink() || !next.IsEmpty() { 13341 break 13342 } 13343 } 13344 return nil 13345} 13346 13347// Next advances to the next page of values. If there was an error making 13348// the request the page does not advance and the error is returned. 13349// Deprecated: Use NextWithContext() instead. 13350func (page *TransparentDataEncryptionListResultPage) Next() error { 13351 return page.NextWithContext(context.Background()) 13352} 13353 13354// NotDone returns true if the page enumeration should be started or is not yet complete. 13355func (page TransparentDataEncryptionListResultPage) NotDone() bool { 13356 return !page.tdelr.IsEmpty() 13357} 13358 13359// Response returns the raw server response from the last page request. 13360func (page TransparentDataEncryptionListResultPage) Response() TransparentDataEncryptionListResult { 13361 return page.tdelr 13362} 13363 13364// Values returns the slice of values for the current page or nil if there are no values. 13365func (page TransparentDataEncryptionListResultPage) Values() []TransparentDataEncryption { 13366 if page.tdelr.IsEmpty() { 13367 return nil 13368 } 13369 return *page.tdelr.Value 13370} 13371 13372// Creates a new instance of the TransparentDataEncryptionListResultPage type. 13373func NewTransparentDataEncryptionListResultPage(cur TransparentDataEncryptionListResult, getNextPage func(context.Context, TransparentDataEncryptionListResult) (TransparentDataEncryptionListResult, error)) TransparentDataEncryptionListResultPage { 13374 return TransparentDataEncryptionListResultPage{ 13375 fn: getNextPage, 13376 tdelr: cur, 13377 } 13378} 13379 13380// TransparentDataEncryptionProperties represents the properties of a database transparent data encryption. 13381type TransparentDataEncryptionProperties struct { 13382 // Status - The status of the database transparent data encryption. Possible values include: 'TransparentDataEncryptionStatusEnabled', 'TransparentDataEncryptionStatusDisabled' 13383 Status TransparentDataEncryptionStatus `json:"status,omitempty"` 13384} 13385 13386// UpdateIntegrationRuntimeNodeRequest update integration runtime node request. 13387type UpdateIntegrationRuntimeNodeRequest struct { 13388 // ConcurrentJobsLimit - The number of concurrent jobs permitted to run on the integration runtime node. Values between 1 and maxConcurrentJobs(inclusive) are allowed. 13389 ConcurrentJobsLimit *int32 `json:"concurrentJobsLimit,omitempty"` 13390} 13391 13392// UpdateIntegrationRuntimeRequest update integration runtime request. 13393type UpdateIntegrationRuntimeRequest struct { 13394 // AutoUpdate - Enables or disables the auto-update feature of the self-hosted integration runtime. See https://go.microsoft.com/fwlink/?linkid=854189. Possible values include: 'On', 'Off' 13395 AutoUpdate IntegrationRuntimeAutoUpdate `json:"autoUpdate,omitempty"` 13396 // UpdateDelayOffset - The time offset (in hours) in the day, e.g., PT03H is 3 hours. The integration runtime auto update will happen on that time. 13397 UpdateDelayOffset *string `json:"updateDelayOffset,omitempty"` 13398} 13399 13400// VirtualNetworkProfile virtual Network Profile 13401type VirtualNetworkProfile struct { 13402 // ComputeSubnetID - Subnet ID used for computes in workspace 13403 ComputeSubnetID *string `json:"computeSubnetId,omitempty"` 13404} 13405 13406// VulnerabilityAssessmentRecurringScansProperties properties of a Vulnerability Assessment recurring 13407// scans. 13408type VulnerabilityAssessmentRecurringScansProperties struct { 13409 // IsEnabled - Recurring scans state. 13410 IsEnabled *bool `json:"isEnabled,omitempty"` 13411 // EmailSubscriptionAdmins - Specifies that the schedule scan notification will be is sent to the subscription administrators. 13412 EmailSubscriptionAdmins *bool `json:"emailSubscriptionAdmins,omitempty"` 13413 // Emails - Specifies an array of e-mail addresses to which the scan notification is sent. 13414 Emails *[]string `json:"emails,omitempty"` 13415} 13416 13417// VulnerabilityAssessmentScanError properties of a vulnerability assessment scan error. 13418type VulnerabilityAssessmentScanError struct { 13419 // Code - READ-ONLY; The error code. 13420 Code *string `json:"code,omitempty"` 13421 // Message - READ-ONLY; The error message. 13422 Message *string `json:"message,omitempty"` 13423} 13424 13425// MarshalJSON is the custom marshaler for VulnerabilityAssessmentScanError. 13426func (vase VulnerabilityAssessmentScanError) MarshalJSON() ([]byte, error) { 13427 objectMap := make(map[string]interface{}) 13428 return json.Marshal(objectMap) 13429} 13430 13431// VulnerabilityAssessmentScanRecord a vulnerability assessment scan record. 13432type VulnerabilityAssessmentScanRecord struct { 13433 autorest.Response `json:"-"` 13434 // VulnerabilityAssessmentScanRecordProperties - Resource properties. 13435 *VulnerabilityAssessmentScanRecordProperties `json:"properties,omitempty"` 13436 // ID - READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} 13437 ID *string `json:"id,omitempty"` 13438 // Name - READ-ONLY; The name of the resource 13439 Name *string `json:"name,omitempty"` 13440 // Type - READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" 13441 Type *string `json:"type,omitempty"` 13442} 13443 13444// MarshalJSON is the custom marshaler for VulnerabilityAssessmentScanRecord. 13445func (vasr VulnerabilityAssessmentScanRecord) MarshalJSON() ([]byte, error) { 13446 objectMap := make(map[string]interface{}) 13447 if vasr.VulnerabilityAssessmentScanRecordProperties != nil { 13448 objectMap["properties"] = vasr.VulnerabilityAssessmentScanRecordProperties 13449 } 13450 return json.Marshal(objectMap) 13451} 13452 13453// UnmarshalJSON is the custom unmarshaler for VulnerabilityAssessmentScanRecord struct. 13454func (vasr *VulnerabilityAssessmentScanRecord) UnmarshalJSON(body []byte) error { 13455 var m map[string]*json.RawMessage 13456 err := json.Unmarshal(body, &m) 13457 if err != nil { 13458 return err 13459 } 13460 for k, v := range m { 13461 switch k { 13462 case "properties": 13463 if v != nil { 13464 var vulnerabilityAssessmentScanRecordProperties VulnerabilityAssessmentScanRecordProperties 13465 err = json.Unmarshal(*v, &vulnerabilityAssessmentScanRecordProperties) 13466 if err != nil { 13467 return err 13468 } 13469 vasr.VulnerabilityAssessmentScanRecordProperties = &vulnerabilityAssessmentScanRecordProperties 13470 } 13471 case "id": 13472 if v != nil { 13473 var ID string 13474 err = json.Unmarshal(*v, &ID) 13475 if err != nil { 13476 return err 13477 } 13478 vasr.ID = &ID 13479 } 13480 case "name": 13481 if v != nil { 13482 var name string 13483 err = json.Unmarshal(*v, &name) 13484 if err != nil { 13485 return err 13486 } 13487 vasr.Name = &name 13488 } 13489 case "type": 13490 if v != nil { 13491 var typeVar string 13492 err = json.Unmarshal(*v, &typeVar) 13493 if err != nil { 13494 return err 13495 } 13496 vasr.Type = &typeVar 13497 } 13498 } 13499 } 13500 13501 return nil 13502} 13503 13504// VulnerabilityAssessmentScanRecordListResult a list of vulnerability assessment scan records. 13505type VulnerabilityAssessmentScanRecordListResult struct { 13506 autorest.Response `json:"-"` 13507 // Value - READ-ONLY; Array of results. 13508 Value *[]VulnerabilityAssessmentScanRecord `json:"value,omitempty"` 13509 // NextLink - READ-ONLY; Link to retrieve next page of results. 13510 NextLink *string `json:"nextLink,omitempty"` 13511} 13512 13513// MarshalJSON is the custom marshaler for VulnerabilityAssessmentScanRecordListResult. 13514func (vasrlr VulnerabilityAssessmentScanRecordListResult) MarshalJSON() ([]byte, error) { 13515 objectMap := make(map[string]interface{}) 13516 return json.Marshal(objectMap) 13517} 13518 13519// VulnerabilityAssessmentScanRecordListResultIterator provides access to a complete listing of 13520// VulnerabilityAssessmentScanRecord values. 13521type VulnerabilityAssessmentScanRecordListResultIterator struct { 13522 i int 13523 page VulnerabilityAssessmentScanRecordListResultPage 13524} 13525 13526// NextWithContext advances to the next value. If there was an error making 13527// the request the iterator does not advance and the error is returned. 13528func (iter *VulnerabilityAssessmentScanRecordListResultIterator) NextWithContext(ctx context.Context) (err error) { 13529 if tracing.IsEnabled() { 13530 ctx = tracing.StartSpan(ctx, fqdn+"/VulnerabilityAssessmentScanRecordListResultIterator.NextWithContext") 13531 defer func() { 13532 sc := -1 13533 if iter.Response().Response.Response != nil { 13534 sc = iter.Response().Response.Response.StatusCode 13535 } 13536 tracing.EndSpan(ctx, sc, err) 13537 }() 13538 } 13539 iter.i++ 13540 if iter.i < len(iter.page.Values()) { 13541 return nil 13542 } 13543 err = iter.page.NextWithContext(ctx) 13544 if err != nil { 13545 iter.i-- 13546 return err 13547 } 13548 iter.i = 0 13549 return nil 13550} 13551 13552// Next advances to the next value. If there was an error making 13553// the request the iterator does not advance and the error is returned. 13554// Deprecated: Use NextWithContext() instead. 13555func (iter *VulnerabilityAssessmentScanRecordListResultIterator) Next() error { 13556 return iter.NextWithContext(context.Background()) 13557} 13558 13559// NotDone returns true if the enumeration should be started or is not yet complete. 13560func (iter VulnerabilityAssessmentScanRecordListResultIterator) NotDone() bool { 13561 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 13562} 13563 13564// Response returns the raw server response from the last page request. 13565func (iter VulnerabilityAssessmentScanRecordListResultIterator) Response() VulnerabilityAssessmentScanRecordListResult { 13566 return iter.page.Response() 13567} 13568 13569// Value returns the current value or a zero-initialized value if the 13570// iterator has advanced beyond the end of the collection. 13571func (iter VulnerabilityAssessmentScanRecordListResultIterator) Value() VulnerabilityAssessmentScanRecord { 13572 if !iter.page.NotDone() { 13573 return VulnerabilityAssessmentScanRecord{} 13574 } 13575 return iter.page.Values()[iter.i] 13576} 13577 13578// Creates a new instance of the VulnerabilityAssessmentScanRecordListResultIterator type. 13579func NewVulnerabilityAssessmentScanRecordListResultIterator(page VulnerabilityAssessmentScanRecordListResultPage) VulnerabilityAssessmentScanRecordListResultIterator { 13580 return VulnerabilityAssessmentScanRecordListResultIterator{page: page} 13581} 13582 13583// IsEmpty returns true if the ListResult contains no values. 13584func (vasrlr VulnerabilityAssessmentScanRecordListResult) IsEmpty() bool { 13585 return vasrlr.Value == nil || len(*vasrlr.Value) == 0 13586} 13587 13588// hasNextLink returns true if the NextLink is not empty. 13589func (vasrlr VulnerabilityAssessmentScanRecordListResult) hasNextLink() bool { 13590 return vasrlr.NextLink != nil && len(*vasrlr.NextLink) != 0 13591} 13592 13593// vulnerabilityAssessmentScanRecordListResultPreparer prepares a request to retrieve the next set of results. 13594// It returns nil if no more results exist. 13595func (vasrlr VulnerabilityAssessmentScanRecordListResult) vulnerabilityAssessmentScanRecordListResultPreparer(ctx context.Context) (*http.Request, error) { 13596 if !vasrlr.hasNextLink() { 13597 return nil, nil 13598 } 13599 return autorest.Prepare((&http.Request{}).WithContext(ctx), 13600 autorest.AsJSON(), 13601 autorest.AsGet(), 13602 autorest.WithBaseURL(to.String(vasrlr.NextLink))) 13603} 13604 13605// VulnerabilityAssessmentScanRecordListResultPage contains a page of VulnerabilityAssessmentScanRecord 13606// values. 13607type VulnerabilityAssessmentScanRecordListResultPage struct { 13608 fn func(context.Context, VulnerabilityAssessmentScanRecordListResult) (VulnerabilityAssessmentScanRecordListResult, error) 13609 vasrlr VulnerabilityAssessmentScanRecordListResult 13610} 13611 13612// NextWithContext advances to the next page of values. If there was an error making 13613// the request the page does not advance and the error is returned. 13614func (page *VulnerabilityAssessmentScanRecordListResultPage) NextWithContext(ctx context.Context) (err error) { 13615 if tracing.IsEnabled() { 13616 ctx = tracing.StartSpan(ctx, fqdn+"/VulnerabilityAssessmentScanRecordListResultPage.NextWithContext") 13617 defer func() { 13618 sc := -1 13619 if page.Response().Response.Response != nil { 13620 sc = page.Response().Response.Response.StatusCode 13621 } 13622 tracing.EndSpan(ctx, sc, err) 13623 }() 13624 } 13625 for { 13626 next, err := page.fn(ctx, page.vasrlr) 13627 if err != nil { 13628 return err 13629 } 13630 page.vasrlr = next 13631 if !next.hasNextLink() || !next.IsEmpty() { 13632 break 13633 } 13634 } 13635 return nil 13636} 13637 13638// Next advances to the next page of values. If there was an error making 13639// the request the page does not advance and the error is returned. 13640// Deprecated: Use NextWithContext() instead. 13641func (page *VulnerabilityAssessmentScanRecordListResultPage) Next() error { 13642 return page.NextWithContext(context.Background()) 13643} 13644 13645// NotDone returns true if the page enumeration should be started or is not yet complete. 13646func (page VulnerabilityAssessmentScanRecordListResultPage) NotDone() bool { 13647 return !page.vasrlr.IsEmpty() 13648} 13649 13650// Response returns the raw server response from the last page request. 13651func (page VulnerabilityAssessmentScanRecordListResultPage) Response() VulnerabilityAssessmentScanRecordListResult { 13652 return page.vasrlr 13653} 13654 13655// Values returns the slice of values for the current page or nil if there are no values. 13656func (page VulnerabilityAssessmentScanRecordListResultPage) Values() []VulnerabilityAssessmentScanRecord { 13657 if page.vasrlr.IsEmpty() { 13658 return nil 13659 } 13660 return *page.vasrlr.Value 13661} 13662 13663// Creates a new instance of the VulnerabilityAssessmentScanRecordListResultPage type. 13664func NewVulnerabilityAssessmentScanRecordListResultPage(cur VulnerabilityAssessmentScanRecordListResult, getNextPage func(context.Context, VulnerabilityAssessmentScanRecordListResult) (VulnerabilityAssessmentScanRecordListResult, error)) VulnerabilityAssessmentScanRecordListResultPage { 13665 return VulnerabilityAssessmentScanRecordListResultPage{ 13666 fn: getNextPage, 13667 vasrlr: cur, 13668 } 13669} 13670 13671// VulnerabilityAssessmentScanRecordProperties properties of a vulnerability assessment scan record. 13672type VulnerabilityAssessmentScanRecordProperties struct { 13673 // ScanID - READ-ONLY; The scan ID. 13674 ScanID *string `json:"scanId,omitempty"` 13675 // TriggerType - READ-ONLY; The scan trigger type. Possible values include: 'OnDemand', 'Recurring' 13676 TriggerType VulnerabilityAssessmentScanTriggerType `json:"triggerType,omitempty"` 13677 // State - READ-ONLY; The scan status. Possible values include: 'VulnerabilityAssessmentScanStatePassed', 'VulnerabilityAssessmentScanStateFailed', 'VulnerabilityAssessmentScanStateFailedToRun', 'VulnerabilityAssessmentScanStateInProgress' 13678 State VulnerabilityAssessmentScanState `json:"state,omitempty"` 13679 // StartTime - READ-ONLY; The scan start time (UTC). 13680 StartTime *date.Time `json:"startTime,omitempty"` 13681 // EndTime - READ-ONLY; The scan end time (UTC). 13682 EndTime *date.Time `json:"endTime,omitempty"` 13683 // Errors - READ-ONLY; The scan errors. 13684 Errors *[]VulnerabilityAssessmentScanError `json:"errors,omitempty"` 13685 // StorageContainerPath - READ-ONLY; The scan results storage container path. 13686 StorageContainerPath *string `json:"storageContainerPath,omitempty"` 13687 // NumberOfFailedSecurityChecks - READ-ONLY; The number of failed security checks. 13688 NumberOfFailedSecurityChecks *int32 `json:"numberOfFailedSecurityChecks,omitempty"` 13689} 13690 13691// MarshalJSON is the custom marshaler for VulnerabilityAssessmentScanRecordProperties. 13692func (vasrp VulnerabilityAssessmentScanRecordProperties) MarshalJSON() ([]byte, error) { 13693 objectMap := make(map[string]interface{}) 13694 return json.Marshal(objectMap) 13695} 13696 13697// WorkloadClassifier workload classifier operations for a data warehouse 13698type WorkloadClassifier struct { 13699 autorest.Response `json:"-"` 13700 // WorkloadClassifierProperties - Resource properties. 13701 *WorkloadClassifierProperties `json:"properties,omitempty"` 13702 // ID - READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} 13703 ID *string `json:"id,omitempty"` 13704 // Name - READ-ONLY; The name of the resource 13705 Name *string `json:"name,omitempty"` 13706 // Type - READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" 13707 Type *string `json:"type,omitempty"` 13708} 13709 13710// MarshalJSON is the custom marshaler for WorkloadClassifier. 13711func (wc WorkloadClassifier) MarshalJSON() ([]byte, error) { 13712 objectMap := make(map[string]interface{}) 13713 if wc.WorkloadClassifierProperties != nil { 13714 objectMap["properties"] = wc.WorkloadClassifierProperties 13715 } 13716 return json.Marshal(objectMap) 13717} 13718 13719// UnmarshalJSON is the custom unmarshaler for WorkloadClassifier struct. 13720func (wc *WorkloadClassifier) UnmarshalJSON(body []byte) error { 13721 var m map[string]*json.RawMessage 13722 err := json.Unmarshal(body, &m) 13723 if err != nil { 13724 return err 13725 } 13726 for k, v := range m { 13727 switch k { 13728 case "properties": 13729 if v != nil { 13730 var workloadClassifierProperties WorkloadClassifierProperties 13731 err = json.Unmarshal(*v, &workloadClassifierProperties) 13732 if err != nil { 13733 return err 13734 } 13735 wc.WorkloadClassifierProperties = &workloadClassifierProperties 13736 } 13737 case "id": 13738 if v != nil { 13739 var ID string 13740 err = json.Unmarshal(*v, &ID) 13741 if err != nil { 13742 return err 13743 } 13744 wc.ID = &ID 13745 } 13746 case "name": 13747 if v != nil { 13748 var name string 13749 err = json.Unmarshal(*v, &name) 13750 if err != nil { 13751 return err 13752 } 13753 wc.Name = &name 13754 } 13755 case "type": 13756 if v != nil { 13757 var typeVar string 13758 err = json.Unmarshal(*v, &typeVar) 13759 if err != nil { 13760 return err 13761 } 13762 wc.Type = &typeVar 13763 } 13764 } 13765 } 13766 13767 return nil 13768} 13769 13770// WorkloadClassifierListResult a list of workload classifiers for a workload group. 13771type WorkloadClassifierListResult struct { 13772 autorest.Response `json:"-"` 13773 // Value - READ-ONLY; Array of results. 13774 Value *[]WorkloadClassifier `json:"value,omitempty"` 13775 // NextLink - READ-ONLY; Link to retrieve next page of results. 13776 NextLink *string `json:"nextLink,omitempty"` 13777} 13778 13779// MarshalJSON is the custom marshaler for WorkloadClassifierListResult. 13780func (wclr WorkloadClassifierListResult) MarshalJSON() ([]byte, error) { 13781 objectMap := make(map[string]interface{}) 13782 return json.Marshal(objectMap) 13783} 13784 13785// WorkloadClassifierListResultIterator provides access to a complete listing of WorkloadClassifier values. 13786type WorkloadClassifierListResultIterator struct { 13787 i int 13788 page WorkloadClassifierListResultPage 13789} 13790 13791// NextWithContext advances to the next value. If there was an error making 13792// the request the iterator does not advance and the error is returned. 13793func (iter *WorkloadClassifierListResultIterator) NextWithContext(ctx context.Context) (err error) { 13794 if tracing.IsEnabled() { 13795 ctx = tracing.StartSpan(ctx, fqdn+"/WorkloadClassifierListResultIterator.NextWithContext") 13796 defer func() { 13797 sc := -1 13798 if iter.Response().Response.Response != nil { 13799 sc = iter.Response().Response.Response.StatusCode 13800 } 13801 tracing.EndSpan(ctx, sc, err) 13802 }() 13803 } 13804 iter.i++ 13805 if iter.i < len(iter.page.Values()) { 13806 return nil 13807 } 13808 err = iter.page.NextWithContext(ctx) 13809 if err != nil { 13810 iter.i-- 13811 return err 13812 } 13813 iter.i = 0 13814 return nil 13815} 13816 13817// Next advances to the next value. If there was an error making 13818// the request the iterator does not advance and the error is returned. 13819// Deprecated: Use NextWithContext() instead. 13820func (iter *WorkloadClassifierListResultIterator) Next() error { 13821 return iter.NextWithContext(context.Background()) 13822} 13823 13824// NotDone returns true if the enumeration should be started or is not yet complete. 13825func (iter WorkloadClassifierListResultIterator) NotDone() bool { 13826 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 13827} 13828 13829// Response returns the raw server response from the last page request. 13830func (iter WorkloadClassifierListResultIterator) Response() WorkloadClassifierListResult { 13831 return iter.page.Response() 13832} 13833 13834// Value returns the current value or a zero-initialized value if the 13835// iterator has advanced beyond the end of the collection. 13836func (iter WorkloadClassifierListResultIterator) Value() WorkloadClassifier { 13837 if !iter.page.NotDone() { 13838 return WorkloadClassifier{} 13839 } 13840 return iter.page.Values()[iter.i] 13841} 13842 13843// Creates a new instance of the WorkloadClassifierListResultIterator type. 13844func NewWorkloadClassifierListResultIterator(page WorkloadClassifierListResultPage) WorkloadClassifierListResultIterator { 13845 return WorkloadClassifierListResultIterator{page: page} 13846} 13847 13848// IsEmpty returns true if the ListResult contains no values. 13849func (wclr WorkloadClassifierListResult) IsEmpty() bool { 13850 return wclr.Value == nil || len(*wclr.Value) == 0 13851} 13852 13853// hasNextLink returns true if the NextLink is not empty. 13854func (wclr WorkloadClassifierListResult) hasNextLink() bool { 13855 return wclr.NextLink != nil && len(*wclr.NextLink) != 0 13856} 13857 13858// workloadClassifierListResultPreparer prepares a request to retrieve the next set of results. 13859// It returns nil if no more results exist. 13860func (wclr WorkloadClassifierListResult) workloadClassifierListResultPreparer(ctx context.Context) (*http.Request, error) { 13861 if !wclr.hasNextLink() { 13862 return nil, nil 13863 } 13864 return autorest.Prepare((&http.Request{}).WithContext(ctx), 13865 autorest.AsJSON(), 13866 autorest.AsGet(), 13867 autorest.WithBaseURL(to.String(wclr.NextLink))) 13868} 13869 13870// WorkloadClassifierListResultPage contains a page of WorkloadClassifier values. 13871type WorkloadClassifierListResultPage struct { 13872 fn func(context.Context, WorkloadClassifierListResult) (WorkloadClassifierListResult, error) 13873 wclr WorkloadClassifierListResult 13874} 13875 13876// NextWithContext advances to the next page of values. If there was an error making 13877// the request the page does not advance and the error is returned. 13878func (page *WorkloadClassifierListResultPage) NextWithContext(ctx context.Context) (err error) { 13879 if tracing.IsEnabled() { 13880 ctx = tracing.StartSpan(ctx, fqdn+"/WorkloadClassifierListResultPage.NextWithContext") 13881 defer func() { 13882 sc := -1 13883 if page.Response().Response.Response != nil { 13884 sc = page.Response().Response.Response.StatusCode 13885 } 13886 tracing.EndSpan(ctx, sc, err) 13887 }() 13888 } 13889 for { 13890 next, err := page.fn(ctx, page.wclr) 13891 if err != nil { 13892 return err 13893 } 13894 page.wclr = next 13895 if !next.hasNextLink() || !next.IsEmpty() { 13896 break 13897 } 13898 } 13899 return nil 13900} 13901 13902// Next advances to the next page of values. If there was an error making 13903// the request the page does not advance and the error is returned. 13904// Deprecated: Use NextWithContext() instead. 13905func (page *WorkloadClassifierListResultPage) Next() error { 13906 return page.NextWithContext(context.Background()) 13907} 13908 13909// NotDone returns true if the page enumeration should be started or is not yet complete. 13910func (page WorkloadClassifierListResultPage) NotDone() bool { 13911 return !page.wclr.IsEmpty() 13912} 13913 13914// Response returns the raw server response from the last page request. 13915func (page WorkloadClassifierListResultPage) Response() WorkloadClassifierListResult { 13916 return page.wclr 13917} 13918 13919// Values returns the slice of values for the current page or nil if there are no values. 13920func (page WorkloadClassifierListResultPage) Values() []WorkloadClassifier { 13921 if page.wclr.IsEmpty() { 13922 return nil 13923 } 13924 return *page.wclr.Value 13925} 13926 13927// Creates a new instance of the WorkloadClassifierListResultPage type. 13928func NewWorkloadClassifierListResultPage(cur WorkloadClassifierListResult, getNextPage func(context.Context, WorkloadClassifierListResult) (WorkloadClassifierListResult, error)) WorkloadClassifierListResultPage { 13929 return WorkloadClassifierListResultPage{ 13930 fn: getNextPage, 13931 wclr: cur, 13932 } 13933} 13934 13935// WorkloadClassifierProperties workload classifier definition. For more information look at 13936// sys.workload_management_workload_classifiers (DMV). 13937type WorkloadClassifierProperties struct { 13938 // MemberName - The workload classifier member name. 13939 MemberName *string `json:"memberName,omitempty"` 13940 // Label - The workload classifier label. 13941 Label *string `json:"label,omitempty"` 13942 // Context - The workload classifier context. 13943 Context *string `json:"context,omitempty"` 13944 // StartTime - The workload classifier start time for classification. 13945 StartTime *string `json:"startTime,omitempty"` 13946 // EndTime - The workload classifier end time for classification. 13947 EndTime *string `json:"endTime,omitempty"` 13948 // Importance - The workload classifier importance. 13949 Importance *string `json:"importance,omitempty"` 13950} 13951 13952// WorkloadGroup workload group operations for a sql pool 13953type WorkloadGroup struct { 13954 autorest.Response `json:"-"` 13955 // WorkloadGroupProperties - Resource properties. 13956 *WorkloadGroupProperties `json:"properties,omitempty"` 13957 // ID - READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} 13958 ID *string `json:"id,omitempty"` 13959 // Name - READ-ONLY; The name of the resource 13960 Name *string `json:"name,omitempty"` 13961 // Type - READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" 13962 Type *string `json:"type,omitempty"` 13963} 13964 13965// MarshalJSON is the custom marshaler for WorkloadGroup. 13966func (wg WorkloadGroup) MarshalJSON() ([]byte, error) { 13967 objectMap := make(map[string]interface{}) 13968 if wg.WorkloadGroupProperties != nil { 13969 objectMap["properties"] = wg.WorkloadGroupProperties 13970 } 13971 return json.Marshal(objectMap) 13972} 13973 13974// UnmarshalJSON is the custom unmarshaler for WorkloadGroup struct. 13975func (wg *WorkloadGroup) UnmarshalJSON(body []byte) error { 13976 var m map[string]*json.RawMessage 13977 err := json.Unmarshal(body, &m) 13978 if err != nil { 13979 return err 13980 } 13981 for k, v := range m { 13982 switch k { 13983 case "properties": 13984 if v != nil { 13985 var workloadGroupProperties WorkloadGroupProperties 13986 err = json.Unmarshal(*v, &workloadGroupProperties) 13987 if err != nil { 13988 return err 13989 } 13990 wg.WorkloadGroupProperties = &workloadGroupProperties 13991 } 13992 case "id": 13993 if v != nil { 13994 var ID string 13995 err = json.Unmarshal(*v, &ID) 13996 if err != nil { 13997 return err 13998 } 13999 wg.ID = &ID 14000 } 14001 case "name": 14002 if v != nil { 14003 var name string 14004 err = json.Unmarshal(*v, &name) 14005 if err != nil { 14006 return err 14007 } 14008 wg.Name = &name 14009 } 14010 case "type": 14011 if v != nil { 14012 var typeVar string 14013 err = json.Unmarshal(*v, &typeVar) 14014 if err != nil { 14015 return err 14016 } 14017 wg.Type = &typeVar 14018 } 14019 } 14020 } 14021 14022 return nil 14023} 14024 14025// WorkloadGroupListResult a list of workload groups. 14026type WorkloadGroupListResult struct { 14027 autorest.Response `json:"-"` 14028 // Value - READ-ONLY; Array of results. 14029 Value *[]WorkloadGroup `json:"value,omitempty"` 14030 // NextLink - READ-ONLY; Link to retrieve next page of results. 14031 NextLink *string `json:"nextLink,omitempty"` 14032} 14033 14034// MarshalJSON is the custom marshaler for WorkloadGroupListResult. 14035func (wglr WorkloadGroupListResult) MarshalJSON() ([]byte, error) { 14036 objectMap := make(map[string]interface{}) 14037 return json.Marshal(objectMap) 14038} 14039 14040// WorkloadGroupListResultIterator provides access to a complete listing of WorkloadGroup values. 14041type WorkloadGroupListResultIterator struct { 14042 i int 14043 page WorkloadGroupListResultPage 14044} 14045 14046// NextWithContext advances to the next value. If there was an error making 14047// the request the iterator does not advance and the error is returned. 14048func (iter *WorkloadGroupListResultIterator) NextWithContext(ctx context.Context) (err error) { 14049 if tracing.IsEnabled() { 14050 ctx = tracing.StartSpan(ctx, fqdn+"/WorkloadGroupListResultIterator.NextWithContext") 14051 defer func() { 14052 sc := -1 14053 if iter.Response().Response.Response != nil { 14054 sc = iter.Response().Response.Response.StatusCode 14055 } 14056 tracing.EndSpan(ctx, sc, err) 14057 }() 14058 } 14059 iter.i++ 14060 if iter.i < len(iter.page.Values()) { 14061 return nil 14062 } 14063 err = iter.page.NextWithContext(ctx) 14064 if err != nil { 14065 iter.i-- 14066 return err 14067 } 14068 iter.i = 0 14069 return nil 14070} 14071 14072// Next advances to the next value. If there was an error making 14073// the request the iterator does not advance and the error is returned. 14074// Deprecated: Use NextWithContext() instead. 14075func (iter *WorkloadGroupListResultIterator) Next() error { 14076 return iter.NextWithContext(context.Background()) 14077} 14078 14079// NotDone returns true if the enumeration should be started or is not yet complete. 14080func (iter WorkloadGroupListResultIterator) NotDone() bool { 14081 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 14082} 14083 14084// Response returns the raw server response from the last page request. 14085func (iter WorkloadGroupListResultIterator) Response() WorkloadGroupListResult { 14086 return iter.page.Response() 14087} 14088 14089// Value returns the current value or a zero-initialized value if the 14090// iterator has advanced beyond the end of the collection. 14091func (iter WorkloadGroupListResultIterator) Value() WorkloadGroup { 14092 if !iter.page.NotDone() { 14093 return WorkloadGroup{} 14094 } 14095 return iter.page.Values()[iter.i] 14096} 14097 14098// Creates a new instance of the WorkloadGroupListResultIterator type. 14099func NewWorkloadGroupListResultIterator(page WorkloadGroupListResultPage) WorkloadGroupListResultIterator { 14100 return WorkloadGroupListResultIterator{page: page} 14101} 14102 14103// IsEmpty returns true if the ListResult contains no values. 14104func (wglr WorkloadGroupListResult) IsEmpty() bool { 14105 return wglr.Value == nil || len(*wglr.Value) == 0 14106} 14107 14108// hasNextLink returns true if the NextLink is not empty. 14109func (wglr WorkloadGroupListResult) hasNextLink() bool { 14110 return wglr.NextLink != nil && len(*wglr.NextLink) != 0 14111} 14112 14113// workloadGroupListResultPreparer prepares a request to retrieve the next set of results. 14114// It returns nil if no more results exist. 14115func (wglr WorkloadGroupListResult) workloadGroupListResultPreparer(ctx context.Context) (*http.Request, error) { 14116 if !wglr.hasNextLink() { 14117 return nil, nil 14118 } 14119 return autorest.Prepare((&http.Request{}).WithContext(ctx), 14120 autorest.AsJSON(), 14121 autorest.AsGet(), 14122 autorest.WithBaseURL(to.String(wglr.NextLink))) 14123} 14124 14125// WorkloadGroupListResultPage contains a page of WorkloadGroup values. 14126type WorkloadGroupListResultPage struct { 14127 fn func(context.Context, WorkloadGroupListResult) (WorkloadGroupListResult, error) 14128 wglr WorkloadGroupListResult 14129} 14130 14131// NextWithContext advances to the next page of values. If there was an error making 14132// the request the page does not advance and the error is returned. 14133func (page *WorkloadGroupListResultPage) NextWithContext(ctx context.Context) (err error) { 14134 if tracing.IsEnabled() { 14135 ctx = tracing.StartSpan(ctx, fqdn+"/WorkloadGroupListResultPage.NextWithContext") 14136 defer func() { 14137 sc := -1 14138 if page.Response().Response.Response != nil { 14139 sc = page.Response().Response.Response.StatusCode 14140 } 14141 tracing.EndSpan(ctx, sc, err) 14142 }() 14143 } 14144 for { 14145 next, err := page.fn(ctx, page.wglr) 14146 if err != nil { 14147 return err 14148 } 14149 page.wglr = next 14150 if !next.hasNextLink() || !next.IsEmpty() { 14151 break 14152 } 14153 } 14154 return nil 14155} 14156 14157// Next advances to the next page of values. If there was an error making 14158// the request the page does not advance and the error is returned. 14159// Deprecated: Use NextWithContext() instead. 14160func (page *WorkloadGroupListResultPage) Next() error { 14161 return page.NextWithContext(context.Background()) 14162} 14163 14164// NotDone returns true if the page enumeration should be started or is not yet complete. 14165func (page WorkloadGroupListResultPage) NotDone() bool { 14166 return !page.wglr.IsEmpty() 14167} 14168 14169// Response returns the raw server response from the last page request. 14170func (page WorkloadGroupListResultPage) Response() WorkloadGroupListResult { 14171 return page.wglr 14172} 14173 14174// Values returns the slice of values for the current page or nil if there are no values. 14175func (page WorkloadGroupListResultPage) Values() []WorkloadGroup { 14176 if page.wglr.IsEmpty() { 14177 return nil 14178 } 14179 return *page.wglr.Value 14180} 14181 14182// Creates a new instance of the WorkloadGroupListResultPage type. 14183func NewWorkloadGroupListResultPage(cur WorkloadGroupListResult, getNextPage func(context.Context, WorkloadGroupListResult) (WorkloadGroupListResult, error)) WorkloadGroupListResultPage { 14184 return WorkloadGroupListResultPage{ 14185 fn: getNextPage, 14186 wglr: cur, 14187 } 14188} 14189 14190// WorkloadGroupProperties workload group definition. For more information look at 14191// sys.workload_management_workload_groups (DMV). 14192type WorkloadGroupProperties struct { 14193 // MinResourcePercent - The workload group minimum percentage resource. 14194 MinResourcePercent *int32 `json:"minResourcePercent,omitempty"` 14195 // MaxResourcePercent - The workload group cap percentage resource. 14196 MaxResourcePercent *int32 `json:"maxResourcePercent,omitempty"` 14197 // MinResourcePercentPerRequest - The workload group request minimum grant percentage. 14198 MinResourcePercentPerRequest *float64 `json:"minResourcePercentPerRequest,omitempty"` 14199 // MaxResourcePercentPerRequest - The workload group request maximum grant percentage. 14200 MaxResourcePercentPerRequest *float64 `json:"maxResourcePercentPerRequest,omitempty"` 14201 // Importance - The workload group importance level. 14202 Importance *string `json:"importance,omitempty"` 14203 // QueryExecutionTimeout - The workload group query execution timeout. 14204 QueryExecutionTimeout *int32 `json:"queryExecutionTimeout,omitempty"` 14205} 14206 14207// Workspace a workspace 14208type Workspace struct { 14209 autorest.Response `json:"-"` 14210 // WorkspaceProperties - Workspace resource properties 14211 *WorkspaceProperties `json:"properties,omitempty"` 14212 // Identity - Identity of the workspace 14213 Identity *ManagedIdentity `json:"identity,omitempty"` 14214 // Tags - Resource tags. 14215 Tags map[string]*string `json:"tags"` 14216 // Location - The geo-location where the resource lives 14217 Location *string `json:"location,omitempty"` 14218 // ID - READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} 14219 ID *string `json:"id,omitempty"` 14220 // Name - READ-ONLY; The name of the resource 14221 Name *string `json:"name,omitempty"` 14222 // Type - READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" 14223 Type *string `json:"type,omitempty"` 14224} 14225 14226// MarshalJSON is the custom marshaler for Workspace. 14227func (w Workspace) MarshalJSON() ([]byte, error) { 14228 objectMap := make(map[string]interface{}) 14229 if w.WorkspaceProperties != nil { 14230 objectMap["properties"] = w.WorkspaceProperties 14231 } 14232 if w.Identity != nil { 14233 objectMap["identity"] = w.Identity 14234 } 14235 if w.Tags != nil { 14236 objectMap["tags"] = w.Tags 14237 } 14238 if w.Location != nil { 14239 objectMap["location"] = w.Location 14240 } 14241 return json.Marshal(objectMap) 14242} 14243 14244// UnmarshalJSON is the custom unmarshaler for Workspace struct. 14245func (w *Workspace) UnmarshalJSON(body []byte) error { 14246 var m map[string]*json.RawMessage 14247 err := json.Unmarshal(body, &m) 14248 if err != nil { 14249 return err 14250 } 14251 for k, v := range m { 14252 switch k { 14253 case "properties": 14254 if v != nil { 14255 var workspaceProperties WorkspaceProperties 14256 err = json.Unmarshal(*v, &workspaceProperties) 14257 if err != nil { 14258 return err 14259 } 14260 w.WorkspaceProperties = &workspaceProperties 14261 } 14262 case "identity": 14263 if v != nil { 14264 var identity ManagedIdentity 14265 err = json.Unmarshal(*v, &identity) 14266 if err != nil { 14267 return err 14268 } 14269 w.Identity = &identity 14270 } 14271 case "tags": 14272 if v != nil { 14273 var tags map[string]*string 14274 err = json.Unmarshal(*v, &tags) 14275 if err != nil { 14276 return err 14277 } 14278 w.Tags = tags 14279 } 14280 case "location": 14281 if v != nil { 14282 var location string 14283 err = json.Unmarshal(*v, &location) 14284 if err != nil { 14285 return err 14286 } 14287 w.Location = &location 14288 } 14289 case "id": 14290 if v != nil { 14291 var ID string 14292 err = json.Unmarshal(*v, &ID) 14293 if err != nil { 14294 return err 14295 } 14296 w.ID = &ID 14297 } 14298 case "name": 14299 if v != nil { 14300 var name string 14301 err = json.Unmarshal(*v, &name) 14302 if err != nil { 14303 return err 14304 } 14305 w.Name = &name 14306 } 14307 case "type": 14308 if v != nil { 14309 var typeVar string 14310 err = json.Unmarshal(*v, &typeVar) 14311 if err != nil { 14312 return err 14313 } 14314 w.Type = &typeVar 14315 } 14316 } 14317 } 14318 14319 return nil 14320} 14321 14322// WorkspaceAadAdminInfo workspace active directory administrator 14323type WorkspaceAadAdminInfo struct { 14324 autorest.Response `json:"-"` 14325 // AadAdminProperties - Workspace active directory administrator properties 14326 *AadAdminProperties `json:"properties,omitempty"` 14327 // ID - READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} 14328 ID *string `json:"id,omitempty"` 14329 // Name - READ-ONLY; The name of the resource 14330 Name *string `json:"name,omitempty"` 14331 // Type - READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" 14332 Type *string `json:"type,omitempty"` 14333} 14334 14335// MarshalJSON is the custom marshaler for WorkspaceAadAdminInfo. 14336func (waai WorkspaceAadAdminInfo) MarshalJSON() ([]byte, error) { 14337 objectMap := make(map[string]interface{}) 14338 if waai.AadAdminProperties != nil { 14339 objectMap["properties"] = waai.AadAdminProperties 14340 } 14341 return json.Marshal(objectMap) 14342} 14343 14344// UnmarshalJSON is the custom unmarshaler for WorkspaceAadAdminInfo struct. 14345func (waai *WorkspaceAadAdminInfo) UnmarshalJSON(body []byte) error { 14346 var m map[string]*json.RawMessage 14347 err := json.Unmarshal(body, &m) 14348 if err != nil { 14349 return err 14350 } 14351 for k, v := range m { 14352 switch k { 14353 case "properties": 14354 if v != nil { 14355 var aadAdminProperties AadAdminProperties 14356 err = json.Unmarshal(*v, &aadAdminProperties) 14357 if err != nil { 14358 return err 14359 } 14360 waai.AadAdminProperties = &aadAdminProperties 14361 } 14362 case "id": 14363 if v != nil { 14364 var ID string 14365 err = json.Unmarshal(*v, &ID) 14366 if err != nil { 14367 return err 14368 } 14369 waai.ID = &ID 14370 } 14371 case "name": 14372 if v != nil { 14373 var name string 14374 err = json.Unmarshal(*v, &name) 14375 if err != nil { 14376 return err 14377 } 14378 waai.Name = &name 14379 } 14380 case "type": 14381 if v != nil { 14382 var typeVar string 14383 err = json.Unmarshal(*v, &typeVar) 14384 if err != nil { 14385 return err 14386 } 14387 waai.Type = &typeVar 14388 } 14389 } 14390 } 14391 14392 return nil 14393} 14394 14395// WorkspaceAadAdminsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a 14396// long-running operation. 14397type WorkspaceAadAdminsCreateOrUpdateFuture struct { 14398 azure.FutureAPI 14399 // Result returns the result of the asynchronous operation. 14400 // If the operation has not completed it will return an error. 14401 Result func(WorkspaceAadAdminsClient) (WorkspaceAadAdminInfo, error) 14402} 14403 14404// UnmarshalJSON is the custom unmarshaller for CreateFuture. 14405func (future *WorkspaceAadAdminsCreateOrUpdateFuture) UnmarshalJSON(body []byte) error { 14406 var azFuture azure.Future 14407 if err := json.Unmarshal(body, &azFuture); err != nil { 14408 return err 14409 } 14410 future.FutureAPI = &azFuture 14411 future.Result = future.result 14412 return nil 14413} 14414 14415// result is the default implementation for WorkspaceAadAdminsCreateOrUpdateFuture.Result. 14416func (future *WorkspaceAadAdminsCreateOrUpdateFuture) result(client WorkspaceAadAdminsClient) (waai WorkspaceAadAdminInfo, err error) { 14417 var done bool 14418 done, err = future.DoneWithContext(context.Background(), client) 14419 if err != nil { 14420 err = autorest.NewErrorWithError(err, "synapse.WorkspaceAadAdminsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") 14421 return 14422 } 14423 if !done { 14424 waai.Response.Response = future.Response() 14425 err = azure.NewAsyncOpIncompleteError("synapse.WorkspaceAadAdminsCreateOrUpdateFuture") 14426 return 14427 } 14428 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 14429 if waai.Response.Response, err = future.GetResult(sender); err == nil && waai.Response.Response.StatusCode != http.StatusNoContent { 14430 waai, err = client.CreateOrUpdateResponder(waai.Response.Response) 14431 if err != nil { 14432 err = autorest.NewErrorWithError(err, "synapse.WorkspaceAadAdminsCreateOrUpdateFuture", "Result", waai.Response.Response, "Failure responding to request") 14433 } 14434 } 14435 return 14436} 14437 14438// WorkspaceAadAdminsDeleteFuture an abstraction for monitoring and retrieving the results of a 14439// long-running operation. 14440type WorkspaceAadAdminsDeleteFuture struct { 14441 azure.FutureAPI 14442 // Result returns the result of the asynchronous operation. 14443 // If the operation has not completed it will return an error. 14444 Result func(WorkspaceAadAdminsClient) (autorest.Response, error) 14445} 14446 14447// UnmarshalJSON is the custom unmarshaller for CreateFuture. 14448func (future *WorkspaceAadAdminsDeleteFuture) UnmarshalJSON(body []byte) error { 14449 var azFuture azure.Future 14450 if err := json.Unmarshal(body, &azFuture); err != nil { 14451 return err 14452 } 14453 future.FutureAPI = &azFuture 14454 future.Result = future.result 14455 return nil 14456} 14457 14458// result is the default implementation for WorkspaceAadAdminsDeleteFuture.Result. 14459func (future *WorkspaceAadAdminsDeleteFuture) result(client WorkspaceAadAdminsClient) (ar autorest.Response, err error) { 14460 var done bool 14461 done, err = future.DoneWithContext(context.Background(), client) 14462 if err != nil { 14463 err = autorest.NewErrorWithError(err, "synapse.WorkspaceAadAdminsDeleteFuture", "Result", future.Response(), "Polling failure") 14464 return 14465 } 14466 if !done { 14467 ar.Response = future.Response() 14468 err = azure.NewAsyncOpIncompleteError("synapse.WorkspaceAadAdminsDeleteFuture") 14469 return 14470 } 14471 ar.Response = future.Response() 14472 return 14473} 14474 14475// WorkspaceInfoListResult list of workspaces 14476type WorkspaceInfoListResult struct { 14477 autorest.Response `json:"-"` 14478 // NextLink - Link to the next page of results 14479 NextLink *string `json:"nextLink,omitempty"` 14480 // Value - List of workspaces 14481 Value *[]Workspace `json:"value,omitempty"` 14482} 14483 14484// WorkspaceInfoListResultIterator provides access to a complete listing of Workspace values. 14485type WorkspaceInfoListResultIterator struct { 14486 i int 14487 page WorkspaceInfoListResultPage 14488} 14489 14490// NextWithContext advances to the next value. If there was an error making 14491// the request the iterator does not advance and the error is returned. 14492func (iter *WorkspaceInfoListResultIterator) NextWithContext(ctx context.Context) (err error) { 14493 if tracing.IsEnabled() { 14494 ctx = tracing.StartSpan(ctx, fqdn+"/WorkspaceInfoListResultIterator.NextWithContext") 14495 defer func() { 14496 sc := -1 14497 if iter.Response().Response.Response != nil { 14498 sc = iter.Response().Response.Response.StatusCode 14499 } 14500 tracing.EndSpan(ctx, sc, err) 14501 }() 14502 } 14503 iter.i++ 14504 if iter.i < len(iter.page.Values()) { 14505 return nil 14506 } 14507 err = iter.page.NextWithContext(ctx) 14508 if err != nil { 14509 iter.i-- 14510 return err 14511 } 14512 iter.i = 0 14513 return nil 14514} 14515 14516// Next advances to the next value. If there was an error making 14517// the request the iterator does not advance and the error is returned. 14518// Deprecated: Use NextWithContext() instead. 14519func (iter *WorkspaceInfoListResultIterator) Next() error { 14520 return iter.NextWithContext(context.Background()) 14521} 14522 14523// NotDone returns true if the enumeration should be started or is not yet complete. 14524func (iter WorkspaceInfoListResultIterator) NotDone() bool { 14525 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 14526} 14527 14528// Response returns the raw server response from the last page request. 14529func (iter WorkspaceInfoListResultIterator) Response() WorkspaceInfoListResult { 14530 return iter.page.Response() 14531} 14532 14533// Value returns the current value or a zero-initialized value if the 14534// iterator has advanced beyond the end of the collection. 14535func (iter WorkspaceInfoListResultIterator) Value() Workspace { 14536 if !iter.page.NotDone() { 14537 return Workspace{} 14538 } 14539 return iter.page.Values()[iter.i] 14540} 14541 14542// Creates a new instance of the WorkspaceInfoListResultIterator type. 14543func NewWorkspaceInfoListResultIterator(page WorkspaceInfoListResultPage) WorkspaceInfoListResultIterator { 14544 return WorkspaceInfoListResultIterator{page: page} 14545} 14546 14547// IsEmpty returns true if the ListResult contains no values. 14548func (wilr WorkspaceInfoListResult) IsEmpty() bool { 14549 return wilr.Value == nil || len(*wilr.Value) == 0 14550} 14551 14552// hasNextLink returns true if the NextLink is not empty. 14553func (wilr WorkspaceInfoListResult) hasNextLink() bool { 14554 return wilr.NextLink != nil && len(*wilr.NextLink) != 0 14555} 14556 14557// workspaceInfoListResultPreparer prepares a request to retrieve the next set of results. 14558// It returns nil if no more results exist. 14559func (wilr WorkspaceInfoListResult) workspaceInfoListResultPreparer(ctx context.Context) (*http.Request, error) { 14560 if !wilr.hasNextLink() { 14561 return nil, nil 14562 } 14563 return autorest.Prepare((&http.Request{}).WithContext(ctx), 14564 autorest.AsJSON(), 14565 autorest.AsGet(), 14566 autorest.WithBaseURL(to.String(wilr.NextLink))) 14567} 14568 14569// WorkspaceInfoListResultPage contains a page of Workspace values. 14570type WorkspaceInfoListResultPage struct { 14571 fn func(context.Context, WorkspaceInfoListResult) (WorkspaceInfoListResult, error) 14572 wilr WorkspaceInfoListResult 14573} 14574 14575// NextWithContext advances to the next page of values. If there was an error making 14576// the request the page does not advance and the error is returned. 14577func (page *WorkspaceInfoListResultPage) NextWithContext(ctx context.Context) (err error) { 14578 if tracing.IsEnabled() { 14579 ctx = tracing.StartSpan(ctx, fqdn+"/WorkspaceInfoListResultPage.NextWithContext") 14580 defer func() { 14581 sc := -1 14582 if page.Response().Response.Response != nil { 14583 sc = page.Response().Response.Response.StatusCode 14584 } 14585 tracing.EndSpan(ctx, sc, err) 14586 }() 14587 } 14588 for { 14589 next, err := page.fn(ctx, page.wilr) 14590 if err != nil { 14591 return err 14592 } 14593 page.wilr = next 14594 if !next.hasNextLink() || !next.IsEmpty() { 14595 break 14596 } 14597 } 14598 return nil 14599} 14600 14601// Next advances to the next page of values. If there was an error making 14602// the request the page does not advance and the error is returned. 14603// Deprecated: Use NextWithContext() instead. 14604func (page *WorkspaceInfoListResultPage) Next() error { 14605 return page.NextWithContext(context.Background()) 14606} 14607 14608// NotDone returns true if the page enumeration should be started or is not yet complete. 14609func (page WorkspaceInfoListResultPage) NotDone() bool { 14610 return !page.wilr.IsEmpty() 14611} 14612 14613// Response returns the raw server response from the last page request. 14614func (page WorkspaceInfoListResultPage) Response() WorkspaceInfoListResult { 14615 return page.wilr 14616} 14617 14618// Values returns the slice of values for the current page or nil if there are no values. 14619func (page WorkspaceInfoListResultPage) Values() []Workspace { 14620 if page.wilr.IsEmpty() { 14621 return nil 14622 } 14623 return *page.wilr.Value 14624} 14625 14626// Creates a new instance of the WorkspaceInfoListResultPage type. 14627func NewWorkspaceInfoListResultPage(cur WorkspaceInfoListResult, getNextPage func(context.Context, WorkspaceInfoListResult) (WorkspaceInfoListResult, error)) WorkspaceInfoListResultPage { 14628 return WorkspaceInfoListResultPage{ 14629 fn: getNextPage, 14630 wilr: cur, 14631 } 14632} 14633 14634// WorkspaceKeyDetails details of the customer managed key associated with the workspace 14635type WorkspaceKeyDetails struct { 14636 // Name - Workspace Key sub-resource name 14637 Name *string `json:"name,omitempty"` 14638 // KeyVaultURL - Workspace Key sub-resource key vault url 14639 KeyVaultURL *string `json:"keyVaultUrl,omitempty"` 14640} 14641 14642// WorkspaceManagedIdentitySQLControlSettingsCreateOrUpdateFuture an abstraction for monitoring and 14643// retrieving the results of a long-running operation. 14644type WorkspaceManagedIdentitySQLControlSettingsCreateOrUpdateFuture struct { 14645 azure.FutureAPI 14646 // Result returns the result of the asynchronous operation. 14647 // If the operation has not completed it will return an error. 14648 Result func(WorkspaceManagedIdentitySQLControlSettingsClient) (ManagedIdentitySQLControlSettingsModel, error) 14649} 14650 14651// UnmarshalJSON is the custom unmarshaller for CreateFuture. 14652func (future *WorkspaceManagedIdentitySQLControlSettingsCreateOrUpdateFuture) UnmarshalJSON(body []byte) error { 14653 var azFuture azure.Future 14654 if err := json.Unmarshal(body, &azFuture); err != nil { 14655 return err 14656 } 14657 future.FutureAPI = &azFuture 14658 future.Result = future.result 14659 return nil 14660} 14661 14662// result is the default implementation for WorkspaceManagedIdentitySQLControlSettingsCreateOrUpdateFuture.Result. 14663func (future *WorkspaceManagedIdentitySQLControlSettingsCreateOrUpdateFuture) result(client WorkspaceManagedIdentitySQLControlSettingsClient) (miscsm ManagedIdentitySQLControlSettingsModel, err error) { 14664 var done bool 14665 done, err = future.DoneWithContext(context.Background(), client) 14666 if err != nil { 14667 err = autorest.NewErrorWithError(err, "synapse.WorkspaceManagedIdentitySQLControlSettingsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") 14668 return 14669 } 14670 if !done { 14671 miscsm.Response.Response = future.Response() 14672 err = azure.NewAsyncOpIncompleteError("synapse.WorkspaceManagedIdentitySQLControlSettingsCreateOrUpdateFuture") 14673 return 14674 } 14675 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 14676 if miscsm.Response.Response, err = future.GetResult(sender); err == nil && miscsm.Response.Response.StatusCode != http.StatusNoContent { 14677 miscsm, err = client.CreateOrUpdateResponder(miscsm.Response.Response) 14678 if err != nil { 14679 err = autorest.NewErrorWithError(err, "synapse.WorkspaceManagedIdentitySQLControlSettingsCreateOrUpdateFuture", "Result", miscsm.Response.Response, "Failure responding to request") 14680 } 14681 } 14682 return 14683} 14684 14685// WorkspaceManagedSQLServerBlobAuditingPoliciesCreateOrUpdateFuture an abstraction for monitoring and 14686// retrieving the results of a long-running operation. 14687type WorkspaceManagedSQLServerBlobAuditingPoliciesCreateOrUpdateFuture struct { 14688 azure.FutureAPI 14689 // Result returns the result of the asynchronous operation. 14690 // If the operation has not completed it will return an error. 14691 Result func(WorkspaceManagedSQLServerBlobAuditingPoliciesClient) (ServerBlobAuditingPolicy, error) 14692} 14693 14694// UnmarshalJSON is the custom unmarshaller for CreateFuture. 14695func (future *WorkspaceManagedSQLServerBlobAuditingPoliciesCreateOrUpdateFuture) UnmarshalJSON(body []byte) error { 14696 var azFuture azure.Future 14697 if err := json.Unmarshal(body, &azFuture); err != nil { 14698 return err 14699 } 14700 future.FutureAPI = &azFuture 14701 future.Result = future.result 14702 return nil 14703} 14704 14705// result is the default implementation for WorkspaceManagedSQLServerBlobAuditingPoliciesCreateOrUpdateFuture.Result. 14706func (future *WorkspaceManagedSQLServerBlobAuditingPoliciesCreateOrUpdateFuture) result(client WorkspaceManagedSQLServerBlobAuditingPoliciesClient) (sbap ServerBlobAuditingPolicy, err error) { 14707 var done bool 14708 done, err = future.DoneWithContext(context.Background(), client) 14709 if err != nil { 14710 err = autorest.NewErrorWithError(err, "synapse.WorkspaceManagedSQLServerBlobAuditingPoliciesCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") 14711 return 14712 } 14713 if !done { 14714 sbap.Response.Response = future.Response() 14715 err = azure.NewAsyncOpIncompleteError("synapse.WorkspaceManagedSQLServerBlobAuditingPoliciesCreateOrUpdateFuture") 14716 return 14717 } 14718 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 14719 if sbap.Response.Response, err = future.GetResult(sender); err == nil && sbap.Response.Response.StatusCode != http.StatusNoContent { 14720 sbap, err = client.CreateOrUpdateResponder(sbap.Response.Response) 14721 if err != nil { 14722 err = autorest.NewErrorWithError(err, "synapse.WorkspaceManagedSQLServerBlobAuditingPoliciesCreateOrUpdateFuture", "Result", sbap.Response.Response, "Failure responding to request") 14723 } 14724 } 14725 return 14726} 14727 14728// WorkspaceManagedSQLServerExtendedBlobAuditingPoliciesCreateOrUpdateFuture an abstraction for monitoring 14729// and retrieving the results of a long-running operation. 14730type WorkspaceManagedSQLServerExtendedBlobAuditingPoliciesCreateOrUpdateFuture struct { 14731 azure.FutureAPI 14732 // Result returns the result of the asynchronous operation. 14733 // If the operation has not completed it will return an error. 14734 Result func(WorkspaceManagedSQLServerExtendedBlobAuditingPoliciesClient) (ExtendedServerBlobAuditingPolicy, error) 14735} 14736 14737// UnmarshalJSON is the custom unmarshaller for CreateFuture. 14738func (future *WorkspaceManagedSQLServerExtendedBlobAuditingPoliciesCreateOrUpdateFuture) UnmarshalJSON(body []byte) error { 14739 var azFuture azure.Future 14740 if err := json.Unmarshal(body, &azFuture); err != nil { 14741 return err 14742 } 14743 future.FutureAPI = &azFuture 14744 future.Result = future.result 14745 return nil 14746} 14747 14748// result is the default implementation for WorkspaceManagedSQLServerExtendedBlobAuditingPoliciesCreateOrUpdateFuture.Result. 14749func (future *WorkspaceManagedSQLServerExtendedBlobAuditingPoliciesCreateOrUpdateFuture) result(client WorkspaceManagedSQLServerExtendedBlobAuditingPoliciesClient) (esbap ExtendedServerBlobAuditingPolicy, err error) { 14750 var done bool 14751 done, err = future.DoneWithContext(context.Background(), client) 14752 if err != nil { 14753 err = autorest.NewErrorWithError(err, "synapse.WorkspaceManagedSQLServerExtendedBlobAuditingPoliciesCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") 14754 return 14755 } 14756 if !done { 14757 esbap.Response.Response = future.Response() 14758 err = azure.NewAsyncOpIncompleteError("synapse.WorkspaceManagedSQLServerExtendedBlobAuditingPoliciesCreateOrUpdateFuture") 14759 return 14760 } 14761 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 14762 if esbap.Response.Response, err = future.GetResult(sender); err == nil && esbap.Response.Response.StatusCode != http.StatusNoContent { 14763 esbap, err = client.CreateOrUpdateResponder(esbap.Response.Response) 14764 if err != nil { 14765 err = autorest.NewErrorWithError(err, "synapse.WorkspaceManagedSQLServerExtendedBlobAuditingPoliciesCreateOrUpdateFuture", "Result", esbap.Response.Response, "Failure responding to request") 14766 } 14767 } 14768 return 14769} 14770 14771// WorkspaceManagedSQLServerSecurityAlertPolicyCreateOrUpdateFuture an abstraction for monitoring and 14772// retrieving the results of a long-running operation. 14773type WorkspaceManagedSQLServerSecurityAlertPolicyCreateOrUpdateFuture struct { 14774 azure.FutureAPI 14775 // Result returns the result of the asynchronous operation. 14776 // If the operation has not completed it will return an error. 14777 Result func(WorkspaceManagedSQLServerSecurityAlertPolicyClient) (ServerSecurityAlertPolicy, error) 14778} 14779 14780// UnmarshalJSON is the custom unmarshaller for CreateFuture. 14781func (future *WorkspaceManagedSQLServerSecurityAlertPolicyCreateOrUpdateFuture) UnmarshalJSON(body []byte) error { 14782 var azFuture azure.Future 14783 if err := json.Unmarshal(body, &azFuture); err != nil { 14784 return err 14785 } 14786 future.FutureAPI = &azFuture 14787 future.Result = future.result 14788 return nil 14789} 14790 14791// result is the default implementation for WorkspaceManagedSQLServerSecurityAlertPolicyCreateOrUpdateFuture.Result. 14792func (future *WorkspaceManagedSQLServerSecurityAlertPolicyCreateOrUpdateFuture) result(client WorkspaceManagedSQLServerSecurityAlertPolicyClient) (ssap ServerSecurityAlertPolicy, err error) { 14793 var done bool 14794 done, err = future.DoneWithContext(context.Background(), client) 14795 if err != nil { 14796 err = autorest.NewErrorWithError(err, "synapse.WorkspaceManagedSQLServerSecurityAlertPolicyCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") 14797 return 14798 } 14799 if !done { 14800 ssap.Response.Response = future.Response() 14801 err = azure.NewAsyncOpIncompleteError("synapse.WorkspaceManagedSQLServerSecurityAlertPolicyCreateOrUpdateFuture") 14802 return 14803 } 14804 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 14805 if ssap.Response.Response, err = future.GetResult(sender); err == nil && ssap.Response.Response.StatusCode != http.StatusNoContent { 14806 ssap, err = client.CreateOrUpdateResponder(ssap.Response.Response) 14807 if err != nil { 14808 err = autorest.NewErrorWithError(err, "synapse.WorkspaceManagedSQLServerSecurityAlertPolicyCreateOrUpdateFuture", "Result", ssap.Response.Response, "Failure responding to request") 14809 } 14810 } 14811 return 14812} 14813 14814// WorkspacePatchInfo workspace patch details 14815type WorkspacePatchInfo struct { 14816 // Tags - Resource tags 14817 Tags map[string]*string `json:"tags"` 14818 // Identity - The identity of the workspace 14819 Identity *ManagedIdentity `json:"identity,omitempty"` 14820 // WorkspacePatchProperties - Workspace patch properties 14821 *WorkspacePatchProperties `json:"properties,omitempty"` 14822} 14823 14824// MarshalJSON is the custom marshaler for WorkspacePatchInfo. 14825func (wpi WorkspacePatchInfo) MarshalJSON() ([]byte, error) { 14826 objectMap := make(map[string]interface{}) 14827 if wpi.Tags != nil { 14828 objectMap["tags"] = wpi.Tags 14829 } 14830 if wpi.Identity != nil { 14831 objectMap["identity"] = wpi.Identity 14832 } 14833 if wpi.WorkspacePatchProperties != nil { 14834 objectMap["properties"] = wpi.WorkspacePatchProperties 14835 } 14836 return json.Marshal(objectMap) 14837} 14838 14839// UnmarshalJSON is the custom unmarshaler for WorkspacePatchInfo struct. 14840func (wpi *WorkspacePatchInfo) UnmarshalJSON(body []byte) error { 14841 var m map[string]*json.RawMessage 14842 err := json.Unmarshal(body, &m) 14843 if err != nil { 14844 return err 14845 } 14846 for k, v := range m { 14847 switch k { 14848 case "tags": 14849 if v != nil { 14850 var tags map[string]*string 14851 err = json.Unmarshal(*v, &tags) 14852 if err != nil { 14853 return err 14854 } 14855 wpi.Tags = tags 14856 } 14857 case "identity": 14858 if v != nil { 14859 var identity ManagedIdentity 14860 err = json.Unmarshal(*v, &identity) 14861 if err != nil { 14862 return err 14863 } 14864 wpi.Identity = &identity 14865 } 14866 case "properties": 14867 if v != nil { 14868 var workspacePatchProperties WorkspacePatchProperties 14869 err = json.Unmarshal(*v, &workspacePatchProperties) 14870 if err != nil { 14871 return err 14872 } 14873 wpi.WorkspacePatchProperties = &workspacePatchProperties 14874 } 14875 } 14876 } 14877 14878 return nil 14879} 14880 14881// WorkspacePatchProperties workspace patch properties 14882type WorkspacePatchProperties struct { 14883 // SQLAdministratorLoginPassword - SQL administrator login password 14884 SQLAdministratorLoginPassword *string `json:"sqlAdministratorLoginPassword,omitempty"` 14885 // ManagedVirtualNetworkSettings - Managed Virtual Network Settings 14886 ManagedVirtualNetworkSettings *ManagedVirtualNetworkSettings `json:"managedVirtualNetworkSettings,omitempty"` 14887 // WorkspaceRepositoryConfiguration - Git integration settings 14888 WorkspaceRepositoryConfiguration *WorkspaceRepositoryConfiguration `json:"workspaceRepositoryConfiguration,omitempty"` 14889 // PurviewConfiguration - Purview Configuration 14890 PurviewConfiguration *PurviewConfiguration `json:"purviewConfiguration,omitempty"` 14891 // ProvisioningState - READ-ONLY; Resource provisioning state 14892 ProvisioningState *string `json:"provisioningState,omitempty"` 14893 // Encryption - The encryption details of the workspace 14894 Encryption *EncryptionDetails `json:"encryption,omitempty"` 14895} 14896 14897// MarshalJSON is the custom marshaler for WorkspacePatchProperties. 14898func (wpp WorkspacePatchProperties) MarshalJSON() ([]byte, error) { 14899 objectMap := make(map[string]interface{}) 14900 if wpp.SQLAdministratorLoginPassword != nil { 14901 objectMap["sqlAdministratorLoginPassword"] = wpp.SQLAdministratorLoginPassword 14902 } 14903 if wpp.ManagedVirtualNetworkSettings != nil { 14904 objectMap["managedVirtualNetworkSettings"] = wpp.ManagedVirtualNetworkSettings 14905 } 14906 if wpp.WorkspaceRepositoryConfiguration != nil { 14907 objectMap["workspaceRepositoryConfiguration"] = wpp.WorkspaceRepositoryConfiguration 14908 } 14909 if wpp.PurviewConfiguration != nil { 14910 objectMap["purviewConfiguration"] = wpp.PurviewConfiguration 14911 } 14912 if wpp.Encryption != nil { 14913 objectMap["encryption"] = wpp.Encryption 14914 } 14915 return json.Marshal(objectMap) 14916} 14917 14918// WorkspaceProperties workspace properties 14919type WorkspaceProperties struct { 14920 // DefaultDataLakeStorage - Workspace default data lake storage account details 14921 DefaultDataLakeStorage *DataLakeStorageAccountDetails `json:"defaultDataLakeStorage,omitempty"` 14922 // SQLAdministratorLoginPassword - SQL administrator login password 14923 SQLAdministratorLoginPassword *string `json:"sqlAdministratorLoginPassword,omitempty"` 14924 // ManagedResourceGroupName - Workspace managed resource group. The resource group name uniquely identifies the resource group within the user subscriptionId. The resource group name must be no longer than 90 characters long, and must be alphanumeric characters (Char.IsLetterOrDigit()) and '-', '_', '(', ')' and'.'. Note that the name cannot end with '.' 14925 ManagedResourceGroupName *string `json:"managedResourceGroupName,omitempty"` 14926 // ProvisioningState - READ-ONLY; Resource provisioning state 14927 ProvisioningState *string `json:"provisioningState,omitempty"` 14928 // SQLAdministratorLogin - Login for workspace SQL active directory administrator 14929 SQLAdministratorLogin *string `json:"sqlAdministratorLogin,omitempty"` 14930 // VirtualNetworkProfile - Virtual Network profile 14931 VirtualNetworkProfile *VirtualNetworkProfile `json:"virtualNetworkProfile,omitempty"` 14932 // ConnectivityEndpoints - Connectivity endpoints 14933 ConnectivityEndpoints map[string]*string `json:"connectivityEndpoints"` 14934 // ManagedVirtualNetwork - Setting this to 'default' will ensure that all compute for this workspace is in a virtual network managed on behalf of the user. 14935 ManagedVirtualNetwork *string `json:"managedVirtualNetwork,omitempty"` 14936 // PrivateEndpointConnections - Private endpoint connections to the workspace 14937 PrivateEndpointConnections *[]PrivateEndpointConnection `json:"privateEndpointConnections,omitempty"` 14938 // Encryption - The encryption details of the workspace 14939 Encryption *EncryptionDetails `json:"encryption,omitempty"` 14940 // WorkspaceUID - READ-ONLY; The workspace unique identifier 14941 WorkspaceUID *uuid.UUID `json:"workspaceUID,omitempty"` 14942 // ExtraProperties - READ-ONLY; Workspace level configs and feature flags 14943 ExtraProperties map[string]interface{} `json:"extraProperties"` 14944 // ManagedVirtualNetworkSettings - Managed Virtual Network Settings 14945 ManagedVirtualNetworkSettings *ManagedVirtualNetworkSettings `json:"managedVirtualNetworkSettings,omitempty"` 14946 // WorkspaceRepositoryConfiguration - Git integration settings 14947 WorkspaceRepositoryConfiguration *WorkspaceRepositoryConfiguration `json:"workspaceRepositoryConfiguration,omitempty"` 14948 // PurviewConfiguration - Purview Configuration 14949 PurviewConfiguration *PurviewConfiguration `json:"purviewConfiguration,omitempty"` 14950} 14951 14952// MarshalJSON is the custom marshaler for WorkspaceProperties. 14953func (wp WorkspaceProperties) MarshalJSON() ([]byte, error) { 14954 objectMap := make(map[string]interface{}) 14955 if wp.DefaultDataLakeStorage != nil { 14956 objectMap["defaultDataLakeStorage"] = wp.DefaultDataLakeStorage 14957 } 14958 if wp.SQLAdministratorLoginPassword != nil { 14959 objectMap["sqlAdministratorLoginPassword"] = wp.SQLAdministratorLoginPassword 14960 } 14961 if wp.ManagedResourceGroupName != nil { 14962 objectMap["managedResourceGroupName"] = wp.ManagedResourceGroupName 14963 } 14964 if wp.SQLAdministratorLogin != nil { 14965 objectMap["sqlAdministratorLogin"] = wp.SQLAdministratorLogin 14966 } 14967 if wp.VirtualNetworkProfile != nil { 14968 objectMap["virtualNetworkProfile"] = wp.VirtualNetworkProfile 14969 } 14970 if wp.ConnectivityEndpoints != nil { 14971 objectMap["connectivityEndpoints"] = wp.ConnectivityEndpoints 14972 } 14973 if wp.ManagedVirtualNetwork != nil { 14974 objectMap["managedVirtualNetwork"] = wp.ManagedVirtualNetwork 14975 } 14976 if wp.PrivateEndpointConnections != nil { 14977 objectMap["privateEndpointConnections"] = wp.PrivateEndpointConnections 14978 } 14979 if wp.Encryption != nil { 14980 objectMap["encryption"] = wp.Encryption 14981 } 14982 if wp.ManagedVirtualNetworkSettings != nil { 14983 objectMap["managedVirtualNetworkSettings"] = wp.ManagedVirtualNetworkSettings 14984 } 14985 if wp.WorkspaceRepositoryConfiguration != nil { 14986 objectMap["workspaceRepositoryConfiguration"] = wp.WorkspaceRepositoryConfiguration 14987 } 14988 if wp.PurviewConfiguration != nil { 14989 objectMap["purviewConfiguration"] = wp.PurviewConfiguration 14990 } 14991 return json.Marshal(objectMap) 14992} 14993 14994// WorkspaceRepositoryConfiguration git integration settings 14995type WorkspaceRepositoryConfiguration struct { 14996 // Type - Type of workspace repositoryID configuration. Example WorkspaceVSTSConfiguration, WorkspaceGitHubConfiguration 14997 Type *string `json:"type,omitempty"` 14998 // HostName - GitHub Enterprise host name. For example: https://github.mydomain.com 14999 HostName *string `json:"hostName,omitempty"` 15000 // AccountName - Account name 15001 AccountName *string `json:"accountName,omitempty"` 15002 // ProjectName - VSTS project name 15003 ProjectName *string `json:"projectName,omitempty"` 15004 // RepositoryName - Repository name 15005 RepositoryName *string `json:"repositoryName,omitempty"` 15006 // CollaborationBranch - Collaboration branch 15007 CollaborationBranch *string `json:"collaborationBranch,omitempty"` 15008 // RootFolder - Root folder to use in the repository 15009 RootFolder *string `json:"rootFolder,omitempty"` 15010} 15011 15012// WorkspacesCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a 15013// long-running operation. 15014type WorkspacesCreateOrUpdateFuture struct { 15015 azure.FutureAPI 15016 // Result returns the result of the asynchronous operation. 15017 // If the operation has not completed it will return an error. 15018 Result func(WorkspacesClient) (Workspace, error) 15019} 15020 15021// UnmarshalJSON is the custom unmarshaller for CreateFuture. 15022func (future *WorkspacesCreateOrUpdateFuture) UnmarshalJSON(body []byte) error { 15023 var azFuture azure.Future 15024 if err := json.Unmarshal(body, &azFuture); err != nil { 15025 return err 15026 } 15027 future.FutureAPI = &azFuture 15028 future.Result = future.result 15029 return nil 15030} 15031 15032// result is the default implementation for WorkspacesCreateOrUpdateFuture.Result. 15033func (future *WorkspacesCreateOrUpdateFuture) result(client WorkspacesClient) (w Workspace, err error) { 15034 var done bool 15035 done, err = future.DoneWithContext(context.Background(), client) 15036 if err != nil { 15037 err = autorest.NewErrorWithError(err, "synapse.WorkspacesCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") 15038 return 15039 } 15040 if !done { 15041 w.Response.Response = future.Response() 15042 err = azure.NewAsyncOpIncompleteError("synapse.WorkspacesCreateOrUpdateFuture") 15043 return 15044 } 15045 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 15046 if w.Response.Response, err = future.GetResult(sender); err == nil && w.Response.Response.StatusCode != http.StatusNoContent { 15047 w, err = client.CreateOrUpdateResponder(w.Response.Response) 15048 if err != nil { 15049 err = autorest.NewErrorWithError(err, "synapse.WorkspacesCreateOrUpdateFuture", "Result", w.Response.Response, "Failure responding to request") 15050 } 15051 } 15052 return 15053} 15054 15055// WorkspacesDeleteFuture an abstraction for monitoring and retrieving the results of a long-running 15056// operation. 15057type WorkspacesDeleteFuture struct { 15058 azure.FutureAPI 15059 // Result returns the result of the asynchronous operation. 15060 // If the operation has not completed it will return an error. 15061 Result func(WorkspacesClient) (SetObject, error) 15062} 15063 15064// UnmarshalJSON is the custom unmarshaller for CreateFuture. 15065func (future *WorkspacesDeleteFuture) UnmarshalJSON(body []byte) error { 15066 var azFuture azure.Future 15067 if err := json.Unmarshal(body, &azFuture); err != nil { 15068 return err 15069 } 15070 future.FutureAPI = &azFuture 15071 future.Result = future.result 15072 return nil 15073} 15074 15075// result is the default implementation for WorkspacesDeleteFuture.Result. 15076func (future *WorkspacesDeleteFuture) result(client WorkspacesClient) (so SetObject, err error) { 15077 var done bool 15078 done, err = future.DoneWithContext(context.Background(), client) 15079 if err != nil { 15080 err = autorest.NewErrorWithError(err, "synapse.WorkspacesDeleteFuture", "Result", future.Response(), "Polling failure") 15081 return 15082 } 15083 if !done { 15084 so.Response.Response = future.Response() 15085 err = azure.NewAsyncOpIncompleteError("synapse.WorkspacesDeleteFuture") 15086 return 15087 } 15088 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 15089 if so.Response.Response, err = future.GetResult(sender); err == nil && so.Response.Response.StatusCode != http.StatusNoContent { 15090 so, err = client.DeleteResponder(so.Response.Response) 15091 if err != nil { 15092 err = autorest.NewErrorWithError(err, "synapse.WorkspacesDeleteFuture", "Result", so.Response.Response, "Failure responding to request") 15093 } 15094 } 15095 return 15096} 15097 15098// WorkspaceSQLAadAdminsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a 15099// long-running operation. 15100type WorkspaceSQLAadAdminsCreateOrUpdateFuture struct { 15101 azure.FutureAPI 15102 // Result returns the result of the asynchronous operation. 15103 // If the operation has not completed it will return an error. 15104 Result func(WorkspaceSQLAadAdminsClient) (WorkspaceAadAdminInfo, error) 15105} 15106 15107// UnmarshalJSON is the custom unmarshaller for CreateFuture. 15108func (future *WorkspaceSQLAadAdminsCreateOrUpdateFuture) UnmarshalJSON(body []byte) error { 15109 var azFuture azure.Future 15110 if err := json.Unmarshal(body, &azFuture); err != nil { 15111 return err 15112 } 15113 future.FutureAPI = &azFuture 15114 future.Result = future.result 15115 return nil 15116} 15117 15118// result is the default implementation for WorkspaceSQLAadAdminsCreateOrUpdateFuture.Result. 15119func (future *WorkspaceSQLAadAdminsCreateOrUpdateFuture) result(client WorkspaceSQLAadAdminsClient) (waai WorkspaceAadAdminInfo, err error) { 15120 var done bool 15121 done, err = future.DoneWithContext(context.Background(), client) 15122 if err != nil { 15123 err = autorest.NewErrorWithError(err, "synapse.WorkspaceSQLAadAdminsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") 15124 return 15125 } 15126 if !done { 15127 waai.Response.Response = future.Response() 15128 err = azure.NewAsyncOpIncompleteError("synapse.WorkspaceSQLAadAdminsCreateOrUpdateFuture") 15129 return 15130 } 15131 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 15132 if waai.Response.Response, err = future.GetResult(sender); err == nil && waai.Response.Response.StatusCode != http.StatusNoContent { 15133 waai, err = client.CreateOrUpdateResponder(waai.Response.Response) 15134 if err != nil { 15135 err = autorest.NewErrorWithError(err, "synapse.WorkspaceSQLAadAdminsCreateOrUpdateFuture", "Result", waai.Response.Response, "Failure responding to request") 15136 } 15137 } 15138 return 15139} 15140 15141// WorkspaceSQLAadAdminsDeleteFuture an abstraction for monitoring and retrieving the results of a 15142// long-running operation. 15143type WorkspaceSQLAadAdminsDeleteFuture struct { 15144 azure.FutureAPI 15145 // Result returns the result of the asynchronous operation. 15146 // If the operation has not completed it will return an error. 15147 Result func(WorkspaceSQLAadAdminsClient) (autorest.Response, error) 15148} 15149 15150// UnmarshalJSON is the custom unmarshaller for CreateFuture. 15151func (future *WorkspaceSQLAadAdminsDeleteFuture) UnmarshalJSON(body []byte) error { 15152 var azFuture azure.Future 15153 if err := json.Unmarshal(body, &azFuture); err != nil { 15154 return err 15155 } 15156 future.FutureAPI = &azFuture 15157 future.Result = future.result 15158 return nil 15159} 15160 15161// result is the default implementation for WorkspaceSQLAadAdminsDeleteFuture.Result. 15162func (future *WorkspaceSQLAadAdminsDeleteFuture) result(client WorkspaceSQLAadAdminsClient) (ar autorest.Response, err error) { 15163 var done bool 15164 done, err = future.DoneWithContext(context.Background(), client) 15165 if err != nil { 15166 err = autorest.NewErrorWithError(err, "synapse.WorkspaceSQLAadAdminsDeleteFuture", "Result", future.Response(), "Polling failure") 15167 return 15168 } 15169 if !done { 15170 ar.Response = future.Response() 15171 err = azure.NewAsyncOpIncompleteError("synapse.WorkspaceSQLAadAdminsDeleteFuture") 15172 return 15173 } 15174 ar.Response = future.Response() 15175 return 15176} 15177 15178// WorkspacesUpdateFuture an abstraction for monitoring and retrieving the results of a long-running 15179// operation. 15180type WorkspacesUpdateFuture struct { 15181 azure.FutureAPI 15182 // Result returns the result of the asynchronous operation. 15183 // If the operation has not completed it will return an error. 15184 Result func(WorkspacesClient) (Workspace, error) 15185} 15186 15187// UnmarshalJSON is the custom unmarshaller for CreateFuture. 15188func (future *WorkspacesUpdateFuture) UnmarshalJSON(body []byte) error { 15189 var azFuture azure.Future 15190 if err := json.Unmarshal(body, &azFuture); err != nil { 15191 return err 15192 } 15193 future.FutureAPI = &azFuture 15194 future.Result = future.result 15195 return nil 15196} 15197 15198// result is the default implementation for WorkspacesUpdateFuture.Result. 15199func (future *WorkspacesUpdateFuture) result(client WorkspacesClient) (w Workspace, err error) { 15200 var done bool 15201 done, err = future.DoneWithContext(context.Background(), client) 15202 if err != nil { 15203 err = autorest.NewErrorWithError(err, "synapse.WorkspacesUpdateFuture", "Result", future.Response(), "Polling failure") 15204 return 15205 } 15206 if !done { 15207 w.Response.Response = future.Response() 15208 err = azure.NewAsyncOpIncompleteError("synapse.WorkspacesUpdateFuture") 15209 return 15210 } 15211 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 15212 if w.Response.Response, err = future.GetResult(sender); err == nil && w.Response.Response.StatusCode != http.StatusNoContent { 15213 w, err = client.UpdateResponder(w.Response.Response) 15214 if err != nil { 15215 err = autorest.NewErrorWithError(err, "synapse.WorkspacesUpdateFuture", "Result", w.Response.Response, "Failure responding to request") 15216 } 15217 } 15218 return 15219} 15220