1package web 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 "io" 19 "net/http" 20) 21 22// The package's fully qualified name. 23const fqdn = "github.com/Azure/azure-sdk-for-go/services/web/mgmt/2018-02-01/web" 24 25// AbnormalTimePeriod class representing Abnormal Time Period identified in diagnosis 26type AbnormalTimePeriod struct { 27 // StartTime - Start time of the downtime 28 StartTime *date.Time `json:"startTime,omitempty"` 29 // EndTime - End time of the downtime 30 EndTime *date.Time `json:"endTime,omitempty"` 31 // Events - List of Possible Cause of downtime 32 Events *[]DetectorAbnormalTimePeriod `json:"events,omitempty"` 33 // Solutions - List of proposed solutions 34 Solutions *[]Solution `json:"solutions,omitempty"` 35} 36 37// Address address information for domain registration. 38type Address struct { 39 // Address1 - First line of an Address. 40 Address1 *string `json:"address1,omitempty"` 41 // Address2 - The second line of the Address. Optional. 42 Address2 *string `json:"address2,omitempty"` 43 // City - The city for the address. 44 City *string `json:"city,omitempty"` 45 // Country - The country for the address. 46 Country *string `json:"country,omitempty"` 47 // PostalCode - The postal code for the address. 48 PostalCode *string `json:"postalCode,omitempty"` 49 // State - The state or province for the address. 50 State *string `json:"state,omitempty"` 51} 52 53// AddressResponse describes main public IP address and any extra virtual IPs. 54type AddressResponse struct { 55 autorest.Response `json:"-"` 56 // ServiceIPAddress - Main public virtual IP. 57 ServiceIPAddress *string `json:"serviceIpAddress,omitempty"` 58 // InternalIPAddress - Virtual Network internal IP address of the App Service Environment if it is in internal load-balancing mode. 59 InternalIPAddress *string `json:"internalIpAddress,omitempty"` 60 // OutboundIPAddresses - IP addresses appearing on outbound connections. 61 OutboundIPAddresses *[]string `json:"outboundIpAddresses,omitempty"` 62 // VipMappings - Additional virtual IPs. 63 VipMappings *[]VirtualIPMapping `json:"vipMappings,omitempty"` 64} 65 66// AnalysisData class Representing Detector Evidence used for analysis 67type AnalysisData struct { 68 // Source - Name of the Detector 69 Source *string `json:"source,omitempty"` 70 // DetectorDefinition - Detector Definition 71 DetectorDefinition *DetectorDefinition `json:"detectorDefinition,omitempty"` 72 // Metrics - Source Metrics 73 Metrics *[]DiagnosticMetricSet `json:"metrics,omitempty"` 74 // Data - Additional Source Data 75 Data *[][]NameValuePair `json:"data,omitempty"` 76 // DetectorMetaData - Detector Meta Data 77 DetectorMetaData *ResponseMetaData `json:"detectorMetaData,omitempty"` 78} 79 80// AnalysisDefinition definition of Analysis 81type AnalysisDefinition struct { 82 // AnalysisDefinitionProperties - AnalysisDefinition resource specific properties 83 *AnalysisDefinitionProperties `json:"properties,omitempty"` 84 // ID - READ-ONLY; Resource Id. 85 ID *string `json:"id,omitempty"` 86 // Name - READ-ONLY; Resource Name. 87 Name *string `json:"name,omitempty"` 88 // Kind - Kind of resource. 89 Kind *string `json:"kind,omitempty"` 90 // Type - READ-ONLY; Resource type. 91 Type *string `json:"type,omitempty"` 92} 93 94// MarshalJSON is the custom marshaler for AnalysisDefinition. 95func (ad AnalysisDefinition) MarshalJSON() ([]byte, error) { 96 objectMap := make(map[string]interface{}) 97 if ad.AnalysisDefinitionProperties != nil { 98 objectMap["properties"] = ad.AnalysisDefinitionProperties 99 } 100 if ad.Kind != nil { 101 objectMap["kind"] = ad.Kind 102 } 103 return json.Marshal(objectMap) 104} 105 106// UnmarshalJSON is the custom unmarshaler for AnalysisDefinition struct. 107func (ad *AnalysisDefinition) UnmarshalJSON(body []byte) error { 108 var m map[string]*json.RawMessage 109 err := json.Unmarshal(body, &m) 110 if err != nil { 111 return err 112 } 113 for k, v := range m { 114 switch k { 115 case "properties": 116 if v != nil { 117 var analysisDefinitionProperties AnalysisDefinitionProperties 118 err = json.Unmarshal(*v, &analysisDefinitionProperties) 119 if err != nil { 120 return err 121 } 122 ad.AnalysisDefinitionProperties = &analysisDefinitionProperties 123 } 124 case "id": 125 if v != nil { 126 var ID string 127 err = json.Unmarshal(*v, &ID) 128 if err != nil { 129 return err 130 } 131 ad.ID = &ID 132 } 133 case "name": 134 if v != nil { 135 var name string 136 err = json.Unmarshal(*v, &name) 137 if err != nil { 138 return err 139 } 140 ad.Name = &name 141 } 142 case "kind": 143 if v != nil { 144 var kind string 145 err = json.Unmarshal(*v, &kind) 146 if err != nil { 147 return err 148 } 149 ad.Kind = &kind 150 } 151 case "type": 152 if v != nil { 153 var typeVar string 154 err = json.Unmarshal(*v, &typeVar) 155 if err != nil { 156 return err 157 } 158 ad.Type = &typeVar 159 } 160 } 161 } 162 163 return nil 164} 165 166// AnalysisDefinitionProperties analysisDefinition resource specific properties 167type AnalysisDefinitionProperties struct { 168 // Description - READ-ONLY; Description of the Analysis 169 Description *string `json:"description,omitempty"` 170} 171 172// MarshalJSON is the custom marshaler for AnalysisDefinitionProperties. 173func (ad AnalysisDefinitionProperties) MarshalJSON() ([]byte, error) { 174 objectMap := make(map[string]interface{}) 175 return json.Marshal(objectMap) 176} 177 178// APIDefinitionInfo information about the formal API definition for the app. 179type APIDefinitionInfo struct { 180 // URL - The URL of the API definition. 181 URL *string `json:"url,omitempty"` 182} 183 184// AppCollection collection of App Service apps. 185type AppCollection struct { 186 autorest.Response `json:"-"` 187 // Value - Collection of resources. 188 Value *[]Site `json:"value,omitempty"` 189 // NextLink - READ-ONLY; Link to next page of resources. 190 NextLink *string `json:"nextLink,omitempty"` 191} 192 193// MarshalJSON is the custom marshaler for AppCollection. 194func (ac AppCollection) MarshalJSON() ([]byte, error) { 195 objectMap := make(map[string]interface{}) 196 if ac.Value != nil { 197 objectMap["value"] = ac.Value 198 } 199 return json.Marshal(objectMap) 200} 201 202// AppCollectionIterator provides access to a complete listing of Site values. 203type AppCollectionIterator struct { 204 i int 205 page AppCollectionPage 206} 207 208// NextWithContext advances to the next value. If there was an error making 209// the request the iterator does not advance and the error is returned. 210func (iter *AppCollectionIterator) NextWithContext(ctx context.Context) (err error) { 211 if tracing.IsEnabled() { 212 ctx = tracing.StartSpan(ctx, fqdn+"/AppCollectionIterator.NextWithContext") 213 defer func() { 214 sc := -1 215 if iter.Response().Response.Response != nil { 216 sc = iter.Response().Response.Response.StatusCode 217 } 218 tracing.EndSpan(ctx, sc, err) 219 }() 220 } 221 iter.i++ 222 if iter.i < len(iter.page.Values()) { 223 return nil 224 } 225 err = iter.page.NextWithContext(ctx) 226 if err != nil { 227 iter.i-- 228 return err 229 } 230 iter.i = 0 231 return nil 232} 233 234// Next advances to the next value. If there was an error making 235// the request the iterator does not advance and the error is returned. 236// Deprecated: Use NextWithContext() instead. 237func (iter *AppCollectionIterator) Next() error { 238 return iter.NextWithContext(context.Background()) 239} 240 241// NotDone returns true if the enumeration should be started or is not yet complete. 242func (iter AppCollectionIterator) NotDone() bool { 243 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 244} 245 246// Response returns the raw server response from the last page request. 247func (iter AppCollectionIterator) Response() AppCollection { 248 return iter.page.Response() 249} 250 251// Value returns the current value or a zero-initialized value if the 252// iterator has advanced beyond the end of the collection. 253func (iter AppCollectionIterator) Value() Site { 254 if !iter.page.NotDone() { 255 return Site{} 256 } 257 return iter.page.Values()[iter.i] 258} 259 260// Creates a new instance of the AppCollectionIterator type. 261func NewAppCollectionIterator(page AppCollectionPage) AppCollectionIterator { 262 return AppCollectionIterator{page: page} 263} 264 265// IsEmpty returns true if the ListResult contains no values. 266func (ac AppCollection) IsEmpty() bool { 267 return ac.Value == nil || len(*ac.Value) == 0 268} 269 270// hasNextLink returns true if the NextLink is not empty. 271func (ac AppCollection) hasNextLink() bool { 272 return ac.NextLink != nil && len(*ac.NextLink) != 0 273} 274 275// appCollectionPreparer prepares a request to retrieve the next set of results. 276// It returns nil if no more results exist. 277func (ac AppCollection) appCollectionPreparer(ctx context.Context) (*http.Request, error) { 278 if !ac.hasNextLink() { 279 return nil, nil 280 } 281 return autorest.Prepare((&http.Request{}).WithContext(ctx), 282 autorest.AsJSON(), 283 autorest.AsGet(), 284 autorest.WithBaseURL(to.String(ac.NextLink))) 285} 286 287// AppCollectionPage contains a page of Site values. 288type AppCollectionPage struct { 289 fn func(context.Context, AppCollection) (AppCollection, error) 290 ac AppCollection 291} 292 293// NextWithContext advances to the next page of values. If there was an error making 294// the request the page does not advance and the error is returned. 295func (page *AppCollectionPage) NextWithContext(ctx context.Context) (err error) { 296 if tracing.IsEnabled() { 297 ctx = tracing.StartSpan(ctx, fqdn+"/AppCollectionPage.NextWithContext") 298 defer func() { 299 sc := -1 300 if page.Response().Response.Response != nil { 301 sc = page.Response().Response.Response.StatusCode 302 } 303 tracing.EndSpan(ctx, sc, err) 304 }() 305 } 306 for { 307 next, err := page.fn(ctx, page.ac) 308 if err != nil { 309 return err 310 } 311 page.ac = next 312 if !next.hasNextLink() || !next.IsEmpty() { 313 break 314 } 315 } 316 return nil 317} 318 319// Next advances to the next page of values. If there was an error making 320// the request the page does not advance and the error is returned. 321// Deprecated: Use NextWithContext() instead. 322func (page *AppCollectionPage) Next() error { 323 return page.NextWithContext(context.Background()) 324} 325 326// NotDone returns true if the page enumeration should be started or is not yet complete. 327func (page AppCollectionPage) NotDone() bool { 328 return !page.ac.IsEmpty() 329} 330 331// Response returns the raw server response from the last page request. 332func (page AppCollectionPage) Response() AppCollection { 333 return page.ac 334} 335 336// Values returns the slice of values for the current page or nil if there are no values. 337func (page AppCollectionPage) Values() []Site { 338 if page.ac.IsEmpty() { 339 return nil 340 } 341 return *page.ac.Value 342} 343 344// Creates a new instance of the AppCollectionPage type. 345func NewAppCollectionPage(cur AppCollection, getNextPage func(context.Context, AppCollection) (AppCollection, error)) AppCollectionPage { 346 return AppCollectionPage{ 347 fn: getNextPage, 348 ac: cur, 349 } 350} 351 352// AppInstanceCollection collection of app instances. 353type AppInstanceCollection struct { 354 autorest.Response `json:"-"` 355 // Value - Collection of resources. 356 Value *[]SiteInstance `json:"value,omitempty"` 357 // NextLink - READ-ONLY; Link to next page of resources. 358 NextLink *string `json:"nextLink,omitempty"` 359} 360 361// MarshalJSON is the custom marshaler for AppInstanceCollection. 362func (aic AppInstanceCollection) MarshalJSON() ([]byte, error) { 363 objectMap := make(map[string]interface{}) 364 if aic.Value != nil { 365 objectMap["value"] = aic.Value 366 } 367 return json.Marshal(objectMap) 368} 369 370// AppInstanceCollectionIterator provides access to a complete listing of SiteInstance values. 371type AppInstanceCollectionIterator struct { 372 i int 373 page AppInstanceCollectionPage 374} 375 376// NextWithContext advances to the next value. If there was an error making 377// the request the iterator does not advance and the error is returned. 378func (iter *AppInstanceCollectionIterator) NextWithContext(ctx context.Context) (err error) { 379 if tracing.IsEnabled() { 380 ctx = tracing.StartSpan(ctx, fqdn+"/AppInstanceCollectionIterator.NextWithContext") 381 defer func() { 382 sc := -1 383 if iter.Response().Response.Response != nil { 384 sc = iter.Response().Response.Response.StatusCode 385 } 386 tracing.EndSpan(ctx, sc, err) 387 }() 388 } 389 iter.i++ 390 if iter.i < len(iter.page.Values()) { 391 return nil 392 } 393 err = iter.page.NextWithContext(ctx) 394 if err != nil { 395 iter.i-- 396 return err 397 } 398 iter.i = 0 399 return nil 400} 401 402// Next advances to the next value. If there was an error making 403// the request the iterator does not advance and the error is returned. 404// Deprecated: Use NextWithContext() instead. 405func (iter *AppInstanceCollectionIterator) Next() error { 406 return iter.NextWithContext(context.Background()) 407} 408 409// NotDone returns true if the enumeration should be started or is not yet complete. 410func (iter AppInstanceCollectionIterator) NotDone() bool { 411 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 412} 413 414// Response returns the raw server response from the last page request. 415func (iter AppInstanceCollectionIterator) Response() AppInstanceCollection { 416 return iter.page.Response() 417} 418 419// Value returns the current value or a zero-initialized value if the 420// iterator has advanced beyond the end of the collection. 421func (iter AppInstanceCollectionIterator) Value() SiteInstance { 422 if !iter.page.NotDone() { 423 return SiteInstance{} 424 } 425 return iter.page.Values()[iter.i] 426} 427 428// Creates a new instance of the AppInstanceCollectionIterator type. 429func NewAppInstanceCollectionIterator(page AppInstanceCollectionPage) AppInstanceCollectionIterator { 430 return AppInstanceCollectionIterator{page: page} 431} 432 433// IsEmpty returns true if the ListResult contains no values. 434func (aic AppInstanceCollection) IsEmpty() bool { 435 return aic.Value == nil || len(*aic.Value) == 0 436} 437 438// hasNextLink returns true if the NextLink is not empty. 439func (aic AppInstanceCollection) hasNextLink() bool { 440 return aic.NextLink != nil && len(*aic.NextLink) != 0 441} 442 443// appInstanceCollectionPreparer prepares a request to retrieve the next set of results. 444// It returns nil if no more results exist. 445func (aic AppInstanceCollection) appInstanceCollectionPreparer(ctx context.Context) (*http.Request, error) { 446 if !aic.hasNextLink() { 447 return nil, nil 448 } 449 return autorest.Prepare((&http.Request{}).WithContext(ctx), 450 autorest.AsJSON(), 451 autorest.AsGet(), 452 autorest.WithBaseURL(to.String(aic.NextLink))) 453} 454 455// AppInstanceCollectionPage contains a page of SiteInstance values. 456type AppInstanceCollectionPage struct { 457 fn func(context.Context, AppInstanceCollection) (AppInstanceCollection, error) 458 aic AppInstanceCollection 459} 460 461// NextWithContext advances to the next page of values. If there was an error making 462// the request the page does not advance and the error is returned. 463func (page *AppInstanceCollectionPage) NextWithContext(ctx context.Context) (err error) { 464 if tracing.IsEnabled() { 465 ctx = tracing.StartSpan(ctx, fqdn+"/AppInstanceCollectionPage.NextWithContext") 466 defer func() { 467 sc := -1 468 if page.Response().Response.Response != nil { 469 sc = page.Response().Response.Response.StatusCode 470 } 471 tracing.EndSpan(ctx, sc, err) 472 }() 473 } 474 for { 475 next, err := page.fn(ctx, page.aic) 476 if err != nil { 477 return err 478 } 479 page.aic = next 480 if !next.hasNextLink() || !next.IsEmpty() { 481 break 482 } 483 } 484 return nil 485} 486 487// Next advances to the next page of values. If there was an error making 488// the request the page does not advance and the error is returned. 489// Deprecated: Use NextWithContext() instead. 490func (page *AppInstanceCollectionPage) Next() error { 491 return page.NextWithContext(context.Background()) 492} 493 494// NotDone returns true if the page enumeration should be started or is not yet complete. 495func (page AppInstanceCollectionPage) NotDone() bool { 496 return !page.aic.IsEmpty() 497} 498 499// Response returns the raw server response from the last page request. 500func (page AppInstanceCollectionPage) Response() AppInstanceCollection { 501 return page.aic 502} 503 504// Values returns the slice of values for the current page or nil if there are no values. 505func (page AppInstanceCollectionPage) Values() []SiteInstance { 506 if page.aic.IsEmpty() { 507 return nil 508 } 509 return *page.aic.Value 510} 511 512// Creates a new instance of the AppInstanceCollectionPage type. 513func NewAppInstanceCollectionPage(cur AppInstanceCollection, getNextPage func(context.Context, AppInstanceCollection) (AppInstanceCollection, error)) AppInstanceCollectionPage { 514 return AppInstanceCollectionPage{ 515 fn: getNextPage, 516 aic: cur, 517 } 518} 519 520// ApplicationLogsConfig application logs configuration. 521type ApplicationLogsConfig struct { 522 // FileSystem - Application logs to file system configuration. 523 FileSystem *FileSystemApplicationLogsConfig `json:"fileSystem,omitempty"` 524 // AzureTableStorage - Application logs to azure table storage configuration. 525 AzureTableStorage *AzureTableStorageApplicationLogsConfig `json:"azureTableStorage,omitempty"` 526 // AzureBlobStorage - Application logs to blob storage configuration. 527 AzureBlobStorage *AzureBlobStorageApplicationLogsConfig `json:"azureBlobStorage,omitempty"` 528} 529 530// ApplicationStack application stack. 531type ApplicationStack struct { 532 // Name - Application stack name. 533 Name *string `json:"name,omitempty"` 534 // Display - Application stack display name. 535 Display *string `json:"display,omitempty"` 536 // Dependency - Application stack dependency. 537 Dependency *string `json:"dependency,omitempty"` 538 // MajorVersions - List of major versions available. 539 MajorVersions *[]StackMajorVersion `json:"majorVersions,omitempty"` 540 // Frameworks - List of frameworks associated with application stack. 541 Frameworks *[]ApplicationStack `json:"frameworks,omitempty"` 542} 543 544// ApplicationStackCollection collection of Application Stacks 545type ApplicationStackCollection struct { 546 autorest.Response `json:"-"` 547 // Value - Collection of resources. 548 Value *[]ApplicationStack `json:"value,omitempty"` 549 // NextLink - READ-ONLY; Link to next page of resources. 550 NextLink *string `json:"nextLink,omitempty"` 551} 552 553// MarshalJSON is the custom marshaler for ApplicationStackCollection. 554func (asc ApplicationStackCollection) MarshalJSON() ([]byte, error) { 555 objectMap := make(map[string]interface{}) 556 if asc.Value != nil { 557 objectMap["value"] = asc.Value 558 } 559 return json.Marshal(objectMap) 560} 561 562// ApplicationStackCollectionIterator provides access to a complete listing of ApplicationStack values. 563type ApplicationStackCollectionIterator struct { 564 i int 565 page ApplicationStackCollectionPage 566} 567 568// NextWithContext advances to the next value. If there was an error making 569// the request the iterator does not advance and the error is returned. 570func (iter *ApplicationStackCollectionIterator) NextWithContext(ctx context.Context) (err error) { 571 if tracing.IsEnabled() { 572 ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationStackCollectionIterator.NextWithContext") 573 defer func() { 574 sc := -1 575 if iter.Response().Response.Response != nil { 576 sc = iter.Response().Response.Response.StatusCode 577 } 578 tracing.EndSpan(ctx, sc, err) 579 }() 580 } 581 iter.i++ 582 if iter.i < len(iter.page.Values()) { 583 return nil 584 } 585 err = iter.page.NextWithContext(ctx) 586 if err != nil { 587 iter.i-- 588 return err 589 } 590 iter.i = 0 591 return nil 592} 593 594// Next advances to the next value. If there was an error making 595// the request the iterator does not advance and the error is returned. 596// Deprecated: Use NextWithContext() instead. 597func (iter *ApplicationStackCollectionIterator) Next() error { 598 return iter.NextWithContext(context.Background()) 599} 600 601// NotDone returns true if the enumeration should be started or is not yet complete. 602func (iter ApplicationStackCollectionIterator) NotDone() bool { 603 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 604} 605 606// Response returns the raw server response from the last page request. 607func (iter ApplicationStackCollectionIterator) Response() ApplicationStackCollection { 608 return iter.page.Response() 609} 610 611// Value returns the current value or a zero-initialized value if the 612// iterator has advanced beyond the end of the collection. 613func (iter ApplicationStackCollectionIterator) Value() ApplicationStack { 614 if !iter.page.NotDone() { 615 return ApplicationStack{} 616 } 617 return iter.page.Values()[iter.i] 618} 619 620// Creates a new instance of the ApplicationStackCollectionIterator type. 621func NewApplicationStackCollectionIterator(page ApplicationStackCollectionPage) ApplicationStackCollectionIterator { 622 return ApplicationStackCollectionIterator{page: page} 623} 624 625// IsEmpty returns true if the ListResult contains no values. 626func (asc ApplicationStackCollection) IsEmpty() bool { 627 return asc.Value == nil || len(*asc.Value) == 0 628} 629 630// hasNextLink returns true if the NextLink is not empty. 631func (asc ApplicationStackCollection) hasNextLink() bool { 632 return asc.NextLink != nil && len(*asc.NextLink) != 0 633} 634 635// applicationStackCollectionPreparer prepares a request to retrieve the next set of results. 636// It returns nil if no more results exist. 637func (asc ApplicationStackCollection) applicationStackCollectionPreparer(ctx context.Context) (*http.Request, error) { 638 if !asc.hasNextLink() { 639 return nil, nil 640 } 641 return autorest.Prepare((&http.Request{}).WithContext(ctx), 642 autorest.AsJSON(), 643 autorest.AsGet(), 644 autorest.WithBaseURL(to.String(asc.NextLink))) 645} 646 647// ApplicationStackCollectionPage contains a page of ApplicationStack values. 648type ApplicationStackCollectionPage struct { 649 fn func(context.Context, ApplicationStackCollection) (ApplicationStackCollection, error) 650 asc ApplicationStackCollection 651} 652 653// NextWithContext advances to the next page of values. If there was an error making 654// the request the page does not advance and the error is returned. 655func (page *ApplicationStackCollectionPage) NextWithContext(ctx context.Context) (err error) { 656 if tracing.IsEnabled() { 657 ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationStackCollectionPage.NextWithContext") 658 defer func() { 659 sc := -1 660 if page.Response().Response.Response != nil { 661 sc = page.Response().Response.Response.StatusCode 662 } 663 tracing.EndSpan(ctx, sc, err) 664 }() 665 } 666 for { 667 next, err := page.fn(ctx, page.asc) 668 if err != nil { 669 return err 670 } 671 page.asc = next 672 if !next.hasNextLink() || !next.IsEmpty() { 673 break 674 } 675 } 676 return nil 677} 678 679// Next advances to the next page of values. If there was an error making 680// the request the page does not advance and the error is returned. 681// Deprecated: Use NextWithContext() instead. 682func (page *ApplicationStackCollectionPage) Next() error { 683 return page.NextWithContext(context.Background()) 684} 685 686// NotDone returns true if the page enumeration should be started or is not yet complete. 687func (page ApplicationStackCollectionPage) NotDone() bool { 688 return !page.asc.IsEmpty() 689} 690 691// Response returns the raw server response from the last page request. 692func (page ApplicationStackCollectionPage) Response() ApplicationStackCollection { 693 return page.asc 694} 695 696// Values returns the slice of values for the current page or nil if there are no values. 697func (page ApplicationStackCollectionPage) Values() []ApplicationStack { 698 if page.asc.IsEmpty() { 699 return nil 700 } 701 return *page.asc.Value 702} 703 704// Creates a new instance of the ApplicationStackCollectionPage type. 705func NewApplicationStackCollectionPage(cur ApplicationStackCollection, getNextPage func(context.Context, ApplicationStackCollection) (ApplicationStackCollection, error)) ApplicationStackCollectionPage { 706 return ApplicationStackCollectionPage{ 707 fn: getNextPage, 708 asc: cur, 709 } 710} 711 712// AppsCreateFunctionFuture an abstraction for monitoring and retrieving the results of a long-running 713// operation. 714type AppsCreateFunctionFuture struct { 715 azure.FutureAPI 716 // Result returns the result of the asynchronous operation. 717 // If the operation has not completed it will return an error. 718 Result func(AppsClient) (FunctionEnvelope, error) 719} 720 721// UnmarshalJSON is the custom unmarshaller for CreateFuture. 722func (future *AppsCreateFunctionFuture) UnmarshalJSON(body []byte) error { 723 var azFuture azure.Future 724 if err := json.Unmarshal(body, &azFuture); err != nil { 725 return err 726 } 727 future.FutureAPI = &azFuture 728 future.Result = future.result 729 return nil 730} 731 732// result is the default implementation for AppsCreateFunctionFuture.Result. 733func (future *AppsCreateFunctionFuture) result(client AppsClient) (fe FunctionEnvelope, err error) { 734 var done bool 735 done, err = future.DoneWithContext(context.Background(), client) 736 if err != nil { 737 err = autorest.NewErrorWithError(err, "web.AppsCreateFunctionFuture", "Result", future.Response(), "Polling failure") 738 return 739 } 740 if !done { 741 fe.Response.Response = future.Response() 742 err = azure.NewAsyncOpIncompleteError("web.AppsCreateFunctionFuture") 743 return 744 } 745 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 746 if fe.Response.Response, err = future.GetResult(sender); err == nil && fe.Response.Response.StatusCode != http.StatusNoContent { 747 fe, err = client.CreateFunctionResponder(fe.Response.Response) 748 if err != nil { 749 err = autorest.NewErrorWithError(err, "web.AppsCreateFunctionFuture", "Result", fe.Response.Response, "Failure responding to request") 750 } 751 } 752 return 753} 754 755// AppsCreateInstanceFunctionSlotFuture an abstraction for monitoring and retrieving the results of a 756// long-running operation. 757type AppsCreateInstanceFunctionSlotFuture struct { 758 azure.FutureAPI 759 // Result returns the result of the asynchronous operation. 760 // If the operation has not completed it will return an error. 761 Result func(AppsClient) (FunctionEnvelope, error) 762} 763 764// UnmarshalJSON is the custom unmarshaller for CreateFuture. 765func (future *AppsCreateInstanceFunctionSlotFuture) UnmarshalJSON(body []byte) error { 766 var azFuture azure.Future 767 if err := json.Unmarshal(body, &azFuture); err != nil { 768 return err 769 } 770 future.FutureAPI = &azFuture 771 future.Result = future.result 772 return nil 773} 774 775// result is the default implementation for AppsCreateInstanceFunctionSlotFuture.Result. 776func (future *AppsCreateInstanceFunctionSlotFuture) result(client AppsClient) (fe FunctionEnvelope, err error) { 777 var done bool 778 done, err = future.DoneWithContext(context.Background(), client) 779 if err != nil { 780 err = autorest.NewErrorWithError(err, "web.AppsCreateInstanceFunctionSlotFuture", "Result", future.Response(), "Polling failure") 781 return 782 } 783 if !done { 784 fe.Response.Response = future.Response() 785 err = azure.NewAsyncOpIncompleteError("web.AppsCreateInstanceFunctionSlotFuture") 786 return 787 } 788 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 789 if fe.Response.Response, err = future.GetResult(sender); err == nil && fe.Response.Response.StatusCode != http.StatusNoContent { 790 fe, err = client.CreateInstanceFunctionSlotResponder(fe.Response.Response) 791 if err != nil { 792 err = autorest.NewErrorWithError(err, "web.AppsCreateInstanceFunctionSlotFuture", "Result", fe.Response.Response, "Failure responding to request") 793 } 794 } 795 return 796} 797 798// AppsCreateInstanceMSDeployOperationFuture an abstraction for monitoring and retrieving the results of a 799// long-running operation. 800type AppsCreateInstanceMSDeployOperationFuture struct { 801 azure.FutureAPI 802 // Result returns the result of the asynchronous operation. 803 // If the operation has not completed it will return an error. 804 Result func(AppsClient) (MSDeployStatus, error) 805} 806 807// UnmarshalJSON is the custom unmarshaller for CreateFuture. 808func (future *AppsCreateInstanceMSDeployOperationFuture) UnmarshalJSON(body []byte) error { 809 var azFuture azure.Future 810 if err := json.Unmarshal(body, &azFuture); err != nil { 811 return err 812 } 813 future.FutureAPI = &azFuture 814 future.Result = future.result 815 return nil 816} 817 818// result is the default implementation for AppsCreateInstanceMSDeployOperationFuture.Result. 819func (future *AppsCreateInstanceMSDeployOperationFuture) result(client AppsClient) (mds MSDeployStatus, err error) { 820 var done bool 821 done, err = future.DoneWithContext(context.Background(), client) 822 if err != nil { 823 err = autorest.NewErrorWithError(err, "web.AppsCreateInstanceMSDeployOperationFuture", "Result", future.Response(), "Polling failure") 824 return 825 } 826 if !done { 827 mds.Response.Response = future.Response() 828 err = azure.NewAsyncOpIncompleteError("web.AppsCreateInstanceMSDeployOperationFuture") 829 return 830 } 831 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 832 if mds.Response.Response, err = future.GetResult(sender); err == nil && mds.Response.Response.StatusCode != http.StatusNoContent { 833 mds, err = client.CreateInstanceMSDeployOperationResponder(mds.Response.Response) 834 if err != nil { 835 err = autorest.NewErrorWithError(err, "web.AppsCreateInstanceMSDeployOperationFuture", "Result", mds.Response.Response, "Failure responding to request") 836 } 837 } 838 return 839} 840 841// AppsCreateInstanceMSDeployOperationSlotFuture an abstraction for monitoring and retrieving the results 842// of a long-running operation. 843type AppsCreateInstanceMSDeployOperationSlotFuture struct { 844 azure.FutureAPI 845 // Result returns the result of the asynchronous operation. 846 // If the operation has not completed it will return an error. 847 Result func(AppsClient) (MSDeployStatus, error) 848} 849 850// UnmarshalJSON is the custom unmarshaller for CreateFuture. 851func (future *AppsCreateInstanceMSDeployOperationSlotFuture) UnmarshalJSON(body []byte) error { 852 var azFuture azure.Future 853 if err := json.Unmarshal(body, &azFuture); err != nil { 854 return err 855 } 856 future.FutureAPI = &azFuture 857 future.Result = future.result 858 return nil 859} 860 861// result is the default implementation for AppsCreateInstanceMSDeployOperationSlotFuture.Result. 862func (future *AppsCreateInstanceMSDeployOperationSlotFuture) result(client AppsClient) (mds MSDeployStatus, err error) { 863 var done bool 864 done, err = future.DoneWithContext(context.Background(), client) 865 if err != nil { 866 err = autorest.NewErrorWithError(err, "web.AppsCreateInstanceMSDeployOperationSlotFuture", "Result", future.Response(), "Polling failure") 867 return 868 } 869 if !done { 870 mds.Response.Response = future.Response() 871 err = azure.NewAsyncOpIncompleteError("web.AppsCreateInstanceMSDeployOperationSlotFuture") 872 return 873 } 874 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 875 if mds.Response.Response, err = future.GetResult(sender); err == nil && mds.Response.Response.StatusCode != http.StatusNoContent { 876 mds, err = client.CreateInstanceMSDeployOperationSlotResponder(mds.Response.Response) 877 if err != nil { 878 err = autorest.NewErrorWithError(err, "web.AppsCreateInstanceMSDeployOperationSlotFuture", "Result", mds.Response.Response, "Failure responding to request") 879 } 880 } 881 return 882} 883 884// AppsCreateMSDeployOperationFuture an abstraction for monitoring and retrieving the results of a 885// long-running operation. 886type AppsCreateMSDeployOperationFuture struct { 887 azure.FutureAPI 888 // Result returns the result of the asynchronous operation. 889 // If the operation has not completed it will return an error. 890 Result func(AppsClient) (MSDeployStatus, error) 891} 892 893// UnmarshalJSON is the custom unmarshaller for CreateFuture. 894func (future *AppsCreateMSDeployOperationFuture) UnmarshalJSON(body []byte) error { 895 var azFuture azure.Future 896 if err := json.Unmarshal(body, &azFuture); err != nil { 897 return err 898 } 899 future.FutureAPI = &azFuture 900 future.Result = future.result 901 return nil 902} 903 904// result is the default implementation for AppsCreateMSDeployOperationFuture.Result. 905func (future *AppsCreateMSDeployOperationFuture) result(client AppsClient) (mds MSDeployStatus, err error) { 906 var done bool 907 done, err = future.DoneWithContext(context.Background(), client) 908 if err != nil { 909 err = autorest.NewErrorWithError(err, "web.AppsCreateMSDeployOperationFuture", "Result", future.Response(), "Polling failure") 910 return 911 } 912 if !done { 913 mds.Response.Response = future.Response() 914 err = azure.NewAsyncOpIncompleteError("web.AppsCreateMSDeployOperationFuture") 915 return 916 } 917 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 918 if mds.Response.Response, err = future.GetResult(sender); err == nil && mds.Response.Response.StatusCode != http.StatusNoContent { 919 mds, err = client.CreateMSDeployOperationResponder(mds.Response.Response) 920 if err != nil { 921 err = autorest.NewErrorWithError(err, "web.AppsCreateMSDeployOperationFuture", "Result", mds.Response.Response, "Failure responding to request") 922 } 923 } 924 return 925} 926 927// AppsCreateMSDeployOperationSlotFuture an abstraction for monitoring and retrieving the results of a 928// long-running operation. 929type AppsCreateMSDeployOperationSlotFuture struct { 930 azure.FutureAPI 931 // Result returns the result of the asynchronous operation. 932 // If the operation has not completed it will return an error. 933 Result func(AppsClient) (MSDeployStatus, error) 934} 935 936// UnmarshalJSON is the custom unmarshaller for CreateFuture. 937func (future *AppsCreateMSDeployOperationSlotFuture) UnmarshalJSON(body []byte) error { 938 var azFuture azure.Future 939 if err := json.Unmarshal(body, &azFuture); err != nil { 940 return err 941 } 942 future.FutureAPI = &azFuture 943 future.Result = future.result 944 return nil 945} 946 947// result is the default implementation for AppsCreateMSDeployOperationSlotFuture.Result. 948func (future *AppsCreateMSDeployOperationSlotFuture) result(client AppsClient) (mds MSDeployStatus, err error) { 949 var done bool 950 done, err = future.DoneWithContext(context.Background(), client) 951 if err != nil { 952 err = autorest.NewErrorWithError(err, "web.AppsCreateMSDeployOperationSlotFuture", "Result", future.Response(), "Polling failure") 953 return 954 } 955 if !done { 956 mds.Response.Response = future.Response() 957 err = azure.NewAsyncOpIncompleteError("web.AppsCreateMSDeployOperationSlotFuture") 958 return 959 } 960 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 961 if mds.Response.Response, err = future.GetResult(sender); err == nil && mds.Response.Response.StatusCode != http.StatusNoContent { 962 mds, err = client.CreateMSDeployOperationSlotResponder(mds.Response.Response) 963 if err != nil { 964 err = autorest.NewErrorWithError(err, "web.AppsCreateMSDeployOperationSlotFuture", "Result", mds.Response.Response, "Failure responding to request") 965 } 966 } 967 return 968} 969 970// AppsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a long-running 971// operation. 972type AppsCreateOrUpdateFuture struct { 973 azure.FutureAPI 974 // Result returns the result of the asynchronous operation. 975 // If the operation has not completed it will return an error. 976 Result func(AppsClient) (Site, error) 977} 978 979// UnmarshalJSON is the custom unmarshaller for CreateFuture. 980func (future *AppsCreateOrUpdateFuture) UnmarshalJSON(body []byte) error { 981 var azFuture azure.Future 982 if err := json.Unmarshal(body, &azFuture); err != nil { 983 return err 984 } 985 future.FutureAPI = &azFuture 986 future.Result = future.result 987 return nil 988} 989 990// result is the default implementation for AppsCreateOrUpdateFuture.Result. 991func (future *AppsCreateOrUpdateFuture) result(client AppsClient) (s Site, err error) { 992 var done bool 993 done, err = future.DoneWithContext(context.Background(), client) 994 if err != nil { 995 err = autorest.NewErrorWithError(err, "web.AppsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") 996 return 997 } 998 if !done { 999 s.Response.Response = future.Response() 1000 err = azure.NewAsyncOpIncompleteError("web.AppsCreateOrUpdateFuture") 1001 return 1002 } 1003 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 1004 if s.Response.Response, err = future.GetResult(sender); err == nil && s.Response.Response.StatusCode != http.StatusNoContent { 1005 s, err = client.CreateOrUpdateResponder(s.Response.Response) 1006 if err != nil { 1007 err = autorest.NewErrorWithError(err, "web.AppsCreateOrUpdateFuture", "Result", s.Response.Response, "Failure responding to request") 1008 } 1009 } 1010 return 1011} 1012 1013// AppsCreateOrUpdateSlotFuture an abstraction for monitoring and retrieving the results of a long-running 1014// operation. 1015type AppsCreateOrUpdateSlotFuture struct { 1016 azure.FutureAPI 1017 // Result returns the result of the asynchronous operation. 1018 // If the operation has not completed it will return an error. 1019 Result func(AppsClient) (Site, error) 1020} 1021 1022// UnmarshalJSON is the custom unmarshaller for CreateFuture. 1023func (future *AppsCreateOrUpdateSlotFuture) UnmarshalJSON(body []byte) error { 1024 var azFuture azure.Future 1025 if err := json.Unmarshal(body, &azFuture); err != nil { 1026 return err 1027 } 1028 future.FutureAPI = &azFuture 1029 future.Result = future.result 1030 return nil 1031} 1032 1033// result is the default implementation for AppsCreateOrUpdateSlotFuture.Result. 1034func (future *AppsCreateOrUpdateSlotFuture) result(client AppsClient) (s Site, err error) { 1035 var done bool 1036 done, err = future.DoneWithContext(context.Background(), client) 1037 if err != nil { 1038 err = autorest.NewErrorWithError(err, "web.AppsCreateOrUpdateSlotFuture", "Result", future.Response(), "Polling failure") 1039 return 1040 } 1041 if !done { 1042 s.Response.Response = future.Response() 1043 err = azure.NewAsyncOpIncompleteError("web.AppsCreateOrUpdateSlotFuture") 1044 return 1045 } 1046 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 1047 if s.Response.Response, err = future.GetResult(sender); err == nil && s.Response.Response.StatusCode != http.StatusNoContent { 1048 s, err = client.CreateOrUpdateSlotResponder(s.Response.Response) 1049 if err != nil { 1050 err = autorest.NewErrorWithError(err, "web.AppsCreateOrUpdateSlotFuture", "Result", s.Response.Response, "Failure responding to request") 1051 } 1052 } 1053 return 1054} 1055 1056// AppsCreateOrUpdateSourceControlFuture an abstraction for monitoring and retrieving the results of a 1057// long-running operation. 1058type AppsCreateOrUpdateSourceControlFuture struct { 1059 azure.FutureAPI 1060 // Result returns the result of the asynchronous operation. 1061 // If the operation has not completed it will return an error. 1062 Result func(AppsClient) (SiteSourceControl, error) 1063} 1064 1065// UnmarshalJSON is the custom unmarshaller for CreateFuture. 1066func (future *AppsCreateOrUpdateSourceControlFuture) UnmarshalJSON(body []byte) error { 1067 var azFuture azure.Future 1068 if err := json.Unmarshal(body, &azFuture); err != nil { 1069 return err 1070 } 1071 future.FutureAPI = &azFuture 1072 future.Result = future.result 1073 return nil 1074} 1075 1076// result is the default implementation for AppsCreateOrUpdateSourceControlFuture.Result. 1077func (future *AppsCreateOrUpdateSourceControlFuture) result(client AppsClient) (ssc SiteSourceControl, err error) { 1078 var done bool 1079 done, err = future.DoneWithContext(context.Background(), client) 1080 if err != nil { 1081 err = autorest.NewErrorWithError(err, "web.AppsCreateOrUpdateSourceControlFuture", "Result", future.Response(), "Polling failure") 1082 return 1083 } 1084 if !done { 1085 ssc.Response.Response = future.Response() 1086 err = azure.NewAsyncOpIncompleteError("web.AppsCreateOrUpdateSourceControlFuture") 1087 return 1088 } 1089 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 1090 if ssc.Response.Response, err = future.GetResult(sender); err == nil && ssc.Response.Response.StatusCode != http.StatusNoContent { 1091 ssc, err = client.CreateOrUpdateSourceControlResponder(ssc.Response.Response) 1092 if err != nil { 1093 err = autorest.NewErrorWithError(err, "web.AppsCreateOrUpdateSourceControlFuture", "Result", ssc.Response.Response, "Failure responding to request") 1094 } 1095 } 1096 return 1097} 1098 1099// AppsCreateOrUpdateSourceControlSlotFuture an abstraction for monitoring and retrieving the results of a 1100// long-running operation. 1101type AppsCreateOrUpdateSourceControlSlotFuture struct { 1102 azure.FutureAPI 1103 // Result returns the result of the asynchronous operation. 1104 // If the operation has not completed it will return an error. 1105 Result func(AppsClient) (SiteSourceControl, error) 1106} 1107 1108// UnmarshalJSON is the custom unmarshaller for CreateFuture. 1109func (future *AppsCreateOrUpdateSourceControlSlotFuture) UnmarshalJSON(body []byte) error { 1110 var azFuture azure.Future 1111 if err := json.Unmarshal(body, &azFuture); err != nil { 1112 return err 1113 } 1114 future.FutureAPI = &azFuture 1115 future.Result = future.result 1116 return nil 1117} 1118 1119// result is the default implementation for AppsCreateOrUpdateSourceControlSlotFuture.Result. 1120func (future *AppsCreateOrUpdateSourceControlSlotFuture) result(client AppsClient) (ssc SiteSourceControl, err error) { 1121 var done bool 1122 done, err = future.DoneWithContext(context.Background(), client) 1123 if err != nil { 1124 err = autorest.NewErrorWithError(err, "web.AppsCreateOrUpdateSourceControlSlotFuture", "Result", future.Response(), "Polling failure") 1125 return 1126 } 1127 if !done { 1128 ssc.Response.Response = future.Response() 1129 err = azure.NewAsyncOpIncompleteError("web.AppsCreateOrUpdateSourceControlSlotFuture") 1130 return 1131 } 1132 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 1133 if ssc.Response.Response, err = future.GetResult(sender); err == nil && ssc.Response.Response.StatusCode != http.StatusNoContent { 1134 ssc, err = client.CreateOrUpdateSourceControlSlotResponder(ssc.Response.Response) 1135 if err != nil { 1136 err = autorest.NewErrorWithError(err, "web.AppsCreateOrUpdateSourceControlSlotFuture", "Result", ssc.Response.Response, "Failure responding to request") 1137 } 1138 } 1139 return 1140} 1141 1142// AppServiceCertificate key Vault container for a certificate that is purchased through Azure. 1143type AppServiceCertificate struct { 1144 // KeyVaultID - Key Vault resource Id. 1145 KeyVaultID *string `json:"keyVaultId,omitempty"` 1146 // KeyVaultSecretName - Key Vault secret name. 1147 KeyVaultSecretName *string `json:"keyVaultSecretName,omitempty"` 1148 // ProvisioningState - READ-ONLY; Status of the Key Vault secret. Possible values include: 'KeyVaultSecretStatusInitialized', 'KeyVaultSecretStatusWaitingOnCertificateOrder', 'KeyVaultSecretStatusSucceeded', 'KeyVaultSecretStatusCertificateOrderFailed', 'KeyVaultSecretStatusOperationNotPermittedOnKeyVault', 'KeyVaultSecretStatusAzureServiceUnauthorizedToAccessKeyVault', 'KeyVaultSecretStatusKeyVaultDoesNotExist', 'KeyVaultSecretStatusKeyVaultSecretDoesNotExist', 'KeyVaultSecretStatusUnknownError', 'KeyVaultSecretStatusExternalPrivateKey', 'KeyVaultSecretStatusUnknown' 1149 ProvisioningState KeyVaultSecretStatus `json:"provisioningState,omitempty"` 1150} 1151 1152// MarshalJSON is the custom marshaler for AppServiceCertificate. 1153func (asc AppServiceCertificate) MarshalJSON() ([]byte, error) { 1154 objectMap := make(map[string]interface{}) 1155 if asc.KeyVaultID != nil { 1156 objectMap["keyVaultId"] = asc.KeyVaultID 1157 } 1158 if asc.KeyVaultSecretName != nil { 1159 objectMap["keyVaultSecretName"] = asc.KeyVaultSecretName 1160 } 1161 return json.Marshal(objectMap) 1162} 1163 1164// AppServiceCertificateCollection collection of certificate order certificates. 1165type AppServiceCertificateCollection struct { 1166 autorest.Response `json:"-"` 1167 // Value - Collection of resources. 1168 Value *[]AppServiceCertificateResource `json:"value,omitempty"` 1169 // NextLink - READ-ONLY; Link to next page of resources. 1170 NextLink *string `json:"nextLink,omitempty"` 1171} 1172 1173// MarshalJSON is the custom marshaler for AppServiceCertificateCollection. 1174func (ascc AppServiceCertificateCollection) MarshalJSON() ([]byte, error) { 1175 objectMap := make(map[string]interface{}) 1176 if ascc.Value != nil { 1177 objectMap["value"] = ascc.Value 1178 } 1179 return json.Marshal(objectMap) 1180} 1181 1182// AppServiceCertificateCollectionIterator provides access to a complete listing of 1183// AppServiceCertificateResource values. 1184type AppServiceCertificateCollectionIterator struct { 1185 i int 1186 page AppServiceCertificateCollectionPage 1187} 1188 1189// NextWithContext advances to the next value. If there was an error making 1190// the request the iterator does not advance and the error is returned. 1191func (iter *AppServiceCertificateCollectionIterator) NextWithContext(ctx context.Context) (err error) { 1192 if tracing.IsEnabled() { 1193 ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceCertificateCollectionIterator.NextWithContext") 1194 defer func() { 1195 sc := -1 1196 if iter.Response().Response.Response != nil { 1197 sc = iter.Response().Response.Response.StatusCode 1198 } 1199 tracing.EndSpan(ctx, sc, err) 1200 }() 1201 } 1202 iter.i++ 1203 if iter.i < len(iter.page.Values()) { 1204 return nil 1205 } 1206 err = iter.page.NextWithContext(ctx) 1207 if err != nil { 1208 iter.i-- 1209 return err 1210 } 1211 iter.i = 0 1212 return nil 1213} 1214 1215// Next advances to the next value. If there was an error making 1216// the request the iterator does not advance and the error is returned. 1217// Deprecated: Use NextWithContext() instead. 1218func (iter *AppServiceCertificateCollectionIterator) Next() error { 1219 return iter.NextWithContext(context.Background()) 1220} 1221 1222// NotDone returns true if the enumeration should be started or is not yet complete. 1223func (iter AppServiceCertificateCollectionIterator) NotDone() bool { 1224 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 1225} 1226 1227// Response returns the raw server response from the last page request. 1228func (iter AppServiceCertificateCollectionIterator) Response() AppServiceCertificateCollection { 1229 return iter.page.Response() 1230} 1231 1232// Value returns the current value or a zero-initialized value if the 1233// iterator has advanced beyond the end of the collection. 1234func (iter AppServiceCertificateCollectionIterator) Value() AppServiceCertificateResource { 1235 if !iter.page.NotDone() { 1236 return AppServiceCertificateResource{} 1237 } 1238 return iter.page.Values()[iter.i] 1239} 1240 1241// Creates a new instance of the AppServiceCertificateCollectionIterator type. 1242func NewAppServiceCertificateCollectionIterator(page AppServiceCertificateCollectionPage) AppServiceCertificateCollectionIterator { 1243 return AppServiceCertificateCollectionIterator{page: page} 1244} 1245 1246// IsEmpty returns true if the ListResult contains no values. 1247func (ascc AppServiceCertificateCollection) IsEmpty() bool { 1248 return ascc.Value == nil || len(*ascc.Value) == 0 1249} 1250 1251// hasNextLink returns true if the NextLink is not empty. 1252func (ascc AppServiceCertificateCollection) hasNextLink() bool { 1253 return ascc.NextLink != nil && len(*ascc.NextLink) != 0 1254} 1255 1256// appServiceCertificateCollectionPreparer prepares a request to retrieve the next set of results. 1257// It returns nil if no more results exist. 1258func (ascc AppServiceCertificateCollection) appServiceCertificateCollectionPreparer(ctx context.Context) (*http.Request, error) { 1259 if !ascc.hasNextLink() { 1260 return nil, nil 1261 } 1262 return autorest.Prepare((&http.Request{}).WithContext(ctx), 1263 autorest.AsJSON(), 1264 autorest.AsGet(), 1265 autorest.WithBaseURL(to.String(ascc.NextLink))) 1266} 1267 1268// AppServiceCertificateCollectionPage contains a page of AppServiceCertificateResource values. 1269type AppServiceCertificateCollectionPage struct { 1270 fn func(context.Context, AppServiceCertificateCollection) (AppServiceCertificateCollection, error) 1271 ascc AppServiceCertificateCollection 1272} 1273 1274// NextWithContext advances to the next page of values. If there was an error making 1275// the request the page does not advance and the error is returned. 1276func (page *AppServiceCertificateCollectionPage) NextWithContext(ctx context.Context) (err error) { 1277 if tracing.IsEnabled() { 1278 ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceCertificateCollectionPage.NextWithContext") 1279 defer func() { 1280 sc := -1 1281 if page.Response().Response.Response != nil { 1282 sc = page.Response().Response.Response.StatusCode 1283 } 1284 tracing.EndSpan(ctx, sc, err) 1285 }() 1286 } 1287 for { 1288 next, err := page.fn(ctx, page.ascc) 1289 if err != nil { 1290 return err 1291 } 1292 page.ascc = next 1293 if !next.hasNextLink() || !next.IsEmpty() { 1294 break 1295 } 1296 } 1297 return nil 1298} 1299 1300// Next advances to the next page of values. If there was an error making 1301// the request the page does not advance and the error is returned. 1302// Deprecated: Use NextWithContext() instead. 1303func (page *AppServiceCertificateCollectionPage) Next() error { 1304 return page.NextWithContext(context.Background()) 1305} 1306 1307// NotDone returns true if the page enumeration should be started or is not yet complete. 1308func (page AppServiceCertificateCollectionPage) NotDone() bool { 1309 return !page.ascc.IsEmpty() 1310} 1311 1312// Response returns the raw server response from the last page request. 1313func (page AppServiceCertificateCollectionPage) Response() AppServiceCertificateCollection { 1314 return page.ascc 1315} 1316 1317// Values returns the slice of values for the current page or nil if there are no values. 1318func (page AppServiceCertificateCollectionPage) Values() []AppServiceCertificateResource { 1319 if page.ascc.IsEmpty() { 1320 return nil 1321 } 1322 return *page.ascc.Value 1323} 1324 1325// Creates a new instance of the AppServiceCertificateCollectionPage type. 1326func NewAppServiceCertificateCollectionPage(cur AppServiceCertificateCollection, getNextPage func(context.Context, AppServiceCertificateCollection) (AppServiceCertificateCollection, error)) AppServiceCertificateCollectionPage { 1327 return AppServiceCertificateCollectionPage{ 1328 fn: getNextPage, 1329 ascc: cur, 1330 } 1331} 1332 1333// AppServiceCertificateOrder SSL certificate purchase order. 1334type AppServiceCertificateOrder struct { 1335 autorest.Response `json:"-"` 1336 // AppServiceCertificateOrderProperties - AppServiceCertificateOrder resource specific properties 1337 *AppServiceCertificateOrderProperties `json:"properties,omitempty"` 1338 // ID - READ-ONLY; Resource Id. 1339 ID *string `json:"id,omitempty"` 1340 // Name - READ-ONLY; Resource Name. 1341 Name *string `json:"name,omitempty"` 1342 // Kind - Kind of resource. 1343 Kind *string `json:"kind,omitempty"` 1344 // Location - Resource Location. 1345 Location *string `json:"location,omitempty"` 1346 // Type - READ-ONLY; Resource type. 1347 Type *string `json:"type,omitempty"` 1348 // Tags - Resource tags. 1349 Tags map[string]*string `json:"tags"` 1350} 1351 1352// MarshalJSON is the custom marshaler for AppServiceCertificateOrder. 1353func (asco AppServiceCertificateOrder) MarshalJSON() ([]byte, error) { 1354 objectMap := make(map[string]interface{}) 1355 if asco.AppServiceCertificateOrderProperties != nil { 1356 objectMap["properties"] = asco.AppServiceCertificateOrderProperties 1357 } 1358 if asco.Kind != nil { 1359 objectMap["kind"] = asco.Kind 1360 } 1361 if asco.Location != nil { 1362 objectMap["location"] = asco.Location 1363 } 1364 if asco.Tags != nil { 1365 objectMap["tags"] = asco.Tags 1366 } 1367 return json.Marshal(objectMap) 1368} 1369 1370// UnmarshalJSON is the custom unmarshaler for AppServiceCertificateOrder struct. 1371func (asco *AppServiceCertificateOrder) UnmarshalJSON(body []byte) error { 1372 var m map[string]*json.RawMessage 1373 err := json.Unmarshal(body, &m) 1374 if err != nil { 1375 return err 1376 } 1377 for k, v := range m { 1378 switch k { 1379 case "properties": 1380 if v != nil { 1381 var appServiceCertificateOrderProperties AppServiceCertificateOrderProperties 1382 err = json.Unmarshal(*v, &appServiceCertificateOrderProperties) 1383 if err != nil { 1384 return err 1385 } 1386 asco.AppServiceCertificateOrderProperties = &appServiceCertificateOrderProperties 1387 } 1388 case "id": 1389 if v != nil { 1390 var ID string 1391 err = json.Unmarshal(*v, &ID) 1392 if err != nil { 1393 return err 1394 } 1395 asco.ID = &ID 1396 } 1397 case "name": 1398 if v != nil { 1399 var name string 1400 err = json.Unmarshal(*v, &name) 1401 if err != nil { 1402 return err 1403 } 1404 asco.Name = &name 1405 } 1406 case "kind": 1407 if v != nil { 1408 var kind string 1409 err = json.Unmarshal(*v, &kind) 1410 if err != nil { 1411 return err 1412 } 1413 asco.Kind = &kind 1414 } 1415 case "location": 1416 if v != nil { 1417 var location string 1418 err = json.Unmarshal(*v, &location) 1419 if err != nil { 1420 return err 1421 } 1422 asco.Location = &location 1423 } 1424 case "type": 1425 if v != nil { 1426 var typeVar string 1427 err = json.Unmarshal(*v, &typeVar) 1428 if err != nil { 1429 return err 1430 } 1431 asco.Type = &typeVar 1432 } 1433 case "tags": 1434 if v != nil { 1435 var tags map[string]*string 1436 err = json.Unmarshal(*v, &tags) 1437 if err != nil { 1438 return err 1439 } 1440 asco.Tags = tags 1441 } 1442 } 1443 } 1444 1445 return nil 1446} 1447 1448// AppServiceCertificateOrderCollection collection of certificate orders. 1449type AppServiceCertificateOrderCollection struct { 1450 autorest.Response `json:"-"` 1451 // Value - Collection of resources. 1452 Value *[]AppServiceCertificateOrder `json:"value,omitempty"` 1453 // NextLink - READ-ONLY; Link to next page of resources. 1454 NextLink *string `json:"nextLink,omitempty"` 1455} 1456 1457// MarshalJSON is the custom marshaler for AppServiceCertificateOrderCollection. 1458func (ascoc AppServiceCertificateOrderCollection) MarshalJSON() ([]byte, error) { 1459 objectMap := make(map[string]interface{}) 1460 if ascoc.Value != nil { 1461 objectMap["value"] = ascoc.Value 1462 } 1463 return json.Marshal(objectMap) 1464} 1465 1466// AppServiceCertificateOrderCollectionIterator provides access to a complete listing of 1467// AppServiceCertificateOrder values. 1468type AppServiceCertificateOrderCollectionIterator struct { 1469 i int 1470 page AppServiceCertificateOrderCollectionPage 1471} 1472 1473// NextWithContext advances to the next value. If there was an error making 1474// the request the iterator does not advance and the error is returned. 1475func (iter *AppServiceCertificateOrderCollectionIterator) NextWithContext(ctx context.Context) (err error) { 1476 if tracing.IsEnabled() { 1477 ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceCertificateOrderCollectionIterator.NextWithContext") 1478 defer func() { 1479 sc := -1 1480 if iter.Response().Response.Response != nil { 1481 sc = iter.Response().Response.Response.StatusCode 1482 } 1483 tracing.EndSpan(ctx, sc, err) 1484 }() 1485 } 1486 iter.i++ 1487 if iter.i < len(iter.page.Values()) { 1488 return nil 1489 } 1490 err = iter.page.NextWithContext(ctx) 1491 if err != nil { 1492 iter.i-- 1493 return err 1494 } 1495 iter.i = 0 1496 return nil 1497} 1498 1499// Next advances to the next value. If there was an error making 1500// the request the iterator does not advance and the error is returned. 1501// Deprecated: Use NextWithContext() instead. 1502func (iter *AppServiceCertificateOrderCollectionIterator) Next() error { 1503 return iter.NextWithContext(context.Background()) 1504} 1505 1506// NotDone returns true if the enumeration should be started or is not yet complete. 1507func (iter AppServiceCertificateOrderCollectionIterator) NotDone() bool { 1508 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 1509} 1510 1511// Response returns the raw server response from the last page request. 1512func (iter AppServiceCertificateOrderCollectionIterator) Response() AppServiceCertificateOrderCollection { 1513 return iter.page.Response() 1514} 1515 1516// Value returns the current value or a zero-initialized value if the 1517// iterator has advanced beyond the end of the collection. 1518func (iter AppServiceCertificateOrderCollectionIterator) Value() AppServiceCertificateOrder { 1519 if !iter.page.NotDone() { 1520 return AppServiceCertificateOrder{} 1521 } 1522 return iter.page.Values()[iter.i] 1523} 1524 1525// Creates a new instance of the AppServiceCertificateOrderCollectionIterator type. 1526func NewAppServiceCertificateOrderCollectionIterator(page AppServiceCertificateOrderCollectionPage) AppServiceCertificateOrderCollectionIterator { 1527 return AppServiceCertificateOrderCollectionIterator{page: page} 1528} 1529 1530// IsEmpty returns true if the ListResult contains no values. 1531func (ascoc AppServiceCertificateOrderCollection) IsEmpty() bool { 1532 return ascoc.Value == nil || len(*ascoc.Value) == 0 1533} 1534 1535// hasNextLink returns true if the NextLink is not empty. 1536func (ascoc AppServiceCertificateOrderCollection) hasNextLink() bool { 1537 return ascoc.NextLink != nil && len(*ascoc.NextLink) != 0 1538} 1539 1540// appServiceCertificateOrderCollectionPreparer prepares a request to retrieve the next set of results. 1541// It returns nil if no more results exist. 1542func (ascoc AppServiceCertificateOrderCollection) appServiceCertificateOrderCollectionPreparer(ctx context.Context) (*http.Request, error) { 1543 if !ascoc.hasNextLink() { 1544 return nil, nil 1545 } 1546 return autorest.Prepare((&http.Request{}).WithContext(ctx), 1547 autorest.AsJSON(), 1548 autorest.AsGet(), 1549 autorest.WithBaseURL(to.String(ascoc.NextLink))) 1550} 1551 1552// AppServiceCertificateOrderCollectionPage contains a page of AppServiceCertificateOrder values. 1553type AppServiceCertificateOrderCollectionPage struct { 1554 fn func(context.Context, AppServiceCertificateOrderCollection) (AppServiceCertificateOrderCollection, error) 1555 ascoc AppServiceCertificateOrderCollection 1556} 1557 1558// NextWithContext advances to the next page of values. If there was an error making 1559// the request the page does not advance and the error is returned. 1560func (page *AppServiceCertificateOrderCollectionPage) NextWithContext(ctx context.Context) (err error) { 1561 if tracing.IsEnabled() { 1562 ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceCertificateOrderCollectionPage.NextWithContext") 1563 defer func() { 1564 sc := -1 1565 if page.Response().Response.Response != nil { 1566 sc = page.Response().Response.Response.StatusCode 1567 } 1568 tracing.EndSpan(ctx, sc, err) 1569 }() 1570 } 1571 for { 1572 next, err := page.fn(ctx, page.ascoc) 1573 if err != nil { 1574 return err 1575 } 1576 page.ascoc = next 1577 if !next.hasNextLink() || !next.IsEmpty() { 1578 break 1579 } 1580 } 1581 return nil 1582} 1583 1584// Next advances to the next page of values. If there was an error making 1585// the request the page does not advance and the error is returned. 1586// Deprecated: Use NextWithContext() instead. 1587func (page *AppServiceCertificateOrderCollectionPage) Next() error { 1588 return page.NextWithContext(context.Background()) 1589} 1590 1591// NotDone returns true if the page enumeration should be started or is not yet complete. 1592func (page AppServiceCertificateOrderCollectionPage) NotDone() bool { 1593 return !page.ascoc.IsEmpty() 1594} 1595 1596// Response returns the raw server response from the last page request. 1597func (page AppServiceCertificateOrderCollectionPage) Response() AppServiceCertificateOrderCollection { 1598 return page.ascoc 1599} 1600 1601// Values returns the slice of values for the current page or nil if there are no values. 1602func (page AppServiceCertificateOrderCollectionPage) Values() []AppServiceCertificateOrder { 1603 if page.ascoc.IsEmpty() { 1604 return nil 1605 } 1606 return *page.ascoc.Value 1607} 1608 1609// Creates a new instance of the AppServiceCertificateOrderCollectionPage type. 1610func NewAppServiceCertificateOrderCollectionPage(cur AppServiceCertificateOrderCollection, getNextPage func(context.Context, AppServiceCertificateOrderCollection) (AppServiceCertificateOrderCollection, error)) AppServiceCertificateOrderCollectionPage { 1611 return AppServiceCertificateOrderCollectionPage{ 1612 fn: getNextPage, 1613 ascoc: cur, 1614 } 1615} 1616 1617// AppServiceCertificateOrderPatchResource ARM resource for a certificate order that is purchased through 1618// Azure. 1619type AppServiceCertificateOrderPatchResource struct { 1620 // AppServiceCertificateOrderPatchResourceProperties - AppServiceCertificateOrderPatchResource resource specific properties 1621 *AppServiceCertificateOrderPatchResourceProperties `json:"properties,omitempty"` 1622 // ID - READ-ONLY; Resource Id. 1623 ID *string `json:"id,omitempty"` 1624 // Name - READ-ONLY; Resource Name. 1625 Name *string `json:"name,omitempty"` 1626 // Kind - Kind of resource. 1627 Kind *string `json:"kind,omitempty"` 1628 // Type - READ-ONLY; Resource type. 1629 Type *string `json:"type,omitempty"` 1630} 1631 1632// MarshalJSON is the custom marshaler for AppServiceCertificateOrderPatchResource. 1633func (ascopr AppServiceCertificateOrderPatchResource) MarshalJSON() ([]byte, error) { 1634 objectMap := make(map[string]interface{}) 1635 if ascopr.AppServiceCertificateOrderPatchResourceProperties != nil { 1636 objectMap["properties"] = ascopr.AppServiceCertificateOrderPatchResourceProperties 1637 } 1638 if ascopr.Kind != nil { 1639 objectMap["kind"] = ascopr.Kind 1640 } 1641 return json.Marshal(objectMap) 1642} 1643 1644// UnmarshalJSON is the custom unmarshaler for AppServiceCertificateOrderPatchResource struct. 1645func (ascopr *AppServiceCertificateOrderPatchResource) UnmarshalJSON(body []byte) error { 1646 var m map[string]*json.RawMessage 1647 err := json.Unmarshal(body, &m) 1648 if err != nil { 1649 return err 1650 } 1651 for k, v := range m { 1652 switch k { 1653 case "properties": 1654 if v != nil { 1655 var appServiceCertificateOrderPatchResourceProperties AppServiceCertificateOrderPatchResourceProperties 1656 err = json.Unmarshal(*v, &appServiceCertificateOrderPatchResourceProperties) 1657 if err != nil { 1658 return err 1659 } 1660 ascopr.AppServiceCertificateOrderPatchResourceProperties = &appServiceCertificateOrderPatchResourceProperties 1661 } 1662 case "id": 1663 if v != nil { 1664 var ID string 1665 err = json.Unmarshal(*v, &ID) 1666 if err != nil { 1667 return err 1668 } 1669 ascopr.ID = &ID 1670 } 1671 case "name": 1672 if v != nil { 1673 var name string 1674 err = json.Unmarshal(*v, &name) 1675 if err != nil { 1676 return err 1677 } 1678 ascopr.Name = &name 1679 } 1680 case "kind": 1681 if v != nil { 1682 var kind string 1683 err = json.Unmarshal(*v, &kind) 1684 if err != nil { 1685 return err 1686 } 1687 ascopr.Kind = &kind 1688 } 1689 case "type": 1690 if v != nil { 1691 var typeVar string 1692 err = json.Unmarshal(*v, &typeVar) 1693 if err != nil { 1694 return err 1695 } 1696 ascopr.Type = &typeVar 1697 } 1698 } 1699 } 1700 1701 return nil 1702} 1703 1704// AppServiceCertificateOrderPatchResourceProperties appServiceCertificateOrderPatchResource resource 1705// specific properties 1706type AppServiceCertificateOrderPatchResourceProperties struct { 1707 // Certificates - State of the Key Vault secret. 1708 Certificates map[string]*AppServiceCertificate `json:"certificates"` 1709 // DistinguishedName - Certificate distinguished name. 1710 DistinguishedName *string `json:"distinguishedName,omitempty"` 1711 // DomainVerificationToken - READ-ONLY; Domain verification token. 1712 DomainVerificationToken *string `json:"domainVerificationToken,omitempty"` 1713 // ValidityInYears - Duration in years (must be between 1 and 3). 1714 ValidityInYears *int32 `json:"validityInYears,omitempty"` 1715 // KeySize - Certificate key size. 1716 KeySize *int32 `json:"keySize,omitempty"` 1717 // ProductType - Certificate product type. Possible values include: 'StandardDomainValidatedSsl', 'StandardDomainValidatedWildCardSsl' 1718 ProductType CertificateProductType `json:"productType,omitempty"` 1719 // AutoRenew - <code>true</code> if the certificate should be automatically renewed when it expires; otherwise, <code>false</code>. 1720 AutoRenew *bool `json:"autoRenew,omitempty"` 1721 // ProvisioningState - READ-ONLY; Status of certificate order. Possible values include: 'ProvisioningStateSucceeded', 'ProvisioningStateFailed', 'ProvisioningStateCanceled', 'ProvisioningStateInProgress', 'ProvisioningStateDeleting' 1722 ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` 1723 // Status - READ-ONLY; Current order status. Possible values include: 'Pendingissuance', 'Issued', 'Revoked', 'Canceled', 'Denied', 'Pendingrevocation', 'PendingRekey', 'Unused', 'Expired', 'NotSubmitted' 1724 Status CertificateOrderStatus `json:"status,omitempty"` 1725 // SignedCertificate - READ-ONLY; Signed certificate. 1726 SignedCertificate *CertificateDetails `json:"signedCertificate,omitempty"` 1727 // Csr - Last CSR that was created for this order. 1728 Csr *string `json:"csr,omitempty"` 1729 // Intermediate - READ-ONLY; Intermediate certificate. 1730 Intermediate *CertificateDetails `json:"intermediate,omitempty"` 1731 // Root - READ-ONLY; Root certificate. 1732 Root *CertificateDetails `json:"root,omitempty"` 1733 // SerialNumber - READ-ONLY; Current serial number of the certificate. 1734 SerialNumber *string `json:"serialNumber,omitempty"` 1735 // LastCertificateIssuanceTime - READ-ONLY; Certificate last issuance time. 1736 LastCertificateIssuanceTime *date.Time `json:"lastCertificateIssuanceTime,omitempty"` 1737 // ExpirationTime - READ-ONLY; Certificate expiration time. 1738 ExpirationTime *date.Time `json:"expirationTime,omitempty"` 1739 // IsPrivateKeyExternal - READ-ONLY; <code>true</code> if private key is external; otherwise, <code>false</code>. 1740 IsPrivateKeyExternal *bool `json:"isPrivateKeyExternal,omitempty"` 1741 // AppServiceCertificateNotRenewableReasons - READ-ONLY; Reasons why App Service Certificate is not renewable at the current moment. 1742 AppServiceCertificateNotRenewableReasons *[]string `json:"appServiceCertificateNotRenewableReasons,omitempty"` 1743 // NextAutoRenewalTimeStamp - READ-ONLY; Time stamp when the certificate would be auto renewed next 1744 NextAutoRenewalTimeStamp *date.Time `json:"nextAutoRenewalTimeStamp,omitempty"` 1745} 1746 1747// MarshalJSON is the custom marshaler for AppServiceCertificateOrderPatchResourceProperties. 1748func (ascopr AppServiceCertificateOrderPatchResourceProperties) MarshalJSON() ([]byte, error) { 1749 objectMap := make(map[string]interface{}) 1750 if ascopr.Certificates != nil { 1751 objectMap["certificates"] = ascopr.Certificates 1752 } 1753 if ascopr.DistinguishedName != nil { 1754 objectMap["distinguishedName"] = ascopr.DistinguishedName 1755 } 1756 if ascopr.ValidityInYears != nil { 1757 objectMap["validityInYears"] = ascopr.ValidityInYears 1758 } 1759 if ascopr.KeySize != nil { 1760 objectMap["keySize"] = ascopr.KeySize 1761 } 1762 if ascopr.ProductType != "" { 1763 objectMap["productType"] = ascopr.ProductType 1764 } 1765 if ascopr.AutoRenew != nil { 1766 objectMap["autoRenew"] = ascopr.AutoRenew 1767 } 1768 if ascopr.Csr != nil { 1769 objectMap["csr"] = ascopr.Csr 1770 } 1771 return json.Marshal(objectMap) 1772} 1773 1774// AppServiceCertificateOrderProperties appServiceCertificateOrder resource specific properties 1775type AppServiceCertificateOrderProperties struct { 1776 // Certificates - State of the Key Vault secret. 1777 Certificates map[string]*AppServiceCertificate `json:"certificates"` 1778 // DistinguishedName - Certificate distinguished name. 1779 DistinguishedName *string `json:"distinguishedName,omitempty"` 1780 // DomainVerificationToken - READ-ONLY; Domain verification token. 1781 DomainVerificationToken *string `json:"domainVerificationToken,omitempty"` 1782 // ValidityInYears - Duration in years (must be between 1 and 3). 1783 ValidityInYears *int32 `json:"validityInYears,omitempty"` 1784 // KeySize - Certificate key size. 1785 KeySize *int32 `json:"keySize,omitempty"` 1786 // ProductType - Certificate product type. Possible values include: 'StandardDomainValidatedSsl', 'StandardDomainValidatedWildCardSsl' 1787 ProductType CertificateProductType `json:"productType,omitempty"` 1788 // AutoRenew - <code>true</code> if the certificate should be automatically renewed when it expires; otherwise, <code>false</code>. 1789 AutoRenew *bool `json:"autoRenew,omitempty"` 1790 // ProvisioningState - READ-ONLY; Status of certificate order. Possible values include: 'ProvisioningStateSucceeded', 'ProvisioningStateFailed', 'ProvisioningStateCanceled', 'ProvisioningStateInProgress', 'ProvisioningStateDeleting' 1791 ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` 1792 // Status - READ-ONLY; Current order status. Possible values include: 'Pendingissuance', 'Issued', 'Revoked', 'Canceled', 'Denied', 'Pendingrevocation', 'PendingRekey', 'Unused', 'Expired', 'NotSubmitted' 1793 Status CertificateOrderStatus `json:"status,omitempty"` 1794 // SignedCertificate - READ-ONLY; Signed certificate. 1795 SignedCertificate *CertificateDetails `json:"signedCertificate,omitempty"` 1796 // Csr - Last CSR that was created for this order. 1797 Csr *string `json:"csr,omitempty"` 1798 // Intermediate - READ-ONLY; Intermediate certificate. 1799 Intermediate *CertificateDetails `json:"intermediate,omitempty"` 1800 // Root - READ-ONLY; Root certificate. 1801 Root *CertificateDetails `json:"root,omitempty"` 1802 // SerialNumber - READ-ONLY; Current serial number of the certificate. 1803 SerialNumber *string `json:"serialNumber,omitempty"` 1804 // LastCertificateIssuanceTime - READ-ONLY; Certificate last issuance time. 1805 LastCertificateIssuanceTime *date.Time `json:"lastCertificateIssuanceTime,omitempty"` 1806 // ExpirationTime - READ-ONLY; Certificate expiration time. 1807 ExpirationTime *date.Time `json:"expirationTime,omitempty"` 1808 // IsPrivateKeyExternal - READ-ONLY; <code>true</code> if private key is external; otherwise, <code>false</code>. 1809 IsPrivateKeyExternal *bool `json:"isPrivateKeyExternal,omitempty"` 1810 // AppServiceCertificateNotRenewableReasons - READ-ONLY; Reasons why App Service Certificate is not renewable at the current moment. 1811 AppServiceCertificateNotRenewableReasons *[]string `json:"appServiceCertificateNotRenewableReasons,omitempty"` 1812 // NextAutoRenewalTimeStamp - READ-ONLY; Time stamp when the certificate would be auto renewed next 1813 NextAutoRenewalTimeStamp *date.Time `json:"nextAutoRenewalTimeStamp,omitempty"` 1814} 1815 1816// MarshalJSON is the custom marshaler for AppServiceCertificateOrderProperties. 1817func (asco AppServiceCertificateOrderProperties) MarshalJSON() ([]byte, error) { 1818 objectMap := make(map[string]interface{}) 1819 if asco.Certificates != nil { 1820 objectMap["certificates"] = asco.Certificates 1821 } 1822 if asco.DistinguishedName != nil { 1823 objectMap["distinguishedName"] = asco.DistinguishedName 1824 } 1825 if asco.ValidityInYears != nil { 1826 objectMap["validityInYears"] = asco.ValidityInYears 1827 } 1828 if asco.KeySize != nil { 1829 objectMap["keySize"] = asco.KeySize 1830 } 1831 if asco.ProductType != "" { 1832 objectMap["productType"] = asco.ProductType 1833 } 1834 if asco.AutoRenew != nil { 1835 objectMap["autoRenew"] = asco.AutoRenew 1836 } 1837 if asco.Csr != nil { 1838 objectMap["csr"] = asco.Csr 1839 } 1840 return json.Marshal(objectMap) 1841} 1842 1843// AppServiceCertificateOrdersCreateOrUpdateCertificateFuture an abstraction for monitoring and retrieving 1844// the results of a long-running operation. 1845type AppServiceCertificateOrdersCreateOrUpdateCertificateFuture struct { 1846 azure.FutureAPI 1847 // Result returns the result of the asynchronous operation. 1848 // If the operation has not completed it will return an error. 1849 Result func(AppServiceCertificateOrdersClient) (AppServiceCertificateResource, error) 1850} 1851 1852// UnmarshalJSON is the custom unmarshaller for CreateFuture. 1853func (future *AppServiceCertificateOrdersCreateOrUpdateCertificateFuture) UnmarshalJSON(body []byte) error { 1854 var azFuture azure.Future 1855 if err := json.Unmarshal(body, &azFuture); err != nil { 1856 return err 1857 } 1858 future.FutureAPI = &azFuture 1859 future.Result = future.result 1860 return nil 1861} 1862 1863// result is the default implementation for AppServiceCertificateOrdersCreateOrUpdateCertificateFuture.Result. 1864func (future *AppServiceCertificateOrdersCreateOrUpdateCertificateFuture) result(client AppServiceCertificateOrdersClient) (ascr AppServiceCertificateResource, err error) { 1865 var done bool 1866 done, err = future.DoneWithContext(context.Background(), client) 1867 if err != nil { 1868 err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersCreateOrUpdateCertificateFuture", "Result", future.Response(), "Polling failure") 1869 return 1870 } 1871 if !done { 1872 ascr.Response.Response = future.Response() 1873 err = azure.NewAsyncOpIncompleteError("web.AppServiceCertificateOrdersCreateOrUpdateCertificateFuture") 1874 return 1875 } 1876 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 1877 if ascr.Response.Response, err = future.GetResult(sender); err == nil && ascr.Response.Response.StatusCode != http.StatusNoContent { 1878 ascr, err = client.CreateOrUpdateCertificateResponder(ascr.Response.Response) 1879 if err != nil { 1880 err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersCreateOrUpdateCertificateFuture", "Result", ascr.Response.Response, "Failure responding to request") 1881 } 1882 } 1883 return 1884} 1885 1886// AppServiceCertificateOrdersCreateOrUpdateFuture an abstraction for monitoring and retrieving the results 1887// of a long-running operation. 1888type AppServiceCertificateOrdersCreateOrUpdateFuture struct { 1889 azure.FutureAPI 1890 // Result returns the result of the asynchronous operation. 1891 // If the operation has not completed it will return an error. 1892 Result func(AppServiceCertificateOrdersClient) (AppServiceCertificateOrder, error) 1893} 1894 1895// UnmarshalJSON is the custom unmarshaller for CreateFuture. 1896func (future *AppServiceCertificateOrdersCreateOrUpdateFuture) UnmarshalJSON(body []byte) error { 1897 var azFuture azure.Future 1898 if err := json.Unmarshal(body, &azFuture); err != nil { 1899 return err 1900 } 1901 future.FutureAPI = &azFuture 1902 future.Result = future.result 1903 return nil 1904} 1905 1906// result is the default implementation for AppServiceCertificateOrdersCreateOrUpdateFuture.Result. 1907func (future *AppServiceCertificateOrdersCreateOrUpdateFuture) result(client AppServiceCertificateOrdersClient) (asco AppServiceCertificateOrder, err error) { 1908 var done bool 1909 done, err = future.DoneWithContext(context.Background(), client) 1910 if err != nil { 1911 err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") 1912 return 1913 } 1914 if !done { 1915 asco.Response.Response = future.Response() 1916 err = azure.NewAsyncOpIncompleteError("web.AppServiceCertificateOrdersCreateOrUpdateFuture") 1917 return 1918 } 1919 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 1920 if asco.Response.Response, err = future.GetResult(sender); err == nil && asco.Response.Response.StatusCode != http.StatusNoContent { 1921 asco, err = client.CreateOrUpdateResponder(asco.Response.Response) 1922 if err != nil { 1923 err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersCreateOrUpdateFuture", "Result", asco.Response.Response, "Failure responding to request") 1924 } 1925 } 1926 return 1927} 1928 1929// AppServiceCertificatePatchResource key Vault container ARM resource for a certificate that is purchased 1930// through Azure. 1931type AppServiceCertificatePatchResource struct { 1932 // AppServiceCertificate - Core resource properties 1933 *AppServiceCertificate `json:"properties,omitempty"` 1934 // ID - READ-ONLY; Resource Id. 1935 ID *string `json:"id,omitempty"` 1936 // Name - READ-ONLY; Resource Name. 1937 Name *string `json:"name,omitempty"` 1938 // Kind - Kind of resource. 1939 Kind *string `json:"kind,omitempty"` 1940 // Type - READ-ONLY; Resource type. 1941 Type *string `json:"type,omitempty"` 1942} 1943 1944// MarshalJSON is the custom marshaler for AppServiceCertificatePatchResource. 1945func (ascpr AppServiceCertificatePatchResource) MarshalJSON() ([]byte, error) { 1946 objectMap := make(map[string]interface{}) 1947 if ascpr.AppServiceCertificate != nil { 1948 objectMap["properties"] = ascpr.AppServiceCertificate 1949 } 1950 if ascpr.Kind != nil { 1951 objectMap["kind"] = ascpr.Kind 1952 } 1953 return json.Marshal(objectMap) 1954} 1955 1956// UnmarshalJSON is the custom unmarshaler for AppServiceCertificatePatchResource struct. 1957func (ascpr *AppServiceCertificatePatchResource) UnmarshalJSON(body []byte) error { 1958 var m map[string]*json.RawMessage 1959 err := json.Unmarshal(body, &m) 1960 if err != nil { 1961 return err 1962 } 1963 for k, v := range m { 1964 switch k { 1965 case "properties": 1966 if v != nil { 1967 var appServiceCertificate AppServiceCertificate 1968 err = json.Unmarshal(*v, &appServiceCertificate) 1969 if err != nil { 1970 return err 1971 } 1972 ascpr.AppServiceCertificate = &appServiceCertificate 1973 } 1974 case "id": 1975 if v != nil { 1976 var ID string 1977 err = json.Unmarshal(*v, &ID) 1978 if err != nil { 1979 return err 1980 } 1981 ascpr.ID = &ID 1982 } 1983 case "name": 1984 if v != nil { 1985 var name string 1986 err = json.Unmarshal(*v, &name) 1987 if err != nil { 1988 return err 1989 } 1990 ascpr.Name = &name 1991 } 1992 case "kind": 1993 if v != nil { 1994 var kind string 1995 err = json.Unmarshal(*v, &kind) 1996 if err != nil { 1997 return err 1998 } 1999 ascpr.Kind = &kind 2000 } 2001 case "type": 2002 if v != nil { 2003 var typeVar string 2004 err = json.Unmarshal(*v, &typeVar) 2005 if err != nil { 2006 return err 2007 } 2008 ascpr.Type = &typeVar 2009 } 2010 } 2011 } 2012 2013 return nil 2014} 2015 2016// AppServiceCertificateResource key Vault container ARM resource for a certificate that is purchased 2017// through Azure. 2018type AppServiceCertificateResource struct { 2019 autorest.Response `json:"-"` 2020 // AppServiceCertificate - Core resource properties 2021 *AppServiceCertificate `json:"properties,omitempty"` 2022 // ID - READ-ONLY; Resource Id. 2023 ID *string `json:"id,omitempty"` 2024 // Name - READ-ONLY; Resource Name. 2025 Name *string `json:"name,omitempty"` 2026 // Kind - Kind of resource. 2027 Kind *string `json:"kind,omitempty"` 2028 // Location - Resource Location. 2029 Location *string `json:"location,omitempty"` 2030 // Type - READ-ONLY; Resource type. 2031 Type *string `json:"type,omitempty"` 2032 // Tags - Resource tags. 2033 Tags map[string]*string `json:"tags"` 2034} 2035 2036// MarshalJSON is the custom marshaler for AppServiceCertificateResource. 2037func (ascr AppServiceCertificateResource) MarshalJSON() ([]byte, error) { 2038 objectMap := make(map[string]interface{}) 2039 if ascr.AppServiceCertificate != nil { 2040 objectMap["properties"] = ascr.AppServiceCertificate 2041 } 2042 if ascr.Kind != nil { 2043 objectMap["kind"] = ascr.Kind 2044 } 2045 if ascr.Location != nil { 2046 objectMap["location"] = ascr.Location 2047 } 2048 if ascr.Tags != nil { 2049 objectMap["tags"] = ascr.Tags 2050 } 2051 return json.Marshal(objectMap) 2052} 2053 2054// UnmarshalJSON is the custom unmarshaler for AppServiceCertificateResource struct. 2055func (ascr *AppServiceCertificateResource) UnmarshalJSON(body []byte) error { 2056 var m map[string]*json.RawMessage 2057 err := json.Unmarshal(body, &m) 2058 if err != nil { 2059 return err 2060 } 2061 for k, v := range m { 2062 switch k { 2063 case "properties": 2064 if v != nil { 2065 var appServiceCertificate AppServiceCertificate 2066 err = json.Unmarshal(*v, &appServiceCertificate) 2067 if err != nil { 2068 return err 2069 } 2070 ascr.AppServiceCertificate = &appServiceCertificate 2071 } 2072 case "id": 2073 if v != nil { 2074 var ID string 2075 err = json.Unmarshal(*v, &ID) 2076 if err != nil { 2077 return err 2078 } 2079 ascr.ID = &ID 2080 } 2081 case "name": 2082 if v != nil { 2083 var name string 2084 err = json.Unmarshal(*v, &name) 2085 if err != nil { 2086 return err 2087 } 2088 ascr.Name = &name 2089 } 2090 case "kind": 2091 if v != nil { 2092 var kind string 2093 err = json.Unmarshal(*v, &kind) 2094 if err != nil { 2095 return err 2096 } 2097 ascr.Kind = &kind 2098 } 2099 case "location": 2100 if v != nil { 2101 var location string 2102 err = json.Unmarshal(*v, &location) 2103 if err != nil { 2104 return err 2105 } 2106 ascr.Location = &location 2107 } 2108 case "type": 2109 if v != nil { 2110 var typeVar string 2111 err = json.Unmarshal(*v, &typeVar) 2112 if err != nil { 2113 return err 2114 } 2115 ascr.Type = &typeVar 2116 } 2117 case "tags": 2118 if v != nil { 2119 var tags map[string]*string 2120 err = json.Unmarshal(*v, &tags) 2121 if err != nil { 2122 return err 2123 } 2124 ascr.Tags = tags 2125 } 2126 } 2127 } 2128 2129 return nil 2130} 2131 2132// AppServiceEnvironment description of an App Service Environment. 2133type AppServiceEnvironment struct { 2134 // Name - Name of the App Service Environment. 2135 Name *string `json:"name,omitempty"` 2136 // Location - Location of the App Service Environment, e.g. "West US". 2137 Location *string `json:"location,omitempty"` 2138 // ProvisioningState - READ-ONLY; Provisioning state of the App Service Environment. Possible values include: 'ProvisioningStateSucceeded', 'ProvisioningStateFailed', 'ProvisioningStateCanceled', 'ProvisioningStateInProgress', 'ProvisioningStateDeleting' 2139 ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` 2140 // Status - READ-ONLY; Current status of the App Service Environment. Possible values include: 'Preparing', 'Ready', 'Scaling', 'Deleting' 2141 Status HostingEnvironmentStatus `json:"status,omitempty"` 2142 // VnetName - Name of the Virtual Network for the App Service Environment. 2143 VnetName *string `json:"vnetName,omitempty"` 2144 // VnetResourceGroupName - Resource group of the Virtual Network. 2145 VnetResourceGroupName *string `json:"vnetResourceGroupName,omitempty"` 2146 // VnetSubnetName - Subnet of the Virtual Network. 2147 VnetSubnetName *string `json:"vnetSubnetName,omitempty"` 2148 // VirtualNetwork - Description of the Virtual Network. 2149 VirtualNetwork *VirtualNetworkProfile `json:"virtualNetwork,omitempty"` 2150 // InternalLoadBalancingMode - Specifies which endpoints to serve internally in the Virtual Network for the App Service Environment. Possible values include: 'InternalLoadBalancingModeNone', 'InternalLoadBalancingModeWeb', 'InternalLoadBalancingModePublishing' 2151 InternalLoadBalancingMode InternalLoadBalancingMode `json:"internalLoadBalancingMode,omitempty"` 2152 // MultiSize - Front-end VM size, e.g. "Medium", "Large". 2153 MultiSize *string `json:"multiSize,omitempty"` 2154 // MultiRoleCount - Number of front-end instances. 2155 MultiRoleCount *int32 `json:"multiRoleCount,omitempty"` 2156 // WorkerPools - Description of worker pools with worker size IDs, VM sizes, and number of workers in each pool. 2157 WorkerPools *[]WorkerPool `json:"workerPools,omitempty"` 2158 // IpsslAddressCount - Number of IP SSL addresses reserved for the App Service Environment. 2159 IpsslAddressCount *int32 `json:"ipsslAddressCount,omitempty"` 2160 // DatabaseEdition - READ-ONLY; Edition of the metadata database for the App Service Environment, e.g. "Standard". 2161 DatabaseEdition *string `json:"databaseEdition,omitempty"` 2162 // DatabaseServiceObjective - READ-ONLY; Service objective of the metadata database for the App Service Environment, e.g. "S0". 2163 DatabaseServiceObjective *string `json:"databaseServiceObjective,omitempty"` 2164 // UpgradeDomains - READ-ONLY; Number of upgrade domains of the App Service Environment. 2165 UpgradeDomains *int32 `json:"upgradeDomains,omitempty"` 2166 // SubscriptionID - READ-ONLY; Subscription of the App Service Environment. 2167 SubscriptionID *string `json:"subscriptionId,omitempty"` 2168 // DNSSuffix - DNS suffix of the App Service Environment. 2169 DNSSuffix *string `json:"dnsSuffix,omitempty"` 2170 // LastAction - READ-ONLY; Last deployment action on the App Service Environment. 2171 LastAction *string `json:"lastAction,omitempty"` 2172 // LastActionResult - READ-ONLY; Result of the last deployment action on the App Service Environment. 2173 LastActionResult *string `json:"lastActionResult,omitempty"` 2174 // AllowedMultiSizes - READ-ONLY; List of comma separated strings describing which VM sizes are allowed for front-ends. 2175 AllowedMultiSizes *string `json:"allowedMultiSizes,omitempty"` 2176 // AllowedWorkerSizes - READ-ONLY; List of comma separated strings describing which VM sizes are allowed for workers. 2177 AllowedWorkerSizes *string `json:"allowedWorkerSizes,omitempty"` 2178 // MaximumNumberOfMachines - READ-ONLY; Maximum number of VMs in the App Service Environment. 2179 MaximumNumberOfMachines *int32 `json:"maximumNumberOfMachines,omitempty"` 2180 // VipMappings - READ-ONLY; Description of IP SSL mapping for the App Service Environment. 2181 VipMappings *[]VirtualIPMapping `json:"vipMappings,omitempty"` 2182 // EnvironmentCapacities - READ-ONLY; Current total, used, and available worker capacities. 2183 EnvironmentCapacities *[]StampCapacity `json:"environmentCapacities,omitempty"` 2184 // NetworkAccessControlList - Access control list for controlling traffic to the App Service Environment. 2185 NetworkAccessControlList *[]NetworkAccessControlEntry `json:"networkAccessControlList,omitempty"` 2186 // EnvironmentIsHealthy - READ-ONLY; True/false indicating whether the App Service Environment is healthy. 2187 EnvironmentIsHealthy *bool `json:"environmentIsHealthy,omitempty"` 2188 // EnvironmentStatus - READ-ONLY; Detailed message about with results of the last check of the App Service Environment. 2189 EnvironmentStatus *string `json:"environmentStatus,omitempty"` 2190 // ResourceGroup - READ-ONLY; Resource group of the App Service Environment. 2191 ResourceGroup *string `json:"resourceGroup,omitempty"` 2192 // FrontEndScaleFactor - Scale factor for front-ends. 2193 FrontEndScaleFactor *int32 `json:"frontEndScaleFactor,omitempty"` 2194 // DefaultFrontEndScaleFactor - READ-ONLY; Default Scale Factor for FrontEnds. 2195 DefaultFrontEndScaleFactor *int32 `json:"defaultFrontEndScaleFactor,omitempty"` 2196 // APIManagementAccountID - API Management Account associated with the App Service Environment. 2197 APIManagementAccountID *string `json:"apiManagementAccountId,omitempty"` 2198 // Suspended - <code>true</code> if the App Service Environment is suspended; otherwise, <code>false</code>. The environment can be suspended, e.g. when the management endpoint is no longer available 2199 // (most likely because NSG blocked the incoming traffic). 2200 Suspended *bool `json:"suspended,omitempty"` 2201 // DynamicCacheEnabled - True/false indicating whether the App Service Environment is suspended. The environment can be suspended e.g. when the management endpoint is no longer available 2202 // (most likely because NSG blocked the incoming traffic). 2203 DynamicCacheEnabled *bool `json:"dynamicCacheEnabled,omitempty"` 2204 // ClusterSettings - Custom settings for changing the behavior of the App Service Environment. 2205 ClusterSettings *[]NameValuePair `json:"clusterSettings,omitempty"` 2206 // UserWhitelistedIPRanges - User added ip ranges to whitelist on ASE db 2207 UserWhitelistedIPRanges *[]string `json:"userWhitelistedIpRanges,omitempty"` 2208 // HasLinuxWorkers - Flag that displays whether an ASE has linux workers or not 2209 HasLinuxWorkers *bool `json:"hasLinuxWorkers,omitempty"` 2210 // SslCertKeyVaultID - Key Vault ID for ILB App Service Environment default SSL certificate 2211 SslCertKeyVaultID *string `json:"sslCertKeyVaultId,omitempty"` 2212 // SslCertKeyVaultSecretName - Key Vault Secret Name for ILB App Service Environment default SSL certificate 2213 SslCertKeyVaultSecretName *string `json:"sslCertKeyVaultSecretName,omitempty"` 2214} 2215 2216// MarshalJSON is the custom marshaler for AppServiceEnvironment. 2217func (ase AppServiceEnvironment) MarshalJSON() ([]byte, error) { 2218 objectMap := make(map[string]interface{}) 2219 if ase.Name != nil { 2220 objectMap["name"] = ase.Name 2221 } 2222 if ase.Location != nil { 2223 objectMap["location"] = ase.Location 2224 } 2225 if ase.VnetName != nil { 2226 objectMap["vnetName"] = ase.VnetName 2227 } 2228 if ase.VnetResourceGroupName != nil { 2229 objectMap["vnetResourceGroupName"] = ase.VnetResourceGroupName 2230 } 2231 if ase.VnetSubnetName != nil { 2232 objectMap["vnetSubnetName"] = ase.VnetSubnetName 2233 } 2234 if ase.VirtualNetwork != nil { 2235 objectMap["virtualNetwork"] = ase.VirtualNetwork 2236 } 2237 if ase.InternalLoadBalancingMode != "" { 2238 objectMap["internalLoadBalancingMode"] = ase.InternalLoadBalancingMode 2239 } 2240 if ase.MultiSize != nil { 2241 objectMap["multiSize"] = ase.MultiSize 2242 } 2243 if ase.MultiRoleCount != nil { 2244 objectMap["multiRoleCount"] = ase.MultiRoleCount 2245 } 2246 if ase.WorkerPools != nil { 2247 objectMap["workerPools"] = ase.WorkerPools 2248 } 2249 if ase.IpsslAddressCount != nil { 2250 objectMap["ipsslAddressCount"] = ase.IpsslAddressCount 2251 } 2252 if ase.DNSSuffix != nil { 2253 objectMap["dnsSuffix"] = ase.DNSSuffix 2254 } 2255 if ase.NetworkAccessControlList != nil { 2256 objectMap["networkAccessControlList"] = ase.NetworkAccessControlList 2257 } 2258 if ase.FrontEndScaleFactor != nil { 2259 objectMap["frontEndScaleFactor"] = ase.FrontEndScaleFactor 2260 } 2261 if ase.APIManagementAccountID != nil { 2262 objectMap["apiManagementAccountId"] = ase.APIManagementAccountID 2263 } 2264 if ase.Suspended != nil { 2265 objectMap["suspended"] = ase.Suspended 2266 } 2267 if ase.DynamicCacheEnabled != nil { 2268 objectMap["dynamicCacheEnabled"] = ase.DynamicCacheEnabled 2269 } 2270 if ase.ClusterSettings != nil { 2271 objectMap["clusterSettings"] = ase.ClusterSettings 2272 } 2273 if ase.UserWhitelistedIPRanges != nil { 2274 objectMap["userWhitelistedIpRanges"] = ase.UserWhitelistedIPRanges 2275 } 2276 if ase.HasLinuxWorkers != nil { 2277 objectMap["hasLinuxWorkers"] = ase.HasLinuxWorkers 2278 } 2279 if ase.SslCertKeyVaultID != nil { 2280 objectMap["sslCertKeyVaultId"] = ase.SslCertKeyVaultID 2281 } 2282 if ase.SslCertKeyVaultSecretName != nil { 2283 objectMap["sslCertKeyVaultSecretName"] = ase.SslCertKeyVaultSecretName 2284 } 2285 return json.Marshal(objectMap) 2286} 2287 2288// AppServiceEnvironmentCollection collection of App Service Environments. 2289type AppServiceEnvironmentCollection struct { 2290 autorest.Response `json:"-"` 2291 // Value - Collection of resources. 2292 Value *[]AppServiceEnvironmentResource `json:"value,omitempty"` 2293 // NextLink - READ-ONLY; Link to next page of resources. 2294 NextLink *string `json:"nextLink,omitempty"` 2295} 2296 2297// MarshalJSON is the custom marshaler for AppServiceEnvironmentCollection. 2298func (asec AppServiceEnvironmentCollection) MarshalJSON() ([]byte, error) { 2299 objectMap := make(map[string]interface{}) 2300 if asec.Value != nil { 2301 objectMap["value"] = asec.Value 2302 } 2303 return json.Marshal(objectMap) 2304} 2305 2306// AppServiceEnvironmentCollectionIterator provides access to a complete listing of 2307// AppServiceEnvironmentResource values. 2308type AppServiceEnvironmentCollectionIterator struct { 2309 i int 2310 page AppServiceEnvironmentCollectionPage 2311} 2312 2313// NextWithContext advances to the next value. If there was an error making 2314// the request the iterator does not advance and the error is returned. 2315func (iter *AppServiceEnvironmentCollectionIterator) NextWithContext(ctx context.Context) (err error) { 2316 if tracing.IsEnabled() { 2317 ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceEnvironmentCollectionIterator.NextWithContext") 2318 defer func() { 2319 sc := -1 2320 if iter.Response().Response.Response != nil { 2321 sc = iter.Response().Response.Response.StatusCode 2322 } 2323 tracing.EndSpan(ctx, sc, err) 2324 }() 2325 } 2326 iter.i++ 2327 if iter.i < len(iter.page.Values()) { 2328 return nil 2329 } 2330 err = iter.page.NextWithContext(ctx) 2331 if err != nil { 2332 iter.i-- 2333 return err 2334 } 2335 iter.i = 0 2336 return nil 2337} 2338 2339// Next advances to the next value. If there was an error making 2340// the request the iterator does not advance and the error is returned. 2341// Deprecated: Use NextWithContext() instead. 2342func (iter *AppServiceEnvironmentCollectionIterator) Next() error { 2343 return iter.NextWithContext(context.Background()) 2344} 2345 2346// NotDone returns true if the enumeration should be started or is not yet complete. 2347func (iter AppServiceEnvironmentCollectionIterator) NotDone() bool { 2348 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 2349} 2350 2351// Response returns the raw server response from the last page request. 2352func (iter AppServiceEnvironmentCollectionIterator) Response() AppServiceEnvironmentCollection { 2353 return iter.page.Response() 2354} 2355 2356// Value returns the current value or a zero-initialized value if the 2357// iterator has advanced beyond the end of the collection. 2358func (iter AppServiceEnvironmentCollectionIterator) Value() AppServiceEnvironmentResource { 2359 if !iter.page.NotDone() { 2360 return AppServiceEnvironmentResource{} 2361 } 2362 return iter.page.Values()[iter.i] 2363} 2364 2365// Creates a new instance of the AppServiceEnvironmentCollectionIterator type. 2366func NewAppServiceEnvironmentCollectionIterator(page AppServiceEnvironmentCollectionPage) AppServiceEnvironmentCollectionIterator { 2367 return AppServiceEnvironmentCollectionIterator{page: page} 2368} 2369 2370// IsEmpty returns true if the ListResult contains no values. 2371func (asec AppServiceEnvironmentCollection) IsEmpty() bool { 2372 return asec.Value == nil || len(*asec.Value) == 0 2373} 2374 2375// hasNextLink returns true if the NextLink is not empty. 2376func (asec AppServiceEnvironmentCollection) hasNextLink() bool { 2377 return asec.NextLink != nil && len(*asec.NextLink) != 0 2378} 2379 2380// appServiceEnvironmentCollectionPreparer prepares a request to retrieve the next set of results. 2381// It returns nil if no more results exist. 2382func (asec AppServiceEnvironmentCollection) appServiceEnvironmentCollectionPreparer(ctx context.Context) (*http.Request, error) { 2383 if !asec.hasNextLink() { 2384 return nil, nil 2385 } 2386 return autorest.Prepare((&http.Request{}).WithContext(ctx), 2387 autorest.AsJSON(), 2388 autorest.AsGet(), 2389 autorest.WithBaseURL(to.String(asec.NextLink))) 2390} 2391 2392// AppServiceEnvironmentCollectionPage contains a page of AppServiceEnvironmentResource values. 2393type AppServiceEnvironmentCollectionPage struct { 2394 fn func(context.Context, AppServiceEnvironmentCollection) (AppServiceEnvironmentCollection, error) 2395 asec AppServiceEnvironmentCollection 2396} 2397 2398// NextWithContext advances to the next page of values. If there was an error making 2399// the request the page does not advance and the error is returned. 2400func (page *AppServiceEnvironmentCollectionPage) NextWithContext(ctx context.Context) (err error) { 2401 if tracing.IsEnabled() { 2402 ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceEnvironmentCollectionPage.NextWithContext") 2403 defer func() { 2404 sc := -1 2405 if page.Response().Response.Response != nil { 2406 sc = page.Response().Response.Response.StatusCode 2407 } 2408 tracing.EndSpan(ctx, sc, err) 2409 }() 2410 } 2411 for { 2412 next, err := page.fn(ctx, page.asec) 2413 if err != nil { 2414 return err 2415 } 2416 page.asec = next 2417 if !next.hasNextLink() || !next.IsEmpty() { 2418 break 2419 } 2420 } 2421 return nil 2422} 2423 2424// Next advances to the next page of values. If there was an error making 2425// the request the page does not advance and the error is returned. 2426// Deprecated: Use NextWithContext() instead. 2427func (page *AppServiceEnvironmentCollectionPage) Next() error { 2428 return page.NextWithContext(context.Background()) 2429} 2430 2431// NotDone returns true if the page enumeration should be started or is not yet complete. 2432func (page AppServiceEnvironmentCollectionPage) NotDone() bool { 2433 return !page.asec.IsEmpty() 2434} 2435 2436// Response returns the raw server response from the last page request. 2437func (page AppServiceEnvironmentCollectionPage) Response() AppServiceEnvironmentCollection { 2438 return page.asec 2439} 2440 2441// Values returns the slice of values for the current page or nil if there are no values. 2442func (page AppServiceEnvironmentCollectionPage) Values() []AppServiceEnvironmentResource { 2443 if page.asec.IsEmpty() { 2444 return nil 2445 } 2446 return *page.asec.Value 2447} 2448 2449// Creates a new instance of the AppServiceEnvironmentCollectionPage type. 2450func NewAppServiceEnvironmentCollectionPage(cur AppServiceEnvironmentCollection, getNextPage func(context.Context, AppServiceEnvironmentCollection) (AppServiceEnvironmentCollection, error)) AppServiceEnvironmentCollectionPage { 2451 return AppServiceEnvironmentCollectionPage{ 2452 fn: getNextPage, 2453 asec: cur, 2454 } 2455} 2456 2457// AppServiceEnvironmentPatchResource ARM resource for a app service environment. 2458type AppServiceEnvironmentPatchResource struct { 2459 // AppServiceEnvironment - Core resource properties 2460 *AppServiceEnvironment `json:"properties,omitempty"` 2461 // ID - READ-ONLY; Resource Id. 2462 ID *string `json:"id,omitempty"` 2463 // Name - READ-ONLY; Resource Name. 2464 Name *string `json:"name,omitempty"` 2465 // Kind - Kind of resource. 2466 Kind *string `json:"kind,omitempty"` 2467 // Type - READ-ONLY; Resource type. 2468 Type *string `json:"type,omitempty"` 2469} 2470 2471// MarshalJSON is the custom marshaler for AppServiceEnvironmentPatchResource. 2472func (asepr AppServiceEnvironmentPatchResource) MarshalJSON() ([]byte, error) { 2473 objectMap := make(map[string]interface{}) 2474 if asepr.AppServiceEnvironment != nil { 2475 objectMap["properties"] = asepr.AppServiceEnvironment 2476 } 2477 if asepr.Kind != nil { 2478 objectMap["kind"] = asepr.Kind 2479 } 2480 return json.Marshal(objectMap) 2481} 2482 2483// UnmarshalJSON is the custom unmarshaler for AppServiceEnvironmentPatchResource struct. 2484func (asepr *AppServiceEnvironmentPatchResource) UnmarshalJSON(body []byte) error { 2485 var m map[string]*json.RawMessage 2486 err := json.Unmarshal(body, &m) 2487 if err != nil { 2488 return err 2489 } 2490 for k, v := range m { 2491 switch k { 2492 case "properties": 2493 if v != nil { 2494 var appServiceEnvironment AppServiceEnvironment 2495 err = json.Unmarshal(*v, &appServiceEnvironment) 2496 if err != nil { 2497 return err 2498 } 2499 asepr.AppServiceEnvironment = &appServiceEnvironment 2500 } 2501 case "id": 2502 if v != nil { 2503 var ID string 2504 err = json.Unmarshal(*v, &ID) 2505 if err != nil { 2506 return err 2507 } 2508 asepr.ID = &ID 2509 } 2510 case "name": 2511 if v != nil { 2512 var name string 2513 err = json.Unmarshal(*v, &name) 2514 if err != nil { 2515 return err 2516 } 2517 asepr.Name = &name 2518 } 2519 case "kind": 2520 if v != nil { 2521 var kind string 2522 err = json.Unmarshal(*v, &kind) 2523 if err != nil { 2524 return err 2525 } 2526 asepr.Kind = &kind 2527 } 2528 case "type": 2529 if v != nil { 2530 var typeVar string 2531 err = json.Unmarshal(*v, &typeVar) 2532 if err != nil { 2533 return err 2534 } 2535 asepr.Type = &typeVar 2536 } 2537 } 2538 } 2539 2540 return nil 2541} 2542 2543// AppServiceEnvironmentResource app Service Environment ARM resource. 2544type AppServiceEnvironmentResource struct { 2545 autorest.Response `json:"-"` 2546 // AppServiceEnvironment - Core resource properties 2547 *AppServiceEnvironment `json:"properties,omitempty"` 2548 // ID - READ-ONLY; Resource Id. 2549 ID *string `json:"id,omitempty"` 2550 // Name - READ-ONLY; Resource Name. 2551 Name *string `json:"name,omitempty"` 2552 // Kind - Kind of resource. 2553 Kind *string `json:"kind,omitempty"` 2554 // Location - Resource Location. 2555 Location *string `json:"location,omitempty"` 2556 // Type - READ-ONLY; Resource type. 2557 Type *string `json:"type,omitempty"` 2558 // Tags - Resource tags. 2559 Tags map[string]*string `json:"tags"` 2560} 2561 2562// MarshalJSON is the custom marshaler for AppServiceEnvironmentResource. 2563func (aser AppServiceEnvironmentResource) MarshalJSON() ([]byte, error) { 2564 objectMap := make(map[string]interface{}) 2565 if aser.AppServiceEnvironment != nil { 2566 objectMap["properties"] = aser.AppServiceEnvironment 2567 } 2568 if aser.Kind != nil { 2569 objectMap["kind"] = aser.Kind 2570 } 2571 if aser.Location != nil { 2572 objectMap["location"] = aser.Location 2573 } 2574 if aser.Tags != nil { 2575 objectMap["tags"] = aser.Tags 2576 } 2577 return json.Marshal(objectMap) 2578} 2579 2580// UnmarshalJSON is the custom unmarshaler for AppServiceEnvironmentResource struct. 2581func (aser *AppServiceEnvironmentResource) UnmarshalJSON(body []byte) error { 2582 var m map[string]*json.RawMessage 2583 err := json.Unmarshal(body, &m) 2584 if err != nil { 2585 return err 2586 } 2587 for k, v := range m { 2588 switch k { 2589 case "properties": 2590 if v != nil { 2591 var appServiceEnvironment AppServiceEnvironment 2592 err = json.Unmarshal(*v, &appServiceEnvironment) 2593 if err != nil { 2594 return err 2595 } 2596 aser.AppServiceEnvironment = &appServiceEnvironment 2597 } 2598 case "id": 2599 if v != nil { 2600 var ID string 2601 err = json.Unmarshal(*v, &ID) 2602 if err != nil { 2603 return err 2604 } 2605 aser.ID = &ID 2606 } 2607 case "name": 2608 if v != nil { 2609 var name string 2610 err = json.Unmarshal(*v, &name) 2611 if err != nil { 2612 return err 2613 } 2614 aser.Name = &name 2615 } 2616 case "kind": 2617 if v != nil { 2618 var kind string 2619 err = json.Unmarshal(*v, &kind) 2620 if err != nil { 2621 return err 2622 } 2623 aser.Kind = &kind 2624 } 2625 case "location": 2626 if v != nil { 2627 var location string 2628 err = json.Unmarshal(*v, &location) 2629 if err != nil { 2630 return err 2631 } 2632 aser.Location = &location 2633 } 2634 case "type": 2635 if v != nil { 2636 var typeVar string 2637 err = json.Unmarshal(*v, &typeVar) 2638 if err != nil { 2639 return err 2640 } 2641 aser.Type = &typeVar 2642 } 2643 case "tags": 2644 if v != nil { 2645 var tags map[string]*string 2646 err = json.Unmarshal(*v, &tags) 2647 if err != nil { 2648 return err 2649 } 2650 aser.Tags = tags 2651 } 2652 } 2653 } 2654 2655 return nil 2656} 2657 2658// AppServiceEnvironmentsChangeVnetAllFuture an abstraction for monitoring and retrieving the results of a 2659// long-running operation. 2660type AppServiceEnvironmentsChangeVnetAllFuture struct { 2661 azure.FutureAPI 2662 // Result returns the result of the asynchronous operation. 2663 // If the operation has not completed it will return an error. 2664 Result func(AppServiceEnvironmentsClient) (AppCollectionPage, error) 2665} 2666 2667// UnmarshalJSON is the custom unmarshaller for CreateFuture. 2668func (future *AppServiceEnvironmentsChangeVnetAllFuture) UnmarshalJSON(body []byte) error { 2669 var azFuture azure.Future 2670 if err := json.Unmarshal(body, &azFuture); err != nil { 2671 return err 2672 } 2673 future.FutureAPI = &azFuture 2674 future.Result = future.result 2675 return nil 2676} 2677 2678// result is the default implementation for AppServiceEnvironmentsChangeVnetAllFuture.Result. 2679func (future *AppServiceEnvironmentsChangeVnetAllFuture) result(client AppServiceEnvironmentsClient) (acp AppCollectionPage, err error) { 2680 var done bool 2681 done, err = future.DoneWithContext(context.Background(), client) 2682 if err != nil { 2683 err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsChangeVnetAllFuture", "Result", future.Response(), "Polling failure") 2684 return 2685 } 2686 if !done { 2687 acp.ac.Response.Response = future.Response() 2688 err = azure.NewAsyncOpIncompleteError("web.AppServiceEnvironmentsChangeVnetAllFuture") 2689 return 2690 } 2691 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 2692 if acp.ac.Response.Response, err = future.GetResult(sender); err == nil && acp.ac.Response.Response.StatusCode != http.StatusNoContent { 2693 acp, err = client.ChangeVnetResponder(acp.ac.Response.Response) 2694 if err != nil { 2695 err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsChangeVnetAllFuture", "Result", acp.ac.Response.Response, "Failure responding to request") 2696 } 2697 } 2698 return 2699} 2700 2701// AppServiceEnvironmentsChangeVnetFuture an abstraction for monitoring and retrieving the results of a 2702// long-running operation. 2703type AppServiceEnvironmentsChangeVnetFuture struct { 2704 azure.FutureAPI 2705 // Result returns the result of the asynchronous operation. 2706 // If the operation has not completed it will return an error. 2707 Result func(AppServiceEnvironmentsClient) (AppCollectionPage, error) 2708} 2709 2710// UnmarshalJSON is the custom unmarshaller for CreateFuture. 2711func (future *AppServiceEnvironmentsChangeVnetFuture) UnmarshalJSON(body []byte) error { 2712 var azFuture azure.Future 2713 if err := json.Unmarshal(body, &azFuture); err != nil { 2714 return err 2715 } 2716 future.FutureAPI = &azFuture 2717 future.Result = future.result 2718 return nil 2719} 2720 2721// result is the default implementation for AppServiceEnvironmentsChangeVnetFuture.Result. 2722func (future *AppServiceEnvironmentsChangeVnetFuture) result(client AppServiceEnvironmentsClient) (acp AppCollectionPage, err error) { 2723 var done bool 2724 done, err = future.DoneWithContext(context.Background(), client) 2725 if err != nil { 2726 err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsChangeVnetFuture", "Result", future.Response(), "Polling failure") 2727 return 2728 } 2729 if !done { 2730 acp.ac.Response.Response = future.Response() 2731 err = azure.NewAsyncOpIncompleteError("web.AppServiceEnvironmentsChangeVnetFuture") 2732 return 2733 } 2734 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 2735 if acp.ac.Response.Response, err = future.GetResult(sender); err == nil && acp.ac.Response.Response.StatusCode != http.StatusNoContent { 2736 acp, err = client.ChangeVnetResponder(acp.ac.Response.Response) 2737 if err != nil { 2738 err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsChangeVnetFuture", "Result", acp.ac.Response.Response, "Failure responding to request") 2739 } 2740 } 2741 return 2742} 2743 2744// AppServiceEnvironmentsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a 2745// long-running operation. 2746type AppServiceEnvironmentsCreateOrUpdateFuture struct { 2747 azure.FutureAPI 2748 // Result returns the result of the asynchronous operation. 2749 // If the operation has not completed it will return an error. 2750 Result func(AppServiceEnvironmentsClient) (AppServiceEnvironmentResource, error) 2751} 2752 2753// UnmarshalJSON is the custom unmarshaller for CreateFuture. 2754func (future *AppServiceEnvironmentsCreateOrUpdateFuture) UnmarshalJSON(body []byte) error { 2755 var azFuture azure.Future 2756 if err := json.Unmarshal(body, &azFuture); err != nil { 2757 return err 2758 } 2759 future.FutureAPI = &azFuture 2760 future.Result = future.result 2761 return nil 2762} 2763 2764// result is the default implementation for AppServiceEnvironmentsCreateOrUpdateFuture.Result. 2765func (future *AppServiceEnvironmentsCreateOrUpdateFuture) result(client AppServiceEnvironmentsClient) (aser AppServiceEnvironmentResource, err error) { 2766 var done bool 2767 done, err = future.DoneWithContext(context.Background(), client) 2768 if err != nil { 2769 err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") 2770 return 2771 } 2772 if !done { 2773 aser.Response.Response = future.Response() 2774 err = azure.NewAsyncOpIncompleteError("web.AppServiceEnvironmentsCreateOrUpdateFuture") 2775 return 2776 } 2777 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 2778 if aser.Response.Response, err = future.GetResult(sender); err == nil && aser.Response.Response.StatusCode != http.StatusNoContent { 2779 aser, err = client.CreateOrUpdateResponder(aser.Response.Response) 2780 if err != nil { 2781 err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsCreateOrUpdateFuture", "Result", aser.Response.Response, "Failure responding to request") 2782 } 2783 } 2784 return 2785} 2786 2787// AppServiceEnvironmentsCreateOrUpdateMultiRolePoolFuture an abstraction for monitoring and retrieving the 2788// results of a long-running operation. 2789type AppServiceEnvironmentsCreateOrUpdateMultiRolePoolFuture struct { 2790 azure.FutureAPI 2791 // Result returns the result of the asynchronous operation. 2792 // If the operation has not completed it will return an error. 2793 Result func(AppServiceEnvironmentsClient) (WorkerPoolResource, error) 2794} 2795 2796// UnmarshalJSON is the custom unmarshaller for CreateFuture. 2797func (future *AppServiceEnvironmentsCreateOrUpdateMultiRolePoolFuture) UnmarshalJSON(body []byte) error { 2798 var azFuture azure.Future 2799 if err := json.Unmarshal(body, &azFuture); err != nil { 2800 return err 2801 } 2802 future.FutureAPI = &azFuture 2803 future.Result = future.result 2804 return nil 2805} 2806 2807// result is the default implementation for AppServiceEnvironmentsCreateOrUpdateMultiRolePoolFuture.Result. 2808func (future *AppServiceEnvironmentsCreateOrUpdateMultiRolePoolFuture) result(client AppServiceEnvironmentsClient) (wpr WorkerPoolResource, err error) { 2809 var done bool 2810 done, err = future.DoneWithContext(context.Background(), client) 2811 if err != nil { 2812 err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsCreateOrUpdateMultiRolePoolFuture", "Result", future.Response(), "Polling failure") 2813 return 2814 } 2815 if !done { 2816 wpr.Response.Response = future.Response() 2817 err = azure.NewAsyncOpIncompleteError("web.AppServiceEnvironmentsCreateOrUpdateMultiRolePoolFuture") 2818 return 2819 } 2820 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 2821 if wpr.Response.Response, err = future.GetResult(sender); err == nil && wpr.Response.Response.StatusCode != http.StatusNoContent { 2822 wpr, err = client.CreateOrUpdateMultiRolePoolResponder(wpr.Response.Response) 2823 if err != nil { 2824 err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsCreateOrUpdateMultiRolePoolFuture", "Result", wpr.Response.Response, "Failure responding to request") 2825 } 2826 } 2827 return 2828} 2829 2830// AppServiceEnvironmentsCreateOrUpdateWorkerPoolFuture an abstraction for monitoring and retrieving the 2831// results of a long-running operation. 2832type AppServiceEnvironmentsCreateOrUpdateWorkerPoolFuture struct { 2833 azure.FutureAPI 2834 // Result returns the result of the asynchronous operation. 2835 // If the operation has not completed it will return an error. 2836 Result func(AppServiceEnvironmentsClient) (WorkerPoolResource, error) 2837} 2838 2839// UnmarshalJSON is the custom unmarshaller for CreateFuture. 2840func (future *AppServiceEnvironmentsCreateOrUpdateWorkerPoolFuture) UnmarshalJSON(body []byte) error { 2841 var azFuture azure.Future 2842 if err := json.Unmarshal(body, &azFuture); err != nil { 2843 return err 2844 } 2845 future.FutureAPI = &azFuture 2846 future.Result = future.result 2847 return nil 2848} 2849 2850// result is the default implementation for AppServiceEnvironmentsCreateOrUpdateWorkerPoolFuture.Result. 2851func (future *AppServiceEnvironmentsCreateOrUpdateWorkerPoolFuture) result(client AppServiceEnvironmentsClient) (wpr WorkerPoolResource, err error) { 2852 var done bool 2853 done, err = future.DoneWithContext(context.Background(), client) 2854 if err != nil { 2855 err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsCreateOrUpdateWorkerPoolFuture", "Result", future.Response(), "Polling failure") 2856 return 2857 } 2858 if !done { 2859 wpr.Response.Response = future.Response() 2860 err = azure.NewAsyncOpIncompleteError("web.AppServiceEnvironmentsCreateOrUpdateWorkerPoolFuture") 2861 return 2862 } 2863 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 2864 if wpr.Response.Response, err = future.GetResult(sender); err == nil && wpr.Response.Response.StatusCode != http.StatusNoContent { 2865 wpr, err = client.CreateOrUpdateWorkerPoolResponder(wpr.Response.Response) 2866 if err != nil { 2867 err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsCreateOrUpdateWorkerPoolFuture", "Result", wpr.Response.Response, "Failure responding to request") 2868 } 2869 } 2870 return 2871} 2872 2873// AppServiceEnvironmentsDeleteFuture an abstraction for monitoring and retrieving the results of a 2874// long-running operation. 2875type AppServiceEnvironmentsDeleteFuture struct { 2876 azure.FutureAPI 2877 // Result returns the result of the asynchronous operation. 2878 // If the operation has not completed it will return an error. 2879 Result func(AppServiceEnvironmentsClient) (autorest.Response, error) 2880} 2881 2882// UnmarshalJSON is the custom unmarshaller for CreateFuture. 2883func (future *AppServiceEnvironmentsDeleteFuture) UnmarshalJSON(body []byte) error { 2884 var azFuture azure.Future 2885 if err := json.Unmarshal(body, &azFuture); err != nil { 2886 return err 2887 } 2888 future.FutureAPI = &azFuture 2889 future.Result = future.result 2890 return nil 2891} 2892 2893// result is the default implementation for AppServiceEnvironmentsDeleteFuture.Result. 2894func (future *AppServiceEnvironmentsDeleteFuture) result(client AppServiceEnvironmentsClient) (ar autorest.Response, err error) { 2895 var done bool 2896 done, err = future.DoneWithContext(context.Background(), client) 2897 if err != nil { 2898 err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsDeleteFuture", "Result", future.Response(), "Polling failure") 2899 return 2900 } 2901 if !done { 2902 ar.Response = future.Response() 2903 err = azure.NewAsyncOpIncompleteError("web.AppServiceEnvironmentsDeleteFuture") 2904 return 2905 } 2906 ar.Response = future.Response() 2907 return 2908} 2909 2910// AppServiceEnvironmentsResumeAllFuture an abstraction for monitoring and retrieving the results of a 2911// long-running operation. 2912type AppServiceEnvironmentsResumeAllFuture struct { 2913 azure.FutureAPI 2914 // Result returns the result of the asynchronous operation. 2915 // If the operation has not completed it will return an error. 2916 Result func(AppServiceEnvironmentsClient) (AppCollectionPage, error) 2917} 2918 2919// UnmarshalJSON is the custom unmarshaller for CreateFuture. 2920func (future *AppServiceEnvironmentsResumeAllFuture) UnmarshalJSON(body []byte) error { 2921 var azFuture azure.Future 2922 if err := json.Unmarshal(body, &azFuture); err != nil { 2923 return err 2924 } 2925 future.FutureAPI = &azFuture 2926 future.Result = future.result 2927 return nil 2928} 2929 2930// result is the default implementation for AppServiceEnvironmentsResumeAllFuture.Result. 2931func (future *AppServiceEnvironmentsResumeAllFuture) result(client AppServiceEnvironmentsClient) (acp AppCollectionPage, err error) { 2932 var done bool 2933 done, err = future.DoneWithContext(context.Background(), client) 2934 if err != nil { 2935 err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsResumeAllFuture", "Result", future.Response(), "Polling failure") 2936 return 2937 } 2938 if !done { 2939 acp.ac.Response.Response = future.Response() 2940 err = azure.NewAsyncOpIncompleteError("web.AppServiceEnvironmentsResumeAllFuture") 2941 return 2942 } 2943 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 2944 if acp.ac.Response.Response, err = future.GetResult(sender); err == nil && acp.ac.Response.Response.StatusCode != http.StatusNoContent { 2945 acp, err = client.ResumeResponder(acp.ac.Response.Response) 2946 if err != nil { 2947 err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsResumeAllFuture", "Result", acp.ac.Response.Response, "Failure responding to request") 2948 } 2949 } 2950 return 2951} 2952 2953// AppServiceEnvironmentsResumeFuture an abstraction for monitoring and retrieving the results of a 2954// long-running operation. 2955type AppServiceEnvironmentsResumeFuture struct { 2956 azure.FutureAPI 2957 // Result returns the result of the asynchronous operation. 2958 // If the operation has not completed it will return an error. 2959 Result func(AppServiceEnvironmentsClient) (AppCollectionPage, error) 2960} 2961 2962// UnmarshalJSON is the custom unmarshaller for CreateFuture. 2963func (future *AppServiceEnvironmentsResumeFuture) UnmarshalJSON(body []byte) error { 2964 var azFuture azure.Future 2965 if err := json.Unmarshal(body, &azFuture); err != nil { 2966 return err 2967 } 2968 future.FutureAPI = &azFuture 2969 future.Result = future.result 2970 return nil 2971} 2972 2973// result is the default implementation for AppServiceEnvironmentsResumeFuture.Result. 2974func (future *AppServiceEnvironmentsResumeFuture) result(client AppServiceEnvironmentsClient) (acp AppCollectionPage, err error) { 2975 var done bool 2976 done, err = future.DoneWithContext(context.Background(), client) 2977 if err != nil { 2978 err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsResumeFuture", "Result", future.Response(), "Polling failure") 2979 return 2980 } 2981 if !done { 2982 acp.ac.Response.Response = future.Response() 2983 err = azure.NewAsyncOpIncompleteError("web.AppServiceEnvironmentsResumeFuture") 2984 return 2985 } 2986 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 2987 if acp.ac.Response.Response, err = future.GetResult(sender); err == nil && acp.ac.Response.Response.StatusCode != http.StatusNoContent { 2988 acp, err = client.ResumeResponder(acp.ac.Response.Response) 2989 if err != nil { 2990 err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsResumeFuture", "Result", acp.ac.Response.Response, "Failure responding to request") 2991 } 2992 } 2993 return 2994} 2995 2996// AppServiceEnvironmentsSuspendAllFuture an abstraction for monitoring and retrieving the results of a 2997// long-running operation. 2998type AppServiceEnvironmentsSuspendAllFuture struct { 2999 azure.FutureAPI 3000 // Result returns the result of the asynchronous operation. 3001 // If the operation has not completed it will return an error. 3002 Result func(AppServiceEnvironmentsClient) (AppCollectionPage, error) 3003} 3004 3005// UnmarshalJSON is the custom unmarshaller for CreateFuture. 3006func (future *AppServiceEnvironmentsSuspendAllFuture) UnmarshalJSON(body []byte) error { 3007 var azFuture azure.Future 3008 if err := json.Unmarshal(body, &azFuture); err != nil { 3009 return err 3010 } 3011 future.FutureAPI = &azFuture 3012 future.Result = future.result 3013 return nil 3014} 3015 3016// result is the default implementation for AppServiceEnvironmentsSuspendAllFuture.Result. 3017func (future *AppServiceEnvironmentsSuspendAllFuture) result(client AppServiceEnvironmentsClient) (acp AppCollectionPage, err error) { 3018 var done bool 3019 done, err = future.DoneWithContext(context.Background(), client) 3020 if err != nil { 3021 err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsSuspendAllFuture", "Result", future.Response(), "Polling failure") 3022 return 3023 } 3024 if !done { 3025 acp.ac.Response.Response = future.Response() 3026 err = azure.NewAsyncOpIncompleteError("web.AppServiceEnvironmentsSuspendAllFuture") 3027 return 3028 } 3029 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 3030 if acp.ac.Response.Response, err = future.GetResult(sender); err == nil && acp.ac.Response.Response.StatusCode != http.StatusNoContent { 3031 acp, err = client.SuspendResponder(acp.ac.Response.Response) 3032 if err != nil { 3033 err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsSuspendAllFuture", "Result", acp.ac.Response.Response, "Failure responding to request") 3034 } 3035 } 3036 return 3037} 3038 3039// AppServiceEnvironmentsSuspendFuture an abstraction for monitoring and retrieving the results of a 3040// long-running operation. 3041type AppServiceEnvironmentsSuspendFuture struct { 3042 azure.FutureAPI 3043 // Result returns the result of the asynchronous operation. 3044 // If the operation has not completed it will return an error. 3045 Result func(AppServiceEnvironmentsClient) (AppCollectionPage, error) 3046} 3047 3048// UnmarshalJSON is the custom unmarshaller for CreateFuture. 3049func (future *AppServiceEnvironmentsSuspendFuture) UnmarshalJSON(body []byte) error { 3050 var azFuture azure.Future 3051 if err := json.Unmarshal(body, &azFuture); err != nil { 3052 return err 3053 } 3054 future.FutureAPI = &azFuture 3055 future.Result = future.result 3056 return nil 3057} 3058 3059// result is the default implementation for AppServiceEnvironmentsSuspendFuture.Result. 3060func (future *AppServiceEnvironmentsSuspendFuture) result(client AppServiceEnvironmentsClient) (acp AppCollectionPage, err error) { 3061 var done bool 3062 done, err = future.DoneWithContext(context.Background(), client) 3063 if err != nil { 3064 err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsSuspendFuture", "Result", future.Response(), "Polling failure") 3065 return 3066 } 3067 if !done { 3068 acp.ac.Response.Response = future.Response() 3069 err = azure.NewAsyncOpIncompleteError("web.AppServiceEnvironmentsSuspendFuture") 3070 return 3071 } 3072 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 3073 if acp.ac.Response.Response, err = future.GetResult(sender); err == nil && acp.ac.Response.Response.StatusCode != http.StatusNoContent { 3074 acp, err = client.SuspendResponder(acp.ac.Response.Response) 3075 if err != nil { 3076 err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsSuspendFuture", "Result", acp.ac.Response.Response, "Failure responding to request") 3077 } 3078 } 3079 return 3080} 3081 3082// AppServicePlan app Service plan. 3083type AppServicePlan struct { 3084 autorest.Response `json:"-"` 3085 // AppServicePlanProperties - AppServicePlan resource specific properties 3086 *AppServicePlanProperties `json:"properties,omitempty"` 3087 Sku *SkuDescription `json:"sku,omitempty"` 3088 // ID - READ-ONLY; Resource Id. 3089 ID *string `json:"id,omitempty"` 3090 // Name - READ-ONLY; Resource Name. 3091 Name *string `json:"name,omitempty"` 3092 // Kind - Kind of resource. 3093 Kind *string `json:"kind,omitempty"` 3094 // Location - Resource Location. 3095 Location *string `json:"location,omitempty"` 3096 // Type - READ-ONLY; Resource type. 3097 Type *string `json:"type,omitempty"` 3098 // Tags - Resource tags. 3099 Tags map[string]*string `json:"tags"` 3100} 3101 3102// MarshalJSON is the custom marshaler for AppServicePlan. 3103func (asp AppServicePlan) MarshalJSON() ([]byte, error) { 3104 objectMap := make(map[string]interface{}) 3105 if asp.AppServicePlanProperties != nil { 3106 objectMap["properties"] = asp.AppServicePlanProperties 3107 } 3108 if asp.Sku != nil { 3109 objectMap["sku"] = asp.Sku 3110 } 3111 if asp.Kind != nil { 3112 objectMap["kind"] = asp.Kind 3113 } 3114 if asp.Location != nil { 3115 objectMap["location"] = asp.Location 3116 } 3117 if asp.Tags != nil { 3118 objectMap["tags"] = asp.Tags 3119 } 3120 return json.Marshal(objectMap) 3121} 3122 3123// UnmarshalJSON is the custom unmarshaler for AppServicePlan struct. 3124func (asp *AppServicePlan) UnmarshalJSON(body []byte) error { 3125 var m map[string]*json.RawMessage 3126 err := json.Unmarshal(body, &m) 3127 if err != nil { 3128 return err 3129 } 3130 for k, v := range m { 3131 switch k { 3132 case "properties": 3133 if v != nil { 3134 var appServicePlanProperties AppServicePlanProperties 3135 err = json.Unmarshal(*v, &appServicePlanProperties) 3136 if err != nil { 3137 return err 3138 } 3139 asp.AppServicePlanProperties = &appServicePlanProperties 3140 } 3141 case "sku": 3142 if v != nil { 3143 var sku SkuDescription 3144 err = json.Unmarshal(*v, &sku) 3145 if err != nil { 3146 return err 3147 } 3148 asp.Sku = &sku 3149 } 3150 case "id": 3151 if v != nil { 3152 var ID string 3153 err = json.Unmarshal(*v, &ID) 3154 if err != nil { 3155 return err 3156 } 3157 asp.ID = &ID 3158 } 3159 case "name": 3160 if v != nil { 3161 var name string 3162 err = json.Unmarshal(*v, &name) 3163 if err != nil { 3164 return err 3165 } 3166 asp.Name = &name 3167 } 3168 case "kind": 3169 if v != nil { 3170 var kind string 3171 err = json.Unmarshal(*v, &kind) 3172 if err != nil { 3173 return err 3174 } 3175 asp.Kind = &kind 3176 } 3177 case "location": 3178 if v != nil { 3179 var location string 3180 err = json.Unmarshal(*v, &location) 3181 if err != nil { 3182 return err 3183 } 3184 asp.Location = &location 3185 } 3186 case "type": 3187 if v != nil { 3188 var typeVar string 3189 err = json.Unmarshal(*v, &typeVar) 3190 if err != nil { 3191 return err 3192 } 3193 asp.Type = &typeVar 3194 } 3195 case "tags": 3196 if v != nil { 3197 var tags map[string]*string 3198 err = json.Unmarshal(*v, &tags) 3199 if err != nil { 3200 return err 3201 } 3202 asp.Tags = tags 3203 } 3204 } 3205 } 3206 3207 return nil 3208} 3209 3210// AppServicePlanCollection collection of App Service plans. 3211type AppServicePlanCollection struct { 3212 autorest.Response `json:"-"` 3213 // Value - Collection of resources. 3214 Value *[]AppServicePlan `json:"value,omitempty"` 3215 // NextLink - READ-ONLY; Link to next page of resources. 3216 NextLink *string `json:"nextLink,omitempty"` 3217} 3218 3219// MarshalJSON is the custom marshaler for AppServicePlanCollection. 3220func (aspc AppServicePlanCollection) MarshalJSON() ([]byte, error) { 3221 objectMap := make(map[string]interface{}) 3222 if aspc.Value != nil { 3223 objectMap["value"] = aspc.Value 3224 } 3225 return json.Marshal(objectMap) 3226} 3227 3228// AppServicePlanCollectionIterator provides access to a complete listing of AppServicePlan values. 3229type AppServicePlanCollectionIterator struct { 3230 i int 3231 page AppServicePlanCollectionPage 3232} 3233 3234// NextWithContext advances to the next value. If there was an error making 3235// the request the iterator does not advance and the error is returned. 3236func (iter *AppServicePlanCollectionIterator) NextWithContext(ctx context.Context) (err error) { 3237 if tracing.IsEnabled() { 3238 ctx = tracing.StartSpan(ctx, fqdn+"/AppServicePlanCollectionIterator.NextWithContext") 3239 defer func() { 3240 sc := -1 3241 if iter.Response().Response.Response != nil { 3242 sc = iter.Response().Response.Response.StatusCode 3243 } 3244 tracing.EndSpan(ctx, sc, err) 3245 }() 3246 } 3247 iter.i++ 3248 if iter.i < len(iter.page.Values()) { 3249 return nil 3250 } 3251 err = iter.page.NextWithContext(ctx) 3252 if err != nil { 3253 iter.i-- 3254 return err 3255 } 3256 iter.i = 0 3257 return nil 3258} 3259 3260// Next advances to the next value. If there was an error making 3261// the request the iterator does not advance and the error is returned. 3262// Deprecated: Use NextWithContext() instead. 3263func (iter *AppServicePlanCollectionIterator) Next() error { 3264 return iter.NextWithContext(context.Background()) 3265} 3266 3267// NotDone returns true if the enumeration should be started or is not yet complete. 3268func (iter AppServicePlanCollectionIterator) NotDone() bool { 3269 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 3270} 3271 3272// Response returns the raw server response from the last page request. 3273func (iter AppServicePlanCollectionIterator) Response() AppServicePlanCollection { 3274 return iter.page.Response() 3275} 3276 3277// Value returns the current value or a zero-initialized value if the 3278// iterator has advanced beyond the end of the collection. 3279func (iter AppServicePlanCollectionIterator) Value() AppServicePlan { 3280 if !iter.page.NotDone() { 3281 return AppServicePlan{} 3282 } 3283 return iter.page.Values()[iter.i] 3284} 3285 3286// Creates a new instance of the AppServicePlanCollectionIterator type. 3287func NewAppServicePlanCollectionIterator(page AppServicePlanCollectionPage) AppServicePlanCollectionIterator { 3288 return AppServicePlanCollectionIterator{page: page} 3289} 3290 3291// IsEmpty returns true if the ListResult contains no values. 3292func (aspc AppServicePlanCollection) IsEmpty() bool { 3293 return aspc.Value == nil || len(*aspc.Value) == 0 3294} 3295 3296// hasNextLink returns true if the NextLink is not empty. 3297func (aspc AppServicePlanCollection) hasNextLink() bool { 3298 return aspc.NextLink != nil && len(*aspc.NextLink) != 0 3299} 3300 3301// appServicePlanCollectionPreparer prepares a request to retrieve the next set of results. 3302// It returns nil if no more results exist. 3303func (aspc AppServicePlanCollection) appServicePlanCollectionPreparer(ctx context.Context) (*http.Request, error) { 3304 if !aspc.hasNextLink() { 3305 return nil, nil 3306 } 3307 return autorest.Prepare((&http.Request{}).WithContext(ctx), 3308 autorest.AsJSON(), 3309 autorest.AsGet(), 3310 autorest.WithBaseURL(to.String(aspc.NextLink))) 3311} 3312 3313// AppServicePlanCollectionPage contains a page of AppServicePlan values. 3314type AppServicePlanCollectionPage struct { 3315 fn func(context.Context, AppServicePlanCollection) (AppServicePlanCollection, error) 3316 aspc AppServicePlanCollection 3317} 3318 3319// NextWithContext advances to the next page of values. If there was an error making 3320// the request the page does not advance and the error is returned. 3321func (page *AppServicePlanCollectionPage) NextWithContext(ctx context.Context) (err error) { 3322 if tracing.IsEnabled() { 3323 ctx = tracing.StartSpan(ctx, fqdn+"/AppServicePlanCollectionPage.NextWithContext") 3324 defer func() { 3325 sc := -1 3326 if page.Response().Response.Response != nil { 3327 sc = page.Response().Response.Response.StatusCode 3328 } 3329 tracing.EndSpan(ctx, sc, err) 3330 }() 3331 } 3332 for { 3333 next, err := page.fn(ctx, page.aspc) 3334 if err != nil { 3335 return err 3336 } 3337 page.aspc = next 3338 if !next.hasNextLink() || !next.IsEmpty() { 3339 break 3340 } 3341 } 3342 return nil 3343} 3344 3345// Next advances to the next page of values. If there was an error making 3346// the request the page does not advance and the error is returned. 3347// Deprecated: Use NextWithContext() instead. 3348func (page *AppServicePlanCollectionPage) Next() error { 3349 return page.NextWithContext(context.Background()) 3350} 3351 3352// NotDone returns true if the page enumeration should be started or is not yet complete. 3353func (page AppServicePlanCollectionPage) NotDone() bool { 3354 return !page.aspc.IsEmpty() 3355} 3356 3357// Response returns the raw server response from the last page request. 3358func (page AppServicePlanCollectionPage) Response() AppServicePlanCollection { 3359 return page.aspc 3360} 3361 3362// Values returns the slice of values for the current page or nil if there are no values. 3363func (page AppServicePlanCollectionPage) Values() []AppServicePlan { 3364 if page.aspc.IsEmpty() { 3365 return nil 3366 } 3367 return *page.aspc.Value 3368} 3369 3370// Creates a new instance of the AppServicePlanCollectionPage type. 3371func NewAppServicePlanCollectionPage(cur AppServicePlanCollection, getNextPage func(context.Context, AppServicePlanCollection) (AppServicePlanCollection, error)) AppServicePlanCollectionPage { 3372 return AppServicePlanCollectionPage{ 3373 fn: getNextPage, 3374 aspc: cur, 3375 } 3376} 3377 3378// AppServicePlanPatchResource ARM resource for a app service plan. 3379type AppServicePlanPatchResource struct { 3380 // AppServicePlanPatchResourceProperties - AppServicePlanPatchResource resource specific properties 3381 *AppServicePlanPatchResourceProperties `json:"properties,omitempty"` 3382 // ID - READ-ONLY; Resource Id. 3383 ID *string `json:"id,omitempty"` 3384 // Name - READ-ONLY; Resource Name. 3385 Name *string `json:"name,omitempty"` 3386 // Kind - Kind of resource. 3387 Kind *string `json:"kind,omitempty"` 3388 // Type - READ-ONLY; Resource type. 3389 Type *string `json:"type,omitempty"` 3390} 3391 3392// MarshalJSON is the custom marshaler for AppServicePlanPatchResource. 3393func (asppr AppServicePlanPatchResource) MarshalJSON() ([]byte, error) { 3394 objectMap := make(map[string]interface{}) 3395 if asppr.AppServicePlanPatchResourceProperties != nil { 3396 objectMap["properties"] = asppr.AppServicePlanPatchResourceProperties 3397 } 3398 if asppr.Kind != nil { 3399 objectMap["kind"] = asppr.Kind 3400 } 3401 return json.Marshal(objectMap) 3402} 3403 3404// UnmarshalJSON is the custom unmarshaler for AppServicePlanPatchResource struct. 3405func (asppr *AppServicePlanPatchResource) UnmarshalJSON(body []byte) error { 3406 var m map[string]*json.RawMessage 3407 err := json.Unmarshal(body, &m) 3408 if err != nil { 3409 return err 3410 } 3411 for k, v := range m { 3412 switch k { 3413 case "properties": 3414 if v != nil { 3415 var appServicePlanPatchResourceProperties AppServicePlanPatchResourceProperties 3416 err = json.Unmarshal(*v, &appServicePlanPatchResourceProperties) 3417 if err != nil { 3418 return err 3419 } 3420 asppr.AppServicePlanPatchResourceProperties = &appServicePlanPatchResourceProperties 3421 } 3422 case "id": 3423 if v != nil { 3424 var ID string 3425 err = json.Unmarshal(*v, &ID) 3426 if err != nil { 3427 return err 3428 } 3429 asppr.ID = &ID 3430 } 3431 case "name": 3432 if v != nil { 3433 var name string 3434 err = json.Unmarshal(*v, &name) 3435 if err != nil { 3436 return err 3437 } 3438 asppr.Name = &name 3439 } 3440 case "kind": 3441 if v != nil { 3442 var kind string 3443 err = json.Unmarshal(*v, &kind) 3444 if err != nil { 3445 return err 3446 } 3447 asppr.Kind = &kind 3448 } 3449 case "type": 3450 if v != nil { 3451 var typeVar string 3452 err = json.Unmarshal(*v, &typeVar) 3453 if err != nil { 3454 return err 3455 } 3456 asppr.Type = &typeVar 3457 } 3458 } 3459 } 3460 3461 return nil 3462} 3463 3464// AppServicePlanPatchResourceProperties appServicePlanPatchResource resource specific properties 3465type AppServicePlanPatchResourceProperties struct { 3466 // WorkerTierName - Target worker tier assigned to the App Service plan. 3467 WorkerTierName *string `json:"workerTierName,omitempty"` 3468 // Status - READ-ONLY; App Service plan status. Possible values include: 'StatusOptionsReady', 'StatusOptionsPending', 'StatusOptionsCreating' 3469 Status StatusOptions `json:"status,omitempty"` 3470 // Subscription - READ-ONLY; App Service plan subscription. 3471 Subscription *string `json:"subscription,omitempty"` 3472 // HostingEnvironmentProfile - Specification for the App Service Environment to use for the App Service plan. 3473 HostingEnvironmentProfile *HostingEnvironmentProfile `json:"hostingEnvironmentProfile,omitempty"` 3474 // MaximumNumberOfWorkers - READ-ONLY; Maximum number of instances that can be assigned to this App Service plan. 3475 MaximumNumberOfWorkers *int32 `json:"maximumNumberOfWorkers,omitempty"` 3476 // GeoRegion - READ-ONLY; Geographical location for the App Service plan. 3477 GeoRegion *string `json:"geoRegion,omitempty"` 3478 // PerSiteScaling - If <code>true</code>, apps assigned to this App Service plan can be scaled independently. 3479 // If <code>false</code>, apps assigned to this App Service plan will scale to all instances of the plan. 3480 PerSiteScaling *bool `json:"perSiteScaling,omitempty"` 3481 // MaximumElasticWorkerCount - Maximum number of total workers allowed for this ElasticScaleEnabled App Service Plan 3482 MaximumElasticWorkerCount *int32 `json:"maximumElasticWorkerCount,omitempty"` 3483 // NumberOfSites - READ-ONLY; Number of apps assigned to this App Service plan. 3484 NumberOfSites *int32 `json:"numberOfSites,omitempty"` 3485 // IsSpot - If <code>true</code>, this App Service Plan owns spot instances. 3486 IsSpot *bool `json:"isSpot,omitempty"` 3487 // SpotExpirationTime - The time when the server farm expires. Valid only if it is a spot server farm. 3488 SpotExpirationTime *date.Time `json:"spotExpirationTime,omitempty"` 3489 // FreeOfferExpirationTime - The time when the server farm free offer expires. 3490 FreeOfferExpirationTime *date.Time `json:"freeOfferExpirationTime,omitempty"` 3491 // ResourceGroup - READ-ONLY; Resource group of the App Service plan. 3492 ResourceGroup *string `json:"resourceGroup,omitempty"` 3493 // Reserved - If Linux app service plan <code>true</code>, <code>false</code> otherwise. 3494 Reserved *bool `json:"reserved,omitempty"` 3495 // IsXenon - Obsolete: If Hyper-V container app service plan <code>true</code>, <code>false</code> otherwise. 3496 IsXenon *bool `json:"isXenon,omitempty"` 3497 // HyperV - If Hyper-V container app service plan <code>true</code>, <code>false</code> otherwise. 3498 HyperV *bool `json:"hyperV,omitempty"` 3499 // TargetWorkerCount - Scaling worker count. 3500 TargetWorkerCount *int32 `json:"targetWorkerCount,omitempty"` 3501 // TargetWorkerSizeID - Scaling worker size ID. 3502 TargetWorkerSizeID *int32 `json:"targetWorkerSizeId,omitempty"` 3503 // ProvisioningState - READ-ONLY; Provisioning state of the App Service Environment. Possible values include: 'ProvisioningStateSucceeded', 'ProvisioningStateFailed', 'ProvisioningStateCanceled', 'ProvisioningStateInProgress', 'ProvisioningStateDeleting' 3504 ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` 3505} 3506 3507// MarshalJSON is the custom marshaler for AppServicePlanPatchResourceProperties. 3508func (asppr AppServicePlanPatchResourceProperties) MarshalJSON() ([]byte, error) { 3509 objectMap := make(map[string]interface{}) 3510 if asppr.WorkerTierName != nil { 3511 objectMap["workerTierName"] = asppr.WorkerTierName 3512 } 3513 if asppr.HostingEnvironmentProfile != nil { 3514 objectMap["hostingEnvironmentProfile"] = asppr.HostingEnvironmentProfile 3515 } 3516 if asppr.PerSiteScaling != nil { 3517 objectMap["perSiteScaling"] = asppr.PerSiteScaling 3518 } 3519 if asppr.MaximumElasticWorkerCount != nil { 3520 objectMap["maximumElasticWorkerCount"] = asppr.MaximumElasticWorkerCount 3521 } 3522 if asppr.IsSpot != nil { 3523 objectMap["isSpot"] = asppr.IsSpot 3524 } 3525 if asppr.SpotExpirationTime != nil { 3526 objectMap["spotExpirationTime"] = asppr.SpotExpirationTime 3527 } 3528 if asppr.FreeOfferExpirationTime != nil { 3529 objectMap["freeOfferExpirationTime"] = asppr.FreeOfferExpirationTime 3530 } 3531 if asppr.Reserved != nil { 3532 objectMap["reserved"] = asppr.Reserved 3533 } 3534 if asppr.IsXenon != nil { 3535 objectMap["isXenon"] = asppr.IsXenon 3536 } 3537 if asppr.HyperV != nil { 3538 objectMap["hyperV"] = asppr.HyperV 3539 } 3540 if asppr.TargetWorkerCount != nil { 3541 objectMap["targetWorkerCount"] = asppr.TargetWorkerCount 3542 } 3543 if asppr.TargetWorkerSizeID != nil { 3544 objectMap["targetWorkerSizeId"] = asppr.TargetWorkerSizeID 3545 } 3546 return json.Marshal(objectMap) 3547} 3548 3549// AppServicePlanProperties appServicePlan resource specific properties 3550type AppServicePlanProperties struct { 3551 // WorkerTierName - Target worker tier assigned to the App Service plan. 3552 WorkerTierName *string `json:"workerTierName,omitempty"` 3553 // Status - READ-ONLY; App Service plan status. Possible values include: 'StatusOptionsReady', 'StatusOptionsPending', 'StatusOptionsCreating' 3554 Status StatusOptions `json:"status,omitempty"` 3555 // Subscription - READ-ONLY; App Service plan subscription. 3556 Subscription *string `json:"subscription,omitempty"` 3557 // HostingEnvironmentProfile - Specification for the App Service Environment to use for the App Service plan. 3558 HostingEnvironmentProfile *HostingEnvironmentProfile `json:"hostingEnvironmentProfile,omitempty"` 3559 // MaximumNumberOfWorkers - READ-ONLY; Maximum number of instances that can be assigned to this App Service plan. 3560 MaximumNumberOfWorkers *int32 `json:"maximumNumberOfWorkers,omitempty"` 3561 // GeoRegion - READ-ONLY; Geographical location for the App Service plan. 3562 GeoRegion *string `json:"geoRegion,omitempty"` 3563 // PerSiteScaling - If <code>true</code>, apps assigned to this App Service plan can be scaled independently. 3564 // If <code>false</code>, apps assigned to this App Service plan will scale to all instances of the plan. 3565 PerSiteScaling *bool `json:"perSiteScaling,omitempty"` 3566 // MaximumElasticWorkerCount - Maximum number of total workers allowed for this ElasticScaleEnabled App Service Plan 3567 MaximumElasticWorkerCount *int32 `json:"maximumElasticWorkerCount,omitempty"` 3568 // NumberOfSites - READ-ONLY; Number of apps assigned to this App Service plan. 3569 NumberOfSites *int32 `json:"numberOfSites,omitempty"` 3570 // IsSpot - If <code>true</code>, this App Service Plan owns spot instances. 3571 IsSpot *bool `json:"isSpot,omitempty"` 3572 // SpotExpirationTime - The time when the server farm expires. Valid only if it is a spot server farm. 3573 SpotExpirationTime *date.Time `json:"spotExpirationTime,omitempty"` 3574 // FreeOfferExpirationTime - The time when the server farm free offer expires. 3575 FreeOfferExpirationTime *date.Time `json:"freeOfferExpirationTime,omitempty"` 3576 // ResourceGroup - READ-ONLY; Resource group of the App Service plan. 3577 ResourceGroup *string `json:"resourceGroup,omitempty"` 3578 // Reserved - If Linux app service plan <code>true</code>, <code>false</code> otherwise. 3579 Reserved *bool `json:"reserved,omitempty"` 3580 // IsXenon - Obsolete: If Hyper-V container app service plan <code>true</code>, <code>false</code> otherwise. 3581 IsXenon *bool `json:"isXenon,omitempty"` 3582 // HyperV - If Hyper-V container app service plan <code>true</code>, <code>false</code> otherwise. 3583 HyperV *bool `json:"hyperV,omitempty"` 3584 // TargetWorkerCount - Scaling worker count. 3585 TargetWorkerCount *int32 `json:"targetWorkerCount,omitempty"` 3586 // TargetWorkerSizeID - Scaling worker size ID. 3587 TargetWorkerSizeID *int32 `json:"targetWorkerSizeId,omitempty"` 3588 // ProvisioningState - READ-ONLY; Provisioning state of the App Service Environment. Possible values include: 'ProvisioningStateSucceeded', 'ProvisioningStateFailed', 'ProvisioningStateCanceled', 'ProvisioningStateInProgress', 'ProvisioningStateDeleting' 3589 ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` 3590} 3591 3592// MarshalJSON is the custom marshaler for AppServicePlanProperties. 3593func (asp AppServicePlanProperties) MarshalJSON() ([]byte, error) { 3594 objectMap := make(map[string]interface{}) 3595 if asp.WorkerTierName != nil { 3596 objectMap["workerTierName"] = asp.WorkerTierName 3597 } 3598 if asp.HostingEnvironmentProfile != nil { 3599 objectMap["hostingEnvironmentProfile"] = asp.HostingEnvironmentProfile 3600 } 3601 if asp.PerSiteScaling != nil { 3602 objectMap["perSiteScaling"] = asp.PerSiteScaling 3603 } 3604 if asp.MaximumElasticWorkerCount != nil { 3605 objectMap["maximumElasticWorkerCount"] = asp.MaximumElasticWorkerCount 3606 } 3607 if asp.IsSpot != nil { 3608 objectMap["isSpot"] = asp.IsSpot 3609 } 3610 if asp.SpotExpirationTime != nil { 3611 objectMap["spotExpirationTime"] = asp.SpotExpirationTime 3612 } 3613 if asp.FreeOfferExpirationTime != nil { 3614 objectMap["freeOfferExpirationTime"] = asp.FreeOfferExpirationTime 3615 } 3616 if asp.Reserved != nil { 3617 objectMap["reserved"] = asp.Reserved 3618 } 3619 if asp.IsXenon != nil { 3620 objectMap["isXenon"] = asp.IsXenon 3621 } 3622 if asp.HyperV != nil { 3623 objectMap["hyperV"] = asp.HyperV 3624 } 3625 if asp.TargetWorkerCount != nil { 3626 objectMap["targetWorkerCount"] = asp.TargetWorkerCount 3627 } 3628 if asp.TargetWorkerSizeID != nil { 3629 objectMap["targetWorkerSizeId"] = asp.TargetWorkerSizeID 3630 } 3631 return json.Marshal(objectMap) 3632} 3633 3634// AppServicePlansCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a 3635// long-running operation. 3636type AppServicePlansCreateOrUpdateFuture 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(AppServicePlansClient) (AppServicePlan, error) 3641} 3642 3643// UnmarshalJSON is the custom unmarshaller for CreateFuture. 3644func (future *AppServicePlansCreateOrUpdateFuture) 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 AppServicePlansCreateOrUpdateFuture.Result. 3655func (future *AppServicePlansCreateOrUpdateFuture) result(client AppServicePlansClient) (asp AppServicePlan, err error) { 3656 var done bool 3657 done, err = future.DoneWithContext(context.Background(), client) 3658 if err != nil { 3659 err = autorest.NewErrorWithError(err, "web.AppServicePlansCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") 3660 return 3661 } 3662 if !done { 3663 asp.Response.Response = future.Response() 3664 err = azure.NewAsyncOpIncompleteError("web.AppServicePlansCreateOrUpdateFuture") 3665 return 3666 } 3667 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 3668 if asp.Response.Response, err = future.GetResult(sender); err == nil && asp.Response.Response.StatusCode != http.StatusNoContent { 3669 asp, err = client.CreateOrUpdateResponder(asp.Response.Response) 3670 if err != nil { 3671 err = autorest.NewErrorWithError(err, "web.AppServicePlansCreateOrUpdateFuture", "Result", asp.Response.Response, "Failure responding to request") 3672 } 3673 } 3674 return 3675} 3676 3677// AppsInstallSiteExtensionFuture an abstraction for monitoring and retrieving the results of a 3678// long-running operation. 3679type AppsInstallSiteExtensionFuture 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(AppsClient) (SiteExtensionInfo, error) 3684} 3685 3686// UnmarshalJSON is the custom unmarshaller for CreateFuture. 3687func (future *AppsInstallSiteExtensionFuture) 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 AppsInstallSiteExtensionFuture.Result. 3698func (future *AppsInstallSiteExtensionFuture) result(client AppsClient) (sei SiteExtensionInfo, err error) { 3699 var done bool 3700 done, err = future.DoneWithContext(context.Background(), client) 3701 if err != nil { 3702 err = autorest.NewErrorWithError(err, "web.AppsInstallSiteExtensionFuture", "Result", future.Response(), "Polling failure") 3703 return 3704 } 3705 if !done { 3706 sei.Response.Response = future.Response() 3707 err = azure.NewAsyncOpIncompleteError("web.AppsInstallSiteExtensionFuture") 3708 return 3709 } 3710 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 3711 if sei.Response.Response, err = future.GetResult(sender); err == nil && sei.Response.Response.StatusCode != http.StatusNoContent { 3712 sei, err = client.InstallSiteExtensionResponder(sei.Response.Response) 3713 if err != nil { 3714 err = autorest.NewErrorWithError(err, "web.AppsInstallSiteExtensionFuture", "Result", sei.Response.Response, "Failure responding to request") 3715 } 3716 } 3717 return 3718} 3719 3720// AppsInstallSiteExtensionSlotFuture an abstraction for monitoring and retrieving the results of a 3721// long-running operation. 3722type AppsInstallSiteExtensionSlotFuture struct { 3723 azure.FutureAPI 3724 // Result returns the result of the asynchronous operation. 3725 // If the operation has not completed it will return an error. 3726 Result func(AppsClient) (SiteExtensionInfo, error) 3727} 3728 3729// UnmarshalJSON is the custom unmarshaller for CreateFuture. 3730func (future *AppsInstallSiteExtensionSlotFuture) UnmarshalJSON(body []byte) error { 3731 var azFuture azure.Future 3732 if err := json.Unmarshal(body, &azFuture); err != nil { 3733 return err 3734 } 3735 future.FutureAPI = &azFuture 3736 future.Result = future.result 3737 return nil 3738} 3739 3740// result is the default implementation for AppsInstallSiteExtensionSlotFuture.Result. 3741func (future *AppsInstallSiteExtensionSlotFuture) result(client AppsClient) (sei SiteExtensionInfo, err error) { 3742 var done bool 3743 done, err = future.DoneWithContext(context.Background(), client) 3744 if err != nil { 3745 err = autorest.NewErrorWithError(err, "web.AppsInstallSiteExtensionSlotFuture", "Result", future.Response(), "Polling failure") 3746 return 3747 } 3748 if !done { 3749 sei.Response.Response = future.Response() 3750 err = azure.NewAsyncOpIncompleteError("web.AppsInstallSiteExtensionSlotFuture") 3751 return 3752 } 3753 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 3754 if sei.Response.Response, err = future.GetResult(sender); err == nil && sei.Response.Response.StatusCode != http.StatusNoContent { 3755 sei, err = client.InstallSiteExtensionSlotResponder(sei.Response.Response) 3756 if err != nil { 3757 err = autorest.NewErrorWithError(err, "web.AppsInstallSiteExtensionSlotFuture", "Result", sei.Response.Response, "Failure responding to request") 3758 } 3759 } 3760 return 3761} 3762 3763// AppsListPublishingCredentialsFuture an abstraction for monitoring and retrieving the results of a 3764// long-running operation. 3765type AppsListPublishingCredentialsFuture struct { 3766 azure.FutureAPI 3767 // Result returns the result of the asynchronous operation. 3768 // If the operation has not completed it will return an error. 3769 Result func(AppsClient) (User, error) 3770} 3771 3772// UnmarshalJSON is the custom unmarshaller for CreateFuture. 3773func (future *AppsListPublishingCredentialsFuture) UnmarshalJSON(body []byte) error { 3774 var azFuture azure.Future 3775 if err := json.Unmarshal(body, &azFuture); err != nil { 3776 return err 3777 } 3778 future.FutureAPI = &azFuture 3779 future.Result = future.result 3780 return nil 3781} 3782 3783// result is the default implementation for AppsListPublishingCredentialsFuture.Result. 3784func (future *AppsListPublishingCredentialsFuture) result(client AppsClient) (u User, err error) { 3785 var done bool 3786 done, err = future.DoneWithContext(context.Background(), client) 3787 if err != nil { 3788 err = autorest.NewErrorWithError(err, "web.AppsListPublishingCredentialsFuture", "Result", future.Response(), "Polling failure") 3789 return 3790 } 3791 if !done { 3792 u.Response.Response = future.Response() 3793 err = azure.NewAsyncOpIncompleteError("web.AppsListPublishingCredentialsFuture") 3794 return 3795 } 3796 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 3797 if u.Response.Response, err = future.GetResult(sender); err == nil && u.Response.Response.StatusCode != http.StatusNoContent { 3798 u, err = client.ListPublishingCredentialsResponder(u.Response.Response) 3799 if err != nil { 3800 err = autorest.NewErrorWithError(err, "web.AppsListPublishingCredentialsFuture", "Result", u.Response.Response, "Failure responding to request") 3801 } 3802 } 3803 return 3804} 3805 3806// AppsListPublishingCredentialsSlotFuture an abstraction for monitoring and retrieving the results of a 3807// long-running operation. 3808type AppsListPublishingCredentialsSlotFuture struct { 3809 azure.FutureAPI 3810 // Result returns the result of the asynchronous operation. 3811 // If the operation has not completed it will return an error. 3812 Result func(AppsClient) (User, error) 3813} 3814 3815// UnmarshalJSON is the custom unmarshaller for CreateFuture. 3816func (future *AppsListPublishingCredentialsSlotFuture) UnmarshalJSON(body []byte) error { 3817 var azFuture azure.Future 3818 if err := json.Unmarshal(body, &azFuture); err != nil { 3819 return err 3820 } 3821 future.FutureAPI = &azFuture 3822 future.Result = future.result 3823 return nil 3824} 3825 3826// result is the default implementation for AppsListPublishingCredentialsSlotFuture.Result. 3827func (future *AppsListPublishingCredentialsSlotFuture) result(client AppsClient) (u User, err error) { 3828 var done bool 3829 done, err = future.DoneWithContext(context.Background(), client) 3830 if err != nil { 3831 err = autorest.NewErrorWithError(err, "web.AppsListPublishingCredentialsSlotFuture", "Result", future.Response(), "Polling failure") 3832 return 3833 } 3834 if !done { 3835 u.Response.Response = future.Response() 3836 err = azure.NewAsyncOpIncompleteError("web.AppsListPublishingCredentialsSlotFuture") 3837 return 3838 } 3839 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 3840 if u.Response.Response, err = future.GetResult(sender); err == nil && u.Response.Response.StatusCode != http.StatusNoContent { 3841 u, err = client.ListPublishingCredentialsSlotResponder(u.Response.Response) 3842 if err != nil { 3843 err = autorest.NewErrorWithError(err, "web.AppsListPublishingCredentialsSlotFuture", "Result", u.Response.Response, "Failure responding to request") 3844 } 3845 } 3846 return 3847} 3848 3849// AppsMigrateMySQLFuture an abstraction for monitoring and retrieving the results of a long-running 3850// operation. 3851type AppsMigrateMySQLFuture struct { 3852 azure.FutureAPI 3853 // Result returns the result of the asynchronous operation. 3854 // If the operation has not completed it will return an error. 3855 Result func(AppsClient) (Operation, error) 3856} 3857 3858// UnmarshalJSON is the custom unmarshaller for CreateFuture. 3859func (future *AppsMigrateMySQLFuture) UnmarshalJSON(body []byte) error { 3860 var azFuture azure.Future 3861 if err := json.Unmarshal(body, &azFuture); err != nil { 3862 return err 3863 } 3864 future.FutureAPI = &azFuture 3865 future.Result = future.result 3866 return nil 3867} 3868 3869// result is the default implementation for AppsMigrateMySQLFuture.Result. 3870func (future *AppsMigrateMySQLFuture) result(client AppsClient) (o Operation, err error) { 3871 var done bool 3872 done, err = future.DoneWithContext(context.Background(), client) 3873 if err != nil { 3874 err = autorest.NewErrorWithError(err, "web.AppsMigrateMySQLFuture", "Result", future.Response(), "Polling failure") 3875 return 3876 } 3877 if !done { 3878 o.Response.Response = future.Response() 3879 err = azure.NewAsyncOpIncompleteError("web.AppsMigrateMySQLFuture") 3880 return 3881 } 3882 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 3883 if o.Response.Response, err = future.GetResult(sender); err == nil && o.Response.Response.StatusCode != http.StatusNoContent { 3884 o, err = client.MigrateMySQLResponder(o.Response.Response) 3885 if err != nil { 3886 err = autorest.NewErrorWithError(err, "web.AppsMigrateMySQLFuture", "Result", o.Response.Response, "Failure responding to request") 3887 } 3888 } 3889 return 3890} 3891 3892// AppsMigrateStorageFuture an abstraction for monitoring and retrieving the results of a long-running 3893// operation. 3894type AppsMigrateStorageFuture struct { 3895 azure.FutureAPI 3896 // Result returns the result of the asynchronous operation. 3897 // If the operation has not completed it will return an error. 3898 Result func(AppsClient) (StorageMigrationResponse, error) 3899} 3900 3901// UnmarshalJSON is the custom unmarshaller for CreateFuture. 3902func (future *AppsMigrateStorageFuture) UnmarshalJSON(body []byte) error { 3903 var azFuture azure.Future 3904 if err := json.Unmarshal(body, &azFuture); err != nil { 3905 return err 3906 } 3907 future.FutureAPI = &azFuture 3908 future.Result = future.result 3909 return nil 3910} 3911 3912// result is the default implementation for AppsMigrateStorageFuture.Result. 3913func (future *AppsMigrateStorageFuture) result(client AppsClient) (smr StorageMigrationResponse, err error) { 3914 var done bool 3915 done, err = future.DoneWithContext(context.Background(), client) 3916 if err != nil { 3917 err = autorest.NewErrorWithError(err, "web.AppsMigrateStorageFuture", "Result", future.Response(), "Polling failure") 3918 return 3919 } 3920 if !done { 3921 smr.Response.Response = future.Response() 3922 err = azure.NewAsyncOpIncompleteError("web.AppsMigrateStorageFuture") 3923 return 3924 } 3925 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 3926 if smr.Response.Response, err = future.GetResult(sender); err == nil && smr.Response.Response.StatusCode != http.StatusNoContent { 3927 smr, err = client.MigrateStorageResponder(smr.Response.Response) 3928 if err != nil { 3929 err = autorest.NewErrorWithError(err, "web.AppsMigrateStorageFuture", "Result", smr.Response.Response, "Failure responding to request") 3930 } 3931 } 3932 return 3933} 3934 3935// AppsRestoreFromBackupBlobFuture an abstraction for monitoring and retrieving the results of a 3936// long-running operation. 3937type AppsRestoreFromBackupBlobFuture struct { 3938 azure.FutureAPI 3939 // Result returns the result of the asynchronous operation. 3940 // If the operation has not completed it will return an error. 3941 Result func(AppsClient) (autorest.Response, error) 3942} 3943 3944// UnmarshalJSON is the custom unmarshaller for CreateFuture. 3945func (future *AppsRestoreFromBackupBlobFuture) UnmarshalJSON(body []byte) error { 3946 var azFuture azure.Future 3947 if err := json.Unmarshal(body, &azFuture); err != nil { 3948 return err 3949 } 3950 future.FutureAPI = &azFuture 3951 future.Result = future.result 3952 return nil 3953} 3954 3955// result is the default implementation for AppsRestoreFromBackupBlobFuture.Result. 3956func (future *AppsRestoreFromBackupBlobFuture) result(client AppsClient) (ar autorest.Response, err error) { 3957 var done bool 3958 done, err = future.DoneWithContext(context.Background(), client) 3959 if err != nil { 3960 err = autorest.NewErrorWithError(err, "web.AppsRestoreFromBackupBlobFuture", "Result", future.Response(), "Polling failure") 3961 return 3962 } 3963 if !done { 3964 ar.Response = future.Response() 3965 err = azure.NewAsyncOpIncompleteError("web.AppsRestoreFromBackupBlobFuture") 3966 return 3967 } 3968 ar.Response = future.Response() 3969 return 3970} 3971 3972// AppsRestoreFromBackupBlobSlotFuture an abstraction for monitoring and retrieving the results of a 3973// long-running operation. 3974type AppsRestoreFromBackupBlobSlotFuture struct { 3975 azure.FutureAPI 3976 // Result returns the result of the asynchronous operation. 3977 // If the operation has not completed it will return an error. 3978 Result func(AppsClient) (autorest.Response, error) 3979} 3980 3981// UnmarshalJSON is the custom unmarshaller for CreateFuture. 3982func (future *AppsRestoreFromBackupBlobSlotFuture) UnmarshalJSON(body []byte) error { 3983 var azFuture azure.Future 3984 if err := json.Unmarshal(body, &azFuture); err != nil { 3985 return err 3986 } 3987 future.FutureAPI = &azFuture 3988 future.Result = future.result 3989 return nil 3990} 3991 3992// result is the default implementation for AppsRestoreFromBackupBlobSlotFuture.Result. 3993func (future *AppsRestoreFromBackupBlobSlotFuture) result(client AppsClient) (ar autorest.Response, err error) { 3994 var done bool 3995 done, err = future.DoneWithContext(context.Background(), client) 3996 if err != nil { 3997 err = autorest.NewErrorWithError(err, "web.AppsRestoreFromBackupBlobSlotFuture", "Result", future.Response(), "Polling failure") 3998 return 3999 } 4000 if !done { 4001 ar.Response = future.Response() 4002 err = azure.NewAsyncOpIncompleteError("web.AppsRestoreFromBackupBlobSlotFuture") 4003 return 4004 } 4005 ar.Response = future.Response() 4006 return 4007} 4008 4009// AppsRestoreFromDeletedAppFuture an abstraction for monitoring and retrieving the results of a 4010// long-running operation. 4011type AppsRestoreFromDeletedAppFuture struct { 4012 azure.FutureAPI 4013 // Result returns the result of the asynchronous operation. 4014 // If the operation has not completed it will return an error. 4015 Result func(AppsClient) (autorest.Response, error) 4016} 4017 4018// UnmarshalJSON is the custom unmarshaller for CreateFuture. 4019func (future *AppsRestoreFromDeletedAppFuture) UnmarshalJSON(body []byte) error { 4020 var azFuture azure.Future 4021 if err := json.Unmarshal(body, &azFuture); err != nil { 4022 return err 4023 } 4024 future.FutureAPI = &azFuture 4025 future.Result = future.result 4026 return nil 4027} 4028 4029// result is the default implementation for AppsRestoreFromDeletedAppFuture.Result. 4030func (future *AppsRestoreFromDeletedAppFuture) result(client AppsClient) (ar autorest.Response, err error) { 4031 var done bool 4032 done, err = future.DoneWithContext(context.Background(), client) 4033 if err != nil { 4034 err = autorest.NewErrorWithError(err, "web.AppsRestoreFromDeletedAppFuture", "Result", future.Response(), "Polling failure") 4035 return 4036 } 4037 if !done { 4038 ar.Response = future.Response() 4039 err = azure.NewAsyncOpIncompleteError("web.AppsRestoreFromDeletedAppFuture") 4040 return 4041 } 4042 ar.Response = future.Response() 4043 return 4044} 4045 4046// AppsRestoreFromDeletedAppSlotFuture an abstraction for monitoring and retrieving the results of a 4047// long-running operation. 4048type AppsRestoreFromDeletedAppSlotFuture struct { 4049 azure.FutureAPI 4050 // Result returns the result of the asynchronous operation. 4051 // If the operation has not completed it will return an error. 4052 Result func(AppsClient) (autorest.Response, error) 4053} 4054 4055// UnmarshalJSON is the custom unmarshaller for CreateFuture. 4056func (future *AppsRestoreFromDeletedAppSlotFuture) UnmarshalJSON(body []byte) error { 4057 var azFuture azure.Future 4058 if err := json.Unmarshal(body, &azFuture); err != nil { 4059 return err 4060 } 4061 future.FutureAPI = &azFuture 4062 future.Result = future.result 4063 return nil 4064} 4065 4066// result is the default implementation for AppsRestoreFromDeletedAppSlotFuture.Result. 4067func (future *AppsRestoreFromDeletedAppSlotFuture) result(client AppsClient) (ar autorest.Response, err error) { 4068 var done bool 4069 done, err = future.DoneWithContext(context.Background(), client) 4070 if err != nil { 4071 err = autorest.NewErrorWithError(err, "web.AppsRestoreFromDeletedAppSlotFuture", "Result", future.Response(), "Polling failure") 4072 return 4073 } 4074 if !done { 4075 ar.Response = future.Response() 4076 err = azure.NewAsyncOpIncompleteError("web.AppsRestoreFromDeletedAppSlotFuture") 4077 return 4078 } 4079 ar.Response = future.Response() 4080 return 4081} 4082 4083// AppsRestoreFuture an abstraction for monitoring and retrieving the results of a long-running operation. 4084type AppsRestoreFuture struct { 4085 azure.FutureAPI 4086 // Result returns the result of the asynchronous operation. 4087 // If the operation has not completed it will return an error. 4088 Result func(AppsClient) (autorest.Response, error) 4089} 4090 4091// UnmarshalJSON is the custom unmarshaller for CreateFuture. 4092func (future *AppsRestoreFuture) UnmarshalJSON(body []byte) error { 4093 var azFuture azure.Future 4094 if err := json.Unmarshal(body, &azFuture); err != nil { 4095 return err 4096 } 4097 future.FutureAPI = &azFuture 4098 future.Result = future.result 4099 return nil 4100} 4101 4102// result is the default implementation for AppsRestoreFuture.Result. 4103func (future *AppsRestoreFuture) result(client AppsClient) (ar autorest.Response, err error) { 4104 var done bool 4105 done, err = future.DoneWithContext(context.Background(), client) 4106 if err != nil { 4107 err = autorest.NewErrorWithError(err, "web.AppsRestoreFuture", "Result", future.Response(), "Polling failure") 4108 return 4109 } 4110 if !done { 4111 ar.Response = future.Response() 4112 err = azure.NewAsyncOpIncompleteError("web.AppsRestoreFuture") 4113 return 4114 } 4115 ar.Response = future.Response() 4116 return 4117} 4118 4119// AppsRestoreSlotFuture an abstraction for monitoring and retrieving the results of a long-running 4120// operation. 4121type AppsRestoreSlotFuture struct { 4122 azure.FutureAPI 4123 // Result returns the result of the asynchronous operation. 4124 // If the operation has not completed it will return an error. 4125 Result func(AppsClient) (autorest.Response, error) 4126} 4127 4128// UnmarshalJSON is the custom unmarshaller for CreateFuture. 4129func (future *AppsRestoreSlotFuture) UnmarshalJSON(body []byte) error { 4130 var azFuture azure.Future 4131 if err := json.Unmarshal(body, &azFuture); err != nil { 4132 return err 4133 } 4134 future.FutureAPI = &azFuture 4135 future.Result = future.result 4136 return nil 4137} 4138 4139// result is the default implementation for AppsRestoreSlotFuture.Result. 4140func (future *AppsRestoreSlotFuture) result(client AppsClient) (ar autorest.Response, err error) { 4141 var done bool 4142 done, err = future.DoneWithContext(context.Background(), client) 4143 if err != nil { 4144 err = autorest.NewErrorWithError(err, "web.AppsRestoreSlotFuture", "Result", future.Response(), "Polling failure") 4145 return 4146 } 4147 if !done { 4148 ar.Response = future.Response() 4149 err = azure.NewAsyncOpIncompleteError("web.AppsRestoreSlotFuture") 4150 return 4151 } 4152 ar.Response = future.Response() 4153 return 4154} 4155 4156// AppsRestoreSnapshotFuture an abstraction for monitoring and retrieving the results of a long-running 4157// operation. 4158type AppsRestoreSnapshotFuture struct { 4159 azure.FutureAPI 4160 // Result returns the result of the asynchronous operation. 4161 // If the operation has not completed it will return an error. 4162 Result func(AppsClient) (autorest.Response, error) 4163} 4164 4165// UnmarshalJSON is the custom unmarshaller for CreateFuture. 4166func (future *AppsRestoreSnapshotFuture) UnmarshalJSON(body []byte) error { 4167 var azFuture azure.Future 4168 if err := json.Unmarshal(body, &azFuture); err != nil { 4169 return err 4170 } 4171 future.FutureAPI = &azFuture 4172 future.Result = future.result 4173 return nil 4174} 4175 4176// result is the default implementation for AppsRestoreSnapshotFuture.Result. 4177func (future *AppsRestoreSnapshotFuture) result(client AppsClient) (ar autorest.Response, err error) { 4178 var done bool 4179 done, err = future.DoneWithContext(context.Background(), client) 4180 if err != nil { 4181 err = autorest.NewErrorWithError(err, "web.AppsRestoreSnapshotFuture", "Result", future.Response(), "Polling failure") 4182 return 4183 } 4184 if !done { 4185 ar.Response = future.Response() 4186 err = azure.NewAsyncOpIncompleteError("web.AppsRestoreSnapshotFuture") 4187 return 4188 } 4189 ar.Response = future.Response() 4190 return 4191} 4192 4193// AppsRestoreSnapshotSlotFuture an abstraction for monitoring and retrieving the results of a long-running 4194// operation. 4195type AppsRestoreSnapshotSlotFuture struct { 4196 azure.FutureAPI 4197 // Result returns the result of the asynchronous operation. 4198 // If the operation has not completed it will return an error. 4199 Result func(AppsClient) (autorest.Response, error) 4200} 4201 4202// UnmarshalJSON is the custom unmarshaller for CreateFuture. 4203func (future *AppsRestoreSnapshotSlotFuture) UnmarshalJSON(body []byte) error { 4204 var azFuture azure.Future 4205 if err := json.Unmarshal(body, &azFuture); err != nil { 4206 return err 4207 } 4208 future.FutureAPI = &azFuture 4209 future.Result = future.result 4210 return nil 4211} 4212 4213// result is the default implementation for AppsRestoreSnapshotSlotFuture.Result. 4214func (future *AppsRestoreSnapshotSlotFuture) result(client AppsClient) (ar autorest.Response, err error) { 4215 var done bool 4216 done, err = future.DoneWithContext(context.Background(), client) 4217 if err != nil { 4218 err = autorest.NewErrorWithError(err, "web.AppsRestoreSnapshotSlotFuture", "Result", future.Response(), "Polling failure") 4219 return 4220 } 4221 if !done { 4222 ar.Response = future.Response() 4223 err = azure.NewAsyncOpIncompleteError("web.AppsRestoreSnapshotSlotFuture") 4224 return 4225 } 4226 ar.Response = future.Response() 4227 return 4228} 4229 4230// AppsStartNetworkTraceFuture an abstraction for monitoring and retrieving the results of a long-running 4231// operation. 4232type AppsStartNetworkTraceFuture struct { 4233 azure.FutureAPI 4234 // Result returns the result of the asynchronous operation. 4235 // If the operation has not completed it will return an error. 4236 Result func(AppsClient) (ListNetworkTrace, error) 4237} 4238 4239// UnmarshalJSON is the custom unmarshaller for CreateFuture. 4240func (future *AppsStartNetworkTraceFuture) UnmarshalJSON(body []byte) error { 4241 var azFuture azure.Future 4242 if err := json.Unmarshal(body, &azFuture); err != nil { 4243 return err 4244 } 4245 future.FutureAPI = &azFuture 4246 future.Result = future.result 4247 return nil 4248} 4249 4250// result is the default implementation for AppsStartNetworkTraceFuture.Result. 4251func (future *AppsStartNetworkTraceFuture) result(client AppsClient) (lnt ListNetworkTrace, err error) { 4252 var done bool 4253 done, err = future.DoneWithContext(context.Background(), client) 4254 if err != nil { 4255 err = autorest.NewErrorWithError(err, "web.AppsStartNetworkTraceFuture", "Result", future.Response(), "Polling failure") 4256 return 4257 } 4258 if !done { 4259 lnt.Response.Response = future.Response() 4260 err = azure.NewAsyncOpIncompleteError("web.AppsStartNetworkTraceFuture") 4261 return 4262 } 4263 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 4264 if lnt.Response.Response, err = future.GetResult(sender); err == nil && lnt.Response.Response.StatusCode != http.StatusNoContent { 4265 lnt, err = client.StartNetworkTraceResponder(lnt.Response.Response) 4266 if err != nil { 4267 err = autorest.NewErrorWithError(err, "web.AppsStartNetworkTraceFuture", "Result", lnt.Response.Response, "Failure responding to request") 4268 } 4269 } 4270 return 4271} 4272 4273// AppsStartNetworkTraceSlotFuture an abstraction for monitoring and retrieving the results of a 4274// long-running operation. 4275type AppsStartNetworkTraceSlotFuture struct { 4276 azure.FutureAPI 4277 // Result returns the result of the asynchronous operation. 4278 // If the operation has not completed it will return an error. 4279 Result func(AppsClient) (ListNetworkTrace, error) 4280} 4281 4282// UnmarshalJSON is the custom unmarshaller for CreateFuture. 4283func (future *AppsStartNetworkTraceSlotFuture) UnmarshalJSON(body []byte) error { 4284 var azFuture azure.Future 4285 if err := json.Unmarshal(body, &azFuture); err != nil { 4286 return err 4287 } 4288 future.FutureAPI = &azFuture 4289 future.Result = future.result 4290 return nil 4291} 4292 4293// result is the default implementation for AppsStartNetworkTraceSlotFuture.Result. 4294func (future *AppsStartNetworkTraceSlotFuture) result(client AppsClient) (lnt ListNetworkTrace, err error) { 4295 var done bool 4296 done, err = future.DoneWithContext(context.Background(), client) 4297 if err != nil { 4298 err = autorest.NewErrorWithError(err, "web.AppsStartNetworkTraceSlotFuture", "Result", future.Response(), "Polling failure") 4299 return 4300 } 4301 if !done { 4302 lnt.Response.Response = future.Response() 4303 err = azure.NewAsyncOpIncompleteError("web.AppsStartNetworkTraceSlotFuture") 4304 return 4305 } 4306 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 4307 if lnt.Response.Response, err = future.GetResult(sender); err == nil && lnt.Response.Response.StatusCode != http.StatusNoContent { 4308 lnt, err = client.StartNetworkTraceSlotResponder(lnt.Response.Response) 4309 if err != nil { 4310 err = autorest.NewErrorWithError(err, "web.AppsStartNetworkTraceSlotFuture", "Result", lnt.Response.Response, "Failure responding to request") 4311 } 4312 } 4313 return 4314} 4315 4316// AppsStartWebSiteNetworkTraceOperationFuture an abstraction for monitoring and retrieving the results of 4317// a long-running operation. 4318type AppsStartWebSiteNetworkTraceOperationFuture struct { 4319 azure.FutureAPI 4320 // Result returns the result of the asynchronous operation. 4321 // If the operation has not completed it will return an error. 4322 Result func(AppsClient) (ListNetworkTrace, error) 4323} 4324 4325// UnmarshalJSON is the custom unmarshaller for CreateFuture. 4326func (future *AppsStartWebSiteNetworkTraceOperationFuture) UnmarshalJSON(body []byte) error { 4327 var azFuture azure.Future 4328 if err := json.Unmarshal(body, &azFuture); err != nil { 4329 return err 4330 } 4331 future.FutureAPI = &azFuture 4332 future.Result = future.result 4333 return nil 4334} 4335 4336// result is the default implementation for AppsStartWebSiteNetworkTraceOperationFuture.Result. 4337func (future *AppsStartWebSiteNetworkTraceOperationFuture) result(client AppsClient) (lnt ListNetworkTrace, err error) { 4338 var done bool 4339 done, err = future.DoneWithContext(context.Background(), client) 4340 if err != nil { 4341 err = autorest.NewErrorWithError(err, "web.AppsStartWebSiteNetworkTraceOperationFuture", "Result", future.Response(), "Polling failure") 4342 return 4343 } 4344 if !done { 4345 lnt.Response.Response = future.Response() 4346 err = azure.NewAsyncOpIncompleteError("web.AppsStartWebSiteNetworkTraceOperationFuture") 4347 return 4348 } 4349 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 4350 if lnt.Response.Response, err = future.GetResult(sender); err == nil && lnt.Response.Response.StatusCode != http.StatusNoContent { 4351 lnt, err = client.StartWebSiteNetworkTraceOperationResponder(lnt.Response.Response) 4352 if err != nil { 4353 err = autorest.NewErrorWithError(err, "web.AppsStartWebSiteNetworkTraceOperationFuture", "Result", lnt.Response.Response, "Failure responding to request") 4354 } 4355 } 4356 return 4357} 4358 4359// AppsStartWebSiteNetworkTraceOperationSlotFuture an abstraction for monitoring and retrieving the results 4360// of a long-running operation. 4361type AppsStartWebSiteNetworkTraceOperationSlotFuture struct { 4362 azure.FutureAPI 4363 // Result returns the result of the asynchronous operation. 4364 // If the operation has not completed it will return an error. 4365 Result func(AppsClient) (ListNetworkTrace, error) 4366} 4367 4368// UnmarshalJSON is the custom unmarshaller for CreateFuture. 4369func (future *AppsStartWebSiteNetworkTraceOperationSlotFuture) UnmarshalJSON(body []byte) error { 4370 var azFuture azure.Future 4371 if err := json.Unmarshal(body, &azFuture); err != nil { 4372 return err 4373 } 4374 future.FutureAPI = &azFuture 4375 future.Result = future.result 4376 return nil 4377} 4378 4379// result is the default implementation for AppsStartWebSiteNetworkTraceOperationSlotFuture.Result. 4380func (future *AppsStartWebSiteNetworkTraceOperationSlotFuture) result(client AppsClient) (lnt ListNetworkTrace, err error) { 4381 var done bool 4382 done, err = future.DoneWithContext(context.Background(), client) 4383 if err != nil { 4384 err = autorest.NewErrorWithError(err, "web.AppsStartWebSiteNetworkTraceOperationSlotFuture", "Result", future.Response(), "Polling failure") 4385 return 4386 } 4387 if !done { 4388 lnt.Response.Response = future.Response() 4389 err = azure.NewAsyncOpIncompleteError("web.AppsStartWebSiteNetworkTraceOperationSlotFuture") 4390 return 4391 } 4392 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 4393 if lnt.Response.Response, err = future.GetResult(sender); err == nil && lnt.Response.Response.StatusCode != http.StatusNoContent { 4394 lnt, err = client.StartWebSiteNetworkTraceOperationSlotResponder(lnt.Response.Response) 4395 if err != nil { 4396 err = autorest.NewErrorWithError(err, "web.AppsStartWebSiteNetworkTraceOperationSlotFuture", "Result", lnt.Response.Response, "Failure responding to request") 4397 } 4398 } 4399 return 4400} 4401 4402// AppsSwapSlotSlotFuture an abstraction for monitoring and retrieving the results of a long-running 4403// operation. 4404type AppsSwapSlotSlotFuture struct { 4405 azure.FutureAPI 4406 // Result returns the result of the asynchronous operation. 4407 // If the operation has not completed it will return an error. 4408 Result func(AppsClient) (autorest.Response, error) 4409} 4410 4411// UnmarshalJSON is the custom unmarshaller for CreateFuture. 4412func (future *AppsSwapSlotSlotFuture) UnmarshalJSON(body []byte) error { 4413 var azFuture azure.Future 4414 if err := json.Unmarshal(body, &azFuture); err != nil { 4415 return err 4416 } 4417 future.FutureAPI = &azFuture 4418 future.Result = future.result 4419 return nil 4420} 4421 4422// result is the default implementation for AppsSwapSlotSlotFuture.Result. 4423func (future *AppsSwapSlotSlotFuture) result(client AppsClient) (ar autorest.Response, err error) { 4424 var done bool 4425 done, err = future.DoneWithContext(context.Background(), client) 4426 if err != nil { 4427 err = autorest.NewErrorWithError(err, "web.AppsSwapSlotSlotFuture", "Result", future.Response(), "Polling failure") 4428 return 4429 } 4430 if !done { 4431 ar.Response = future.Response() 4432 err = azure.NewAsyncOpIncompleteError("web.AppsSwapSlotSlotFuture") 4433 return 4434 } 4435 ar.Response = future.Response() 4436 return 4437} 4438 4439// AppsSwapSlotWithProductionFuture an abstraction for monitoring and retrieving the results of a 4440// long-running operation. 4441type AppsSwapSlotWithProductionFuture struct { 4442 azure.FutureAPI 4443 // Result returns the result of the asynchronous operation. 4444 // If the operation has not completed it will return an error. 4445 Result func(AppsClient) (autorest.Response, error) 4446} 4447 4448// UnmarshalJSON is the custom unmarshaller for CreateFuture. 4449func (future *AppsSwapSlotWithProductionFuture) UnmarshalJSON(body []byte) error { 4450 var azFuture azure.Future 4451 if err := json.Unmarshal(body, &azFuture); err != nil { 4452 return err 4453 } 4454 future.FutureAPI = &azFuture 4455 future.Result = future.result 4456 return nil 4457} 4458 4459// result is the default implementation for AppsSwapSlotWithProductionFuture.Result. 4460func (future *AppsSwapSlotWithProductionFuture) result(client AppsClient) (ar autorest.Response, err error) { 4461 var done bool 4462 done, err = future.DoneWithContext(context.Background(), client) 4463 if err != nil { 4464 err = autorest.NewErrorWithError(err, "web.AppsSwapSlotWithProductionFuture", "Result", future.Response(), "Polling failure") 4465 return 4466 } 4467 if !done { 4468 ar.Response = future.Response() 4469 err = azure.NewAsyncOpIncompleteError("web.AppsSwapSlotWithProductionFuture") 4470 return 4471 } 4472 ar.Response = future.Response() 4473 return 4474} 4475 4476// AutoHealActions actions which to take by the auto-heal module when a rule is triggered. 4477type AutoHealActions struct { 4478 // ActionType - Predefined action to be taken. Possible values include: 'Recycle', 'LogEvent', 'CustomAction' 4479 ActionType AutoHealActionType `json:"actionType,omitempty"` 4480 // CustomAction - Custom action to be taken. 4481 CustomAction *AutoHealCustomAction `json:"customAction,omitempty"` 4482 // MinProcessExecutionTime - Minimum time the process must execute 4483 // before taking the action 4484 MinProcessExecutionTime *string `json:"minProcessExecutionTime,omitempty"` 4485} 4486 4487// AutoHealCustomAction custom action to be executed 4488// when an auto heal rule is triggered. 4489type AutoHealCustomAction struct { 4490 // Exe - Executable to be run. 4491 Exe *string `json:"exe,omitempty"` 4492 // Parameters - Parameters for the executable. 4493 Parameters *string `json:"parameters,omitempty"` 4494} 4495 4496// AutoHealRules rules that can be defined for auto-heal. 4497type AutoHealRules struct { 4498 // Triggers - Conditions that describe when to execute the auto-heal actions. 4499 Triggers *AutoHealTriggers `json:"triggers,omitempty"` 4500 // Actions - Actions to be executed when a rule is triggered. 4501 Actions *AutoHealActions `json:"actions,omitempty"` 4502} 4503 4504// AutoHealTriggers triggers for auto-heal. 4505type AutoHealTriggers struct { 4506 // Requests - A rule based on total requests. 4507 Requests *RequestsBasedTrigger `json:"requests,omitempty"` 4508 // PrivateBytesInKB - A rule based on private bytes. 4509 PrivateBytesInKB *int32 `json:"privateBytesInKB,omitempty"` 4510 // StatusCodes - A rule based on status codes. 4511 StatusCodes *[]StatusCodesBasedTrigger `json:"statusCodes,omitempty"` 4512 // SlowRequests - A rule based on request execution time. 4513 SlowRequests *SlowRequestsBasedTrigger `json:"slowRequests,omitempty"` 4514} 4515 4516// AzureBlobStorageApplicationLogsConfig application logs azure blob storage configuration. 4517type AzureBlobStorageApplicationLogsConfig struct { 4518 // Level - Log level. Possible values include: 'Off', 'Verbose', 'Information', 'Warning', 'Error' 4519 Level LogLevel `json:"level,omitempty"` 4520 // SasURL - SAS url to a azure blob container with read/write/list/delete permissions. 4521 SasURL *string `json:"sasUrl,omitempty"` 4522 // RetentionInDays - Retention in days. 4523 // Remove blobs older than X days. 4524 // 0 or lower means no retention. 4525 RetentionInDays *int32 `json:"retentionInDays,omitempty"` 4526} 4527 4528// AzureBlobStorageHTTPLogsConfig http logs to azure blob storage configuration. 4529type AzureBlobStorageHTTPLogsConfig struct { 4530 // SasURL - SAS url to a azure blob container with read/write/list/delete permissions. 4531 SasURL *string `json:"sasUrl,omitempty"` 4532 // RetentionInDays - Retention in days. 4533 // Remove blobs older than X days. 4534 // 0 or lower means no retention. 4535 RetentionInDays *int32 `json:"retentionInDays,omitempty"` 4536 // Enabled - True if configuration is enabled, false if it is disabled and null if configuration is not set. 4537 Enabled *bool `json:"enabled,omitempty"` 4538} 4539 4540// AzureStorageInfoValue azure Files or Blob Storage access information value for dictionary storage. 4541type AzureStorageInfoValue struct { 4542 // Type - Type of storage. Possible values include: 'AzureFiles', 'AzureBlob' 4543 Type AzureStorageType `json:"type,omitempty"` 4544 // AccountName - Name of the storage account. 4545 AccountName *string `json:"accountName,omitempty"` 4546 // ShareName - Name of the file share (container name, for Blob storage). 4547 ShareName *string `json:"shareName,omitempty"` 4548 // AccessKey - Access key for the storage account. 4549 AccessKey *string `json:"accessKey,omitempty"` 4550 // MountPath - Path to mount the storage within the site's runtime environment. 4551 MountPath *string `json:"mountPath,omitempty"` 4552 // State - READ-ONLY; State of the storage account. Possible values include: 'Ok', 'InvalidCredentials', 'InvalidShare' 4553 State AzureStorageState `json:"state,omitempty"` 4554} 4555 4556// MarshalJSON is the custom marshaler for AzureStorageInfoValue. 4557func (asiv AzureStorageInfoValue) MarshalJSON() ([]byte, error) { 4558 objectMap := make(map[string]interface{}) 4559 if asiv.Type != "" { 4560 objectMap["type"] = asiv.Type 4561 } 4562 if asiv.AccountName != nil { 4563 objectMap["accountName"] = asiv.AccountName 4564 } 4565 if asiv.ShareName != nil { 4566 objectMap["shareName"] = asiv.ShareName 4567 } 4568 if asiv.AccessKey != nil { 4569 objectMap["accessKey"] = asiv.AccessKey 4570 } 4571 if asiv.MountPath != nil { 4572 objectMap["mountPath"] = asiv.MountPath 4573 } 4574 return json.Marshal(objectMap) 4575} 4576 4577// AzureStoragePropertyDictionaryResource azureStorageInfo dictionary resource. 4578type AzureStoragePropertyDictionaryResource struct { 4579 autorest.Response `json:"-"` 4580 // Properties - Azure storage accounts. 4581 Properties map[string]*AzureStorageInfoValue `json:"properties"` 4582 // ID - READ-ONLY; Resource Id. 4583 ID *string `json:"id,omitempty"` 4584 // Name - READ-ONLY; Resource Name. 4585 Name *string `json:"name,omitempty"` 4586 // Kind - Kind of resource. 4587 Kind *string `json:"kind,omitempty"` 4588 // Type - READ-ONLY; Resource type. 4589 Type *string `json:"type,omitempty"` 4590} 4591 4592// MarshalJSON is the custom marshaler for AzureStoragePropertyDictionaryResource. 4593func (aspdr AzureStoragePropertyDictionaryResource) MarshalJSON() ([]byte, error) { 4594 objectMap := make(map[string]interface{}) 4595 if aspdr.Properties != nil { 4596 objectMap["properties"] = aspdr.Properties 4597 } 4598 if aspdr.Kind != nil { 4599 objectMap["kind"] = aspdr.Kind 4600 } 4601 return json.Marshal(objectMap) 4602} 4603 4604// AzureTableStorageApplicationLogsConfig application logs to Azure table storage configuration. 4605type AzureTableStorageApplicationLogsConfig struct { 4606 // Level - Log level. Possible values include: 'Off', 'Verbose', 'Information', 'Warning', 'Error' 4607 Level LogLevel `json:"level,omitempty"` 4608 // SasURL - SAS URL to an Azure table with add/query/delete permissions. 4609 SasURL *string `json:"sasUrl,omitempty"` 4610} 4611 4612// BackupItem backup description. 4613type BackupItem struct { 4614 autorest.Response `json:"-"` 4615 // BackupItemProperties - BackupItem resource specific properties 4616 *BackupItemProperties `json:"properties,omitempty"` 4617 // ID - READ-ONLY; Resource Id. 4618 ID *string `json:"id,omitempty"` 4619 // Name - READ-ONLY; Resource Name. 4620 Name *string `json:"name,omitempty"` 4621 // Kind - Kind of resource. 4622 Kind *string `json:"kind,omitempty"` 4623 // Type - READ-ONLY; Resource type. 4624 Type *string `json:"type,omitempty"` 4625} 4626 4627// MarshalJSON is the custom marshaler for BackupItem. 4628func (bi BackupItem) MarshalJSON() ([]byte, error) { 4629 objectMap := make(map[string]interface{}) 4630 if bi.BackupItemProperties != nil { 4631 objectMap["properties"] = bi.BackupItemProperties 4632 } 4633 if bi.Kind != nil { 4634 objectMap["kind"] = bi.Kind 4635 } 4636 return json.Marshal(objectMap) 4637} 4638 4639// UnmarshalJSON is the custom unmarshaler for BackupItem struct. 4640func (bi *BackupItem) UnmarshalJSON(body []byte) error { 4641 var m map[string]*json.RawMessage 4642 err := json.Unmarshal(body, &m) 4643 if err != nil { 4644 return err 4645 } 4646 for k, v := range m { 4647 switch k { 4648 case "properties": 4649 if v != nil { 4650 var backupItemProperties BackupItemProperties 4651 err = json.Unmarshal(*v, &backupItemProperties) 4652 if err != nil { 4653 return err 4654 } 4655 bi.BackupItemProperties = &backupItemProperties 4656 } 4657 case "id": 4658 if v != nil { 4659 var ID string 4660 err = json.Unmarshal(*v, &ID) 4661 if err != nil { 4662 return err 4663 } 4664 bi.ID = &ID 4665 } 4666 case "name": 4667 if v != nil { 4668 var name string 4669 err = json.Unmarshal(*v, &name) 4670 if err != nil { 4671 return err 4672 } 4673 bi.Name = &name 4674 } 4675 case "kind": 4676 if v != nil { 4677 var kind string 4678 err = json.Unmarshal(*v, &kind) 4679 if err != nil { 4680 return err 4681 } 4682 bi.Kind = &kind 4683 } 4684 case "type": 4685 if v != nil { 4686 var typeVar string 4687 err = json.Unmarshal(*v, &typeVar) 4688 if err != nil { 4689 return err 4690 } 4691 bi.Type = &typeVar 4692 } 4693 } 4694 } 4695 4696 return nil 4697} 4698 4699// BackupItemCollection collection of backup items. 4700type BackupItemCollection struct { 4701 autorest.Response `json:"-"` 4702 // Value - Collection of resources. 4703 Value *[]BackupItem `json:"value,omitempty"` 4704 // NextLink - READ-ONLY; Link to next page of resources. 4705 NextLink *string `json:"nextLink,omitempty"` 4706} 4707 4708// MarshalJSON is the custom marshaler for BackupItemCollection. 4709func (bic BackupItemCollection) MarshalJSON() ([]byte, error) { 4710 objectMap := make(map[string]interface{}) 4711 if bic.Value != nil { 4712 objectMap["value"] = bic.Value 4713 } 4714 return json.Marshal(objectMap) 4715} 4716 4717// BackupItemCollectionIterator provides access to a complete listing of BackupItem values. 4718type BackupItemCollectionIterator struct { 4719 i int 4720 page BackupItemCollectionPage 4721} 4722 4723// NextWithContext advances to the next value. If there was an error making 4724// the request the iterator does not advance and the error is returned. 4725func (iter *BackupItemCollectionIterator) NextWithContext(ctx context.Context) (err error) { 4726 if tracing.IsEnabled() { 4727 ctx = tracing.StartSpan(ctx, fqdn+"/BackupItemCollectionIterator.NextWithContext") 4728 defer func() { 4729 sc := -1 4730 if iter.Response().Response.Response != nil { 4731 sc = iter.Response().Response.Response.StatusCode 4732 } 4733 tracing.EndSpan(ctx, sc, err) 4734 }() 4735 } 4736 iter.i++ 4737 if iter.i < len(iter.page.Values()) { 4738 return nil 4739 } 4740 err = iter.page.NextWithContext(ctx) 4741 if err != nil { 4742 iter.i-- 4743 return err 4744 } 4745 iter.i = 0 4746 return nil 4747} 4748 4749// Next advances to the next value. If there was an error making 4750// the request the iterator does not advance and the error is returned. 4751// Deprecated: Use NextWithContext() instead. 4752func (iter *BackupItemCollectionIterator) Next() error { 4753 return iter.NextWithContext(context.Background()) 4754} 4755 4756// NotDone returns true if the enumeration should be started or is not yet complete. 4757func (iter BackupItemCollectionIterator) NotDone() bool { 4758 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 4759} 4760 4761// Response returns the raw server response from the last page request. 4762func (iter BackupItemCollectionIterator) Response() BackupItemCollection { 4763 return iter.page.Response() 4764} 4765 4766// Value returns the current value or a zero-initialized value if the 4767// iterator has advanced beyond the end of the collection. 4768func (iter BackupItemCollectionIterator) Value() BackupItem { 4769 if !iter.page.NotDone() { 4770 return BackupItem{} 4771 } 4772 return iter.page.Values()[iter.i] 4773} 4774 4775// Creates a new instance of the BackupItemCollectionIterator type. 4776func NewBackupItemCollectionIterator(page BackupItemCollectionPage) BackupItemCollectionIterator { 4777 return BackupItemCollectionIterator{page: page} 4778} 4779 4780// IsEmpty returns true if the ListResult contains no values. 4781func (bic BackupItemCollection) IsEmpty() bool { 4782 return bic.Value == nil || len(*bic.Value) == 0 4783} 4784 4785// hasNextLink returns true if the NextLink is not empty. 4786func (bic BackupItemCollection) hasNextLink() bool { 4787 return bic.NextLink != nil && len(*bic.NextLink) != 0 4788} 4789 4790// backupItemCollectionPreparer prepares a request to retrieve the next set of results. 4791// It returns nil if no more results exist. 4792func (bic BackupItemCollection) backupItemCollectionPreparer(ctx context.Context) (*http.Request, error) { 4793 if !bic.hasNextLink() { 4794 return nil, nil 4795 } 4796 return autorest.Prepare((&http.Request{}).WithContext(ctx), 4797 autorest.AsJSON(), 4798 autorest.AsGet(), 4799 autorest.WithBaseURL(to.String(bic.NextLink))) 4800} 4801 4802// BackupItemCollectionPage contains a page of BackupItem values. 4803type BackupItemCollectionPage struct { 4804 fn func(context.Context, BackupItemCollection) (BackupItemCollection, error) 4805 bic BackupItemCollection 4806} 4807 4808// NextWithContext advances to the next page of values. If there was an error making 4809// the request the page does not advance and the error is returned. 4810func (page *BackupItemCollectionPage) NextWithContext(ctx context.Context) (err error) { 4811 if tracing.IsEnabled() { 4812 ctx = tracing.StartSpan(ctx, fqdn+"/BackupItemCollectionPage.NextWithContext") 4813 defer func() { 4814 sc := -1 4815 if page.Response().Response.Response != nil { 4816 sc = page.Response().Response.Response.StatusCode 4817 } 4818 tracing.EndSpan(ctx, sc, err) 4819 }() 4820 } 4821 for { 4822 next, err := page.fn(ctx, page.bic) 4823 if err != nil { 4824 return err 4825 } 4826 page.bic = next 4827 if !next.hasNextLink() || !next.IsEmpty() { 4828 break 4829 } 4830 } 4831 return nil 4832} 4833 4834// Next advances to the next page of values. If there was an error making 4835// the request the page does not advance and the error is returned. 4836// Deprecated: Use NextWithContext() instead. 4837func (page *BackupItemCollectionPage) Next() error { 4838 return page.NextWithContext(context.Background()) 4839} 4840 4841// NotDone returns true if the page enumeration should be started or is not yet complete. 4842func (page BackupItemCollectionPage) NotDone() bool { 4843 return !page.bic.IsEmpty() 4844} 4845 4846// Response returns the raw server response from the last page request. 4847func (page BackupItemCollectionPage) Response() BackupItemCollection { 4848 return page.bic 4849} 4850 4851// Values returns the slice of values for the current page or nil if there are no values. 4852func (page BackupItemCollectionPage) Values() []BackupItem { 4853 if page.bic.IsEmpty() { 4854 return nil 4855 } 4856 return *page.bic.Value 4857} 4858 4859// Creates a new instance of the BackupItemCollectionPage type. 4860func NewBackupItemCollectionPage(cur BackupItemCollection, getNextPage func(context.Context, BackupItemCollection) (BackupItemCollection, error)) BackupItemCollectionPage { 4861 return BackupItemCollectionPage{ 4862 fn: getNextPage, 4863 bic: cur, 4864 } 4865} 4866 4867// BackupItemProperties backupItem resource specific properties 4868type BackupItemProperties struct { 4869 // BackupID - READ-ONLY; Id of the backup. 4870 BackupID *int32 `json:"id,omitempty"` 4871 // StorageAccountURL - READ-ONLY; SAS URL for the storage account container which contains this backup. 4872 StorageAccountURL *string `json:"storageAccountUrl,omitempty"` 4873 // BlobName - READ-ONLY; Name of the blob which contains data for this backup. 4874 BlobName *string `json:"blobName,omitempty"` 4875 // Name - READ-ONLY; Name of this backup. 4876 Name *string `json:"name,omitempty"` 4877 // Status - READ-ONLY; Backup status. Possible values include: 'InProgress', 'Failed', 'Succeeded', 'TimedOut', 'Created', 'Skipped', 'PartiallySucceeded', 'DeleteInProgress', 'DeleteFailed', 'Deleted' 4878 Status BackupItemStatus `json:"status,omitempty"` 4879 // SizeInBytes - READ-ONLY; Size of the backup in bytes. 4880 SizeInBytes *int64 `json:"sizeInBytes,omitempty"` 4881 // Created - READ-ONLY; Timestamp of the backup creation. 4882 Created *date.Time `json:"created,omitempty"` 4883 // Log - READ-ONLY; Details regarding this backup. Might contain an error message. 4884 Log *string `json:"log,omitempty"` 4885 // Databases - READ-ONLY; List of databases included in the backup. 4886 Databases *[]DatabaseBackupSetting `json:"databases,omitempty"` 4887 // Scheduled - READ-ONLY; True if this backup has been created due to a schedule being triggered. 4888 Scheduled *bool `json:"scheduled,omitempty"` 4889 // LastRestoreTimeStamp - READ-ONLY; Timestamp of a last restore operation which used this backup. 4890 LastRestoreTimeStamp *date.Time `json:"lastRestoreTimeStamp,omitempty"` 4891 // FinishedTimeStamp - READ-ONLY; Timestamp when this backup finished. 4892 FinishedTimeStamp *date.Time `json:"finishedTimeStamp,omitempty"` 4893 // CorrelationID - READ-ONLY; Unique correlation identifier. Please use this along with the timestamp while communicating with Azure support. 4894 CorrelationID *string `json:"correlationId,omitempty"` 4895 // WebsiteSizeInBytes - READ-ONLY; Size of the original web app which has been backed up. 4896 WebsiteSizeInBytes *int64 `json:"websiteSizeInBytes,omitempty"` 4897} 4898 4899// MarshalJSON is the custom marshaler for BackupItemProperties. 4900func (bi BackupItemProperties) MarshalJSON() ([]byte, error) { 4901 objectMap := make(map[string]interface{}) 4902 return json.Marshal(objectMap) 4903} 4904 4905// BackupRequest description of a backup which will be performed. 4906type BackupRequest struct { 4907 autorest.Response `json:"-"` 4908 // BackupRequestProperties - BackupRequest resource specific properties 4909 *BackupRequestProperties `json:"properties,omitempty"` 4910 // ID - READ-ONLY; Resource Id. 4911 ID *string `json:"id,omitempty"` 4912 // Name - READ-ONLY; Resource Name. 4913 Name *string `json:"name,omitempty"` 4914 // Kind - Kind of resource. 4915 Kind *string `json:"kind,omitempty"` 4916 // Type - READ-ONLY; Resource type. 4917 Type *string `json:"type,omitempty"` 4918} 4919 4920// MarshalJSON is the custom marshaler for BackupRequest. 4921func (br BackupRequest) MarshalJSON() ([]byte, error) { 4922 objectMap := make(map[string]interface{}) 4923 if br.BackupRequestProperties != nil { 4924 objectMap["properties"] = br.BackupRequestProperties 4925 } 4926 if br.Kind != nil { 4927 objectMap["kind"] = br.Kind 4928 } 4929 return json.Marshal(objectMap) 4930} 4931 4932// UnmarshalJSON is the custom unmarshaler for BackupRequest struct. 4933func (br *BackupRequest) UnmarshalJSON(body []byte) error { 4934 var m map[string]*json.RawMessage 4935 err := json.Unmarshal(body, &m) 4936 if err != nil { 4937 return err 4938 } 4939 for k, v := range m { 4940 switch k { 4941 case "properties": 4942 if v != nil { 4943 var backupRequestProperties BackupRequestProperties 4944 err = json.Unmarshal(*v, &backupRequestProperties) 4945 if err != nil { 4946 return err 4947 } 4948 br.BackupRequestProperties = &backupRequestProperties 4949 } 4950 case "id": 4951 if v != nil { 4952 var ID string 4953 err = json.Unmarshal(*v, &ID) 4954 if err != nil { 4955 return err 4956 } 4957 br.ID = &ID 4958 } 4959 case "name": 4960 if v != nil { 4961 var name string 4962 err = json.Unmarshal(*v, &name) 4963 if err != nil { 4964 return err 4965 } 4966 br.Name = &name 4967 } 4968 case "kind": 4969 if v != nil { 4970 var kind string 4971 err = json.Unmarshal(*v, &kind) 4972 if err != nil { 4973 return err 4974 } 4975 br.Kind = &kind 4976 } 4977 case "type": 4978 if v != nil { 4979 var typeVar string 4980 err = json.Unmarshal(*v, &typeVar) 4981 if err != nil { 4982 return err 4983 } 4984 br.Type = &typeVar 4985 } 4986 } 4987 } 4988 4989 return nil 4990} 4991 4992// BackupRequestProperties backupRequest resource specific properties 4993type BackupRequestProperties struct { 4994 // BackupName - Name of the backup. 4995 BackupName *string `json:"backupName,omitempty"` 4996 // Enabled - True if the backup schedule is enabled (must be included in that case), false if the backup schedule should be disabled. 4997 Enabled *bool `json:"enabled,omitempty"` 4998 // StorageAccountURL - SAS URL to the container. 4999 StorageAccountURL *string `json:"storageAccountUrl,omitempty"` 5000 // BackupSchedule - Schedule for the backup if it is executed periodically. 5001 BackupSchedule *BackupSchedule `json:"backupSchedule,omitempty"` 5002 // Databases - Databases included in the backup. 5003 Databases *[]DatabaseBackupSetting `json:"databases,omitempty"` 5004} 5005 5006// BackupSchedule description of a backup schedule. Describes how often should be the backup performed and 5007// what should be the retention policy. 5008type BackupSchedule struct { 5009 // FrequencyInterval - How often the backup should be executed (e.g. for weekly backup, this should be set to 7 and FrequencyUnit should be set to Day) 5010 FrequencyInterval *int32 `json:"frequencyInterval,omitempty"` 5011 // FrequencyUnit - The unit of time for how often the backup should be executed (e.g. for weekly backup, this should be set to Day and FrequencyInterval should be set to 7). Possible values include: 'Day', 'Hour' 5012 FrequencyUnit FrequencyUnit `json:"frequencyUnit,omitempty"` 5013 // KeepAtLeastOneBackup - True if the retention policy should always keep at least one backup in the storage account, regardless how old it is; false otherwise. 5014 KeepAtLeastOneBackup *bool `json:"keepAtLeastOneBackup,omitempty"` 5015 // RetentionPeriodInDays - After how many days backups should be deleted. 5016 RetentionPeriodInDays *int32 `json:"retentionPeriodInDays,omitempty"` 5017 // StartTime - When the schedule should start working. 5018 StartTime *date.Time `json:"startTime,omitempty"` 5019 // LastExecutionTime - READ-ONLY; Last time when this schedule was triggered. 5020 LastExecutionTime *date.Time `json:"lastExecutionTime,omitempty"` 5021} 5022 5023// MarshalJSON is the custom marshaler for BackupSchedule. 5024func (bs BackupSchedule) MarshalJSON() ([]byte, error) { 5025 objectMap := make(map[string]interface{}) 5026 if bs.FrequencyInterval != nil { 5027 objectMap["frequencyInterval"] = bs.FrequencyInterval 5028 } 5029 if bs.FrequencyUnit != "" { 5030 objectMap["frequencyUnit"] = bs.FrequencyUnit 5031 } 5032 if bs.KeepAtLeastOneBackup != nil { 5033 objectMap["keepAtLeastOneBackup"] = bs.KeepAtLeastOneBackup 5034 } 5035 if bs.RetentionPeriodInDays != nil { 5036 objectMap["retentionPeriodInDays"] = bs.RetentionPeriodInDays 5037 } 5038 if bs.StartTime != nil { 5039 objectMap["startTime"] = bs.StartTime 5040 } 5041 return json.Marshal(objectMap) 5042} 5043 5044// BillingMeter app Service billing entity that contains information about meter which the Azure billing 5045// system utilizes to charge users for services. 5046type BillingMeter struct { 5047 // BillingMeterProperties - BillingMeter resource specific properties 5048 *BillingMeterProperties `json:"properties,omitempty"` 5049 // ID - READ-ONLY; Resource Id. 5050 ID *string `json:"id,omitempty"` 5051 // Name - READ-ONLY; Resource Name. 5052 Name *string `json:"name,omitempty"` 5053 // Kind - Kind of resource. 5054 Kind *string `json:"kind,omitempty"` 5055 // Type - READ-ONLY; Resource type. 5056 Type *string `json:"type,omitempty"` 5057} 5058 5059// MarshalJSON is the custom marshaler for BillingMeter. 5060func (bm BillingMeter) MarshalJSON() ([]byte, error) { 5061 objectMap := make(map[string]interface{}) 5062 if bm.BillingMeterProperties != nil { 5063 objectMap["properties"] = bm.BillingMeterProperties 5064 } 5065 if bm.Kind != nil { 5066 objectMap["kind"] = bm.Kind 5067 } 5068 return json.Marshal(objectMap) 5069} 5070 5071// UnmarshalJSON is the custom unmarshaler for BillingMeter struct. 5072func (bm *BillingMeter) UnmarshalJSON(body []byte) error { 5073 var m map[string]*json.RawMessage 5074 err := json.Unmarshal(body, &m) 5075 if err != nil { 5076 return err 5077 } 5078 for k, v := range m { 5079 switch k { 5080 case "properties": 5081 if v != nil { 5082 var billingMeterProperties BillingMeterProperties 5083 err = json.Unmarshal(*v, &billingMeterProperties) 5084 if err != nil { 5085 return err 5086 } 5087 bm.BillingMeterProperties = &billingMeterProperties 5088 } 5089 case "id": 5090 if v != nil { 5091 var ID string 5092 err = json.Unmarshal(*v, &ID) 5093 if err != nil { 5094 return err 5095 } 5096 bm.ID = &ID 5097 } 5098 case "name": 5099 if v != nil { 5100 var name string 5101 err = json.Unmarshal(*v, &name) 5102 if err != nil { 5103 return err 5104 } 5105 bm.Name = &name 5106 } 5107 case "kind": 5108 if v != nil { 5109 var kind string 5110 err = json.Unmarshal(*v, &kind) 5111 if err != nil { 5112 return err 5113 } 5114 bm.Kind = &kind 5115 } 5116 case "type": 5117 if v != nil { 5118 var typeVar string 5119 err = json.Unmarshal(*v, &typeVar) 5120 if err != nil { 5121 return err 5122 } 5123 bm.Type = &typeVar 5124 } 5125 } 5126 } 5127 5128 return nil 5129} 5130 5131// BillingMeterCollection collection of Billing Meters 5132type BillingMeterCollection struct { 5133 autorest.Response `json:"-"` 5134 // Value - Collection of resources. 5135 Value *[]BillingMeter `json:"value,omitempty"` 5136 // NextLink - READ-ONLY; Link to next page of resources. 5137 NextLink *string `json:"nextLink,omitempty"` 5138} 5139 5140// MarshalJSON is the custom marshaler for BillingMeterCollection. 5141func (bmc BillingMeterCollection) MarshalJSON() ([]byte, error) { 5142 objectMap := make(map[string]interface{}) 5143 if bmc.Value != nil { 5144 objectMap["value"] = bmc.Value 5145 } 5146 return json.Marshal(objectMap) 5147} 5148 5149// BillingMeterCollectionIterator provides access to a complete listing of BillingMeter values. 5150type BillingMeterCollectionIterator struct { 5151 i int 5152 page BillingMeterCollectionPage 5153} 5154 5155// NextWithContext advances to the next value. If there was an error making 5156// the request the iterator does not advance and the error is returned. 5157func (iter *BillingMeterCollectionIterator) NextWithContext(ctx context.Context) (err error) { 5158 if tracing.IsEnabled() { 5159 ctx = tracing.StartSpan(ctx, fqdn+"/BillingMeterCollectionIterator.NextWithContext") 5160 defer func() { 5161 sc := -1 5162 if iter.Response().Response.Response != nil { 5163 sc = iter.Response().Response.Response.StatusCode 5164 } 5165 tracing.EndSpan(ctx, sc, err) 5166 }() 5167 } 5168 iter.i++ 5169 if iter.i < len(iter.page.Values()) { 5170 return nil 5171 } 5172 err = iter.page.NextWithContext(ctx) 5173 if err != nil { 5174 iter.i-- 5175 return err 5176 } 5177 iter.i = 0 5178 return nil 5179} 5180 5181// Next advances to the next value. If there was an error making 5182// the request the iterator does not advance and the error is returned. 5183// Deprecated: Use NextWithContext() instead. 5184func (iter *BillingMeterCollectionIterator) Next() error { 5185 return iter.NextWithContext(context.Background()) 5186} 5187 5188// NotDone returns true if the enumeration should be started or is not yet complete. 5189func (iter BillingMeterCollectionIterator) NotDone() bool { 5190 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 5191} 5192 5193// Response returns the raw server response from the last page request. 5194func (iter BillingMeterCollectionIterator) Response() BillingMeterCollection { 5195 return iter.page.Response() 5196} 5197 5198// Value returns the current value or a zero-initialized value if the 5199// iterator has advanced beyond the end of the collection. 5200func (iter BillingMeterCollectionIterator) Value() BillingMeter { 5201 if !iter.page.NotDone() { 5202 return BillingMeter{} 5203 } 5204 return iter.page.Values()[iter.i] 5205} 5206 5207// Creates a new instance of the BillingMeterCollectionIterator type. 5208func NewBillingMeterCollectionIterator(page BillingMeterCollectionPage) BillingMeterCollectionIterator { 5209 return BillingMeterCollectionIterator{page: page} 5210} 5211 5212// IsEmpty returns true if the ListResult contains no values. 5213func (bmc BillingMeterCollection) IsEmpty() bool { 5214 return bmc.Value == nil || len(*bmc.Value) == 0 5215} 5216 5217// hasNextLink returns true if the NextLink is not empty. 5218func (bmc BillingMeterCollection) hasNextLink() bool { 5219 return bmc.NextLink != nil && len(*bmc.NextLink) != 0 5220} 5221 5222// billingMeterCollectionPreparer prepares a request to retrieve the next set of results. 5223// It returns nil if no more results exist. 5224func (bmc BillingMeterCollection) billingMeterCollectionPreparer(ctx context.Context) (*http.Request, error) { 5225 if !bmc.hasNextLink() { 5226 return nil, nil 5227 } 5228 return autorest.Prepare((&http.Request{}).WithContext(ctx), 5229 autorest.AsJSON(), 5230 autorest.AsGet(), 5231 autorest.WithBaseURL(to.String(bmc.NextLink))) 5232} 5233 5234// BillingMeterCollectionPage contains a page of BillingMeter values. 5235type BillingMeterCollectionPage struct { 5236 fn func(context.Context, BillingMeterCollection) (BillingMeterCollection, error) 5237 bmc BillingMeterCollection 5238} 5239 5240// NextWithContext advances to the next page of values. If there was an error making 5241// the request the page does not advance and the error is returned. 5242func (page *BillingMeterCollectionPage) NextWithContext(ctx context.Context) (err error) { 5243 if tracing.IsEnabled() { 5244 ctx = tracing.StartSpan(ctx, fqdn+"/BillingMeterCollectionPage.NextWithContext") 5245 defer func() { 5246 sc := -1 5247 if page.Response().Response.Response != nil { 5248 sc = page.Response().Response.Response.StatusCode 5249 } 5250 tracing.EndSpan(ctx, sc, err) 5251 }() 5252 } 5253 for { 5254 next, err := page.fn(ctx, page.bmc) 5255 if err != nil { 5256 return err 5257 } 5258 page.bmc = next 5259 if !next.hasNextLink() || !next.IsEmpty() { 5260 break 5261 } 5262 } 5263 return nil 5264} 5265 5266// Next advances to the next page of values. If there was an error making 5267// the request the page does not advance and the error is returned. 5268// Deprecated: Use NextWithContext() instead. 5269func (page *BillingMeterCollectionPage) Next() error { 5270 return page.NextWithContext(context.Background()) 5271} 5272 5273// NotDone returns true if the page enumeration should be started or is not yet complete. 5274func (page BillingMeterCollectionPage) NotDone() bool { 5275 return !page.bmc.IsEmpty() 5276} 5277 5278// Response returns the raw server response from the last page request. 5279func (page BillingMeterCollectionPage) Response() BillingMeterCollection { 5280 return page.bmc 5281} 5282 5283// Values returns the slice of values for the current page or nil if there are no values. 5284func (page BillingMeterCollectionPage) Values() []BillingMeter { 5285 if page.bmc.IsEmpty() { 5286 return nil 5287 } 5288 return *page.bmc.Value 5289} 5290 5291// Creates a new instance of the BillingMeterCollectionPage type. 5292func NewBillingMeterCollectionPage(cur BillingMeterCollection, getNextPage func(context.Context, BillingMeterCollection) (BillingMeterCollection, error)) BillingMeterCollectionPage { 5293 return BillingMeterCollectionPage{ 5294 fn: getNextPage, 5295 bmc: cur, 5296 } 5297} 5298 5299// BillingMeterProperties billingMeter resource specific properties 5300type BillingMeterProperties struct { 5301 // MeterID - Meter GUID onboarded in Commerce 5302 MeterID *string `json:"meterId,omitempty"` 5303 // BillingLocation - Azure Location of billable resource 5304 BillingLocation *string `json:"billingLocation,omitempty"` 5305 // ShortName - Short Name from App Service Azure pricing Page 5306 ShortName *string `json:"shortName,omitempty"` 5307 // FriendlyName - Friendly name of the meter 5308 FriendlyName *string `json:"friendlyName,omitempty"` 5309 // ResourceType - App Service ResourceType meter used for 5310 ResourceType *string `json:"resourceType,omitempty"` 5311 // OsType - App Service OS type meter used for 5312 OsType *string `json:"osType,omitempty"` 5313} 5314 5315// Capability describes the capabilities/features allowed for a specific SKU. 5316type Capability struct { 5317 // Name - Name of the SKU capability. 5318 Name *string `json:"name,omitempty"` 5319 // Value - Value of the SKU capability. 5320 Value *string `json:"value,omitempty"` 5321 // Reason - Reason of the SKU capability. 5322 Reason *string `json:"reason,omitempty"` 5323} 5324 5325// Certificate SSL certificate for an app. 5326type Certificate struct { 5327 autorest.Response `json:"-"` 5328 // CertificateProperties - Certificate resource specific properties 5329 *CertificateProperties `json:"properties,omitempty"` 5330 // ID - READ-ONLY; Resource Id. 5331 ID *string `json:"id,omitempty"` 5332 // Name - READ-ONLY; Resource Name. 5333 Name *string `json:"name,omitempty"` 5334 // Kind - Kind of resource. 5335 Kind *string `json:"kind,omitempty"` 5336 // Location - Resource Location. 5337 Location *string `json:"location,omitempty"` 5338 // Type - READ-ONLY; Resource type. 5339 Type *string `json:"type,omitempty"` 5340 // Tags - Resource tags. 5341 Tags map[string]*string `json:"tags"` 5342} 5343 5344// MarshalJSON is the custom marshaler for Certificate. 5345func (c Certificate) MarshalJSON() ([]byte, error) { 5346 objectMap := make(map[string]interface{}) 5347 if c.CertificateProperties != nil { 5348 objectMap["properties"] = c.CertificateProperties 5349 } 5350 if c.Kind != nil { 5351 objectMap["kind"] = c.Kind 5352 } 5353 if c.Location != nil { 5354 objectMap["location"] = c.Location 5355 } 5356 if c.Tags != nil { 5357 objectMap["tags"] = c.Tags 5358 } 5359 return json.Marshal(objectMap) 5360} 5361 5362// UnmarshalJSON is the custom unmarshaler for Certificate struct. 5363func (c *Certificate) UnmarshalJSON(body []byte) error { 5364 var m map[string]*json.RawMessage 5365 err := json.Unmarshal(body, &m) 5366 if err != nil { 5367 return err 5368 } 5369 for k, v := range m { 5370 switch k { 5371 case "properties": 5372 if v != nil { 5373 var certificateProperties CertificateProperties 5374 err = json.Unmarshal(*v, &certificateProperties) 5375 if err != nil { 5376 return err 5377 } 5378 c.CertificateProperties = &certificateProperties 5379 } 5380 case "id": 5381 if v != nil { 5382 var ID string 5383 err = json.Unmarshal(*v, &ID) 5384 if err != nil { 5385 return err 5386 } 5387 c.ID = &ID 5388 } 5389 case "name": 5390 if v != nil { 5391 var name string 5392 err = json.Unmarshal(*v, &name) 5393 if err != nil { 5394 return err 5395 } 5396 c.Name = &name 5397 } 5398 case "kind": 5399 if v != nil { 5400 var kind string 5401 err = json.Unmarshal(*v, &kind) 5402 if err != nil { 5403 return err 5404 } 5405 c.Kind = &kind 5406 } 5407 case "location": 5408 if v != nil { 5409 var location string 5410 err = json.Unmarshal(*v, &location) 5411 if err != nil { 5412 return err 5413 } 5414 c.Location = &location 5415 } 5416 case "type": 5417 if v != nil { 5418 var typeVar string 5419 err = json.Unmarshal(*v, &typeVar) 5420 if err != nil { 5421 return err 5422 } 5423 c.Type = &typeVar 5424 } 5425 case "tags": 5426 if v != nil { 5427 var tags map[string]*string 5428 err = json.Unmarshal(*v, &tags) 5429 if err != nil { 5430 return err 5431 } 5432 c.Tags = tags 5433 } 5434 } 5435 } 5436 5437 return nil 5438} 5439 5440// CertificateCollection collection of certificates. 5441type CertificateCollection struct { 5442 autorest.Response `json:"-"` 5443 // Value - Collection of resources. 5444 Value *[]Certificate `json:"value,omitempty"` 5445 // NextLink - READ-ONLY; Link to next page of resources. 5446 NextLink *string `json:"nextLink,omitempty"` 5447} 5448 5449// MarshalJSON is the custom marshaler for CertificateCollection. 5450func (cc CertificateCollection) MarshalJSON() ([]byte, error) { 5451 objectMap := make(map[string]interface{}) 5452 if cc.Value != nil { 5453 objectMap["value"] = cc.Value 5454 } 5455 return json.Marshal(objectMap) 5456} 5457 5458// CertificateCollectionIterator provides access to a complete listing of Certificate values. 5459type CertificateCollectionIterator struct { 5460 i int 5461 page CertificateCollectionPage 5462} 5463 5464// NextWithContext advances to the next value. If there was an error making 5465// the request the iterator does not advance and the error is returned. 5466func (iter *CertificateCollectionIterator) NextWithContext(ctx context.Context) (err error) { 5467 if tracing.IsEnabled() { 5468 ctx = tracing.StartSpan(ctx, fqdn+"/CertificateCollectionIterator.NextWithContext") 5469 defer func() { 5470 sc := -1 5471 if iter.Response().Response.Response != nil { 5472 sc = iter.Response().Response.Response.StatusCode 5473 } 5474 tracing.EndSpan(ctx, sc, err) 5475 }() 5476 } 5477 iter.i++ 5478 if iter.i < len(iter.page.Values()) { 5479 return nil 5480 } 5481 err = iter.page.NextWithContext(ctx) 5482 if err != nil { 5483 iter.i-- 5484 return err 5485 } 5486 iter.i = 0 5487 return nil 5488} 5489 5490// Next advances to the next value. If there was an error making 5491// the request the iterator does not advance and the error is returned. 5492// Deprecated: Use NextWithContext() instead. 5493func (iter *CertificateCollectionIterator) Next() error { 5494 return iter.NextWithContext(context.Background()) 5495} 5496 5497// NotDone returns true if the enumeration should be started or is not yet complete. 5498func (iter CertificateCollectionIterator) NotDone() bool { 5499 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 5500} 5501 5502// Response returns the raw server response from the last page request. 5503func (iter CertificateCollectionIterator) Response() CertificateCollection { 5504 return iter.page.Response() 5505} 5506 5507// Value returns the current value or a zero-initialized value if the 5508// iterator has advanced beyond the end of the collection. 5509func (iter CertificateCollectionIterator) Value() Certificate { 5510 if !iter.page.NotDone() { 5511 return Certificate{} 5512 } 5513 return iter.page.Values()[iter.i] 5514} 5515 5516// Creates a new instance of the CertificateCollectionIterator type. 5517func NewCertificateCollectionIterator(page CertificateCollectionPage) CertificateCollectionIterator { 5518 return CertificateCollectionIterator{page: page} 5519} 5520 5521// IsEmpty returns true if the ListResult contains no values. 5522func (cc CertificateCollection) IsEmpty() bool { 5523 return cc.Value == nil || len(*cc.Value) == 0 5524} 5525 5526// hasNextLink returns true if the NextLink is not empty. 5527func (cc CertificateCollection) hasNextLink() bool { 5528 return cc.NextLink != nil && len(*cc.NextLink) != 0 5529} 5530 5531// certificateCollectionPreparer prepares a request to retrieve the next set of results. 5532// It returns nil if no more results exist. 5533func (cc CertificateCollection) certificateCollectionPreparer(ctx context.Context) (*http.Request, error) { 5534 if !cc.hasNextLink() { 5535 return nil, nil 5536 } 5537 return autorest.Prepare((&http.Request{}).WithContext(ctx), 5538 autorest.AsJSON(), 5539 autorest.AsGet(), 5540 autorest.WithBaseURL(to.String(cc.NextLink))) 5541} 5542 5543// CertificateCollectionPage contains a page of Certificate values. 5544type CertificateCollectionPage struct { 5545 fn func(context.Context, CertificateCollection) (CertificateCollection, error) 5546 cc CertificateCollection 5547} 5548 5549// NextWithContext advances to the next page of values. If there was an error making 5550// the request the page does not advance and the error is returned. 5551func (page *CertificateCollectionPage) NextWithContext(ctx context.Context) (err error) { 5552 if tracing.IsEnabled() { 5553 ctx = tracing.StartSpan(ctx, fqdn+"/CertificateCollectionPage.NextWithContext") 5554 defer func() { 5555 sc := -1 5556 if page.Response().Response.Response != nil { 5557 sc = page.Response().Response.Response.StatusCode 5558 } 5559 tracing.EndSpan(ctx, sc, err) 5560 }() 5561 } 5562 for { 5563 next, err := page.fn(ctx, page.cc) 5564 if err != nil { 5565 return err 5566 } 5567 page.cc = next 5568 if !next.hasNextLink() || !next.IsEmpty() { 5569 break 5570 } 5571 } 5572 return nil 5573} 5574 5575// Next advances to the next page of values. If there was an error making 5576// the request the page does not advance and the error is returned. 5577// Deprecated: Use NextWithContext() instead. 5578func (page *CertificateCollectionPage) Next() error { 5579 return page.NextWithContext(context.Background()) 5580} 5581 5582// NotDone returns true if the page enumeration should be started or is not yet complete. 5583func (page CertificateCollectionPage) NotDone() bool { 5584 return !page.cc.IsEmpty() 5585} 5586 5587// Response returns the raw server response from the last page request. 5588func (page CertificateCollectionPage) Response() CertificateCollection { 5589 return page.cc 5590} 5591 5592// Values returns the slice of values for the current page or nil if there are no values. 5593func (page CertificateCollectionPage) Values() []Certificate { 5594 if page.cc.IsEmpty() { 5595 return nil 5596 } 5597 return *page.cc.Value 5598} 5599 5600// Creates a new instance of the CertificateCollectionPage type. 5601func NewCertificateCollectionPage(cur CertificateCollection, getNextPage func(context.Context, CertificateCollection) (CertificateCollection, error)) CertificateCollectionPage { 5602 return CertificateCollectionPage{ 5603 fn: getNextPage, 5604 cc: cur, 5605 } 5606} 5607 5608// CertificateDetails SSL certificate details. 5609type CertificateDetails struct { 5610 // Version - READ-ONLY; Certificate Version. 5611 Version *int32 `json:"version,omitempty"` 5612 // SerialNumber - READ-ONLY; Certificate Serial Number. 5613 SerialNumber *string `json:"serialNumber,omitempty"` 5614 // Thumbprint - READ-ONLY; Certificate Thumbprint. 5615 Thumbprint *string `json:"thumbprint,omitempty"` 5616 // Subject - READ-ONLY; Certificate Subject. 5617 Subject *string `json:"subject,omitempty"` 5618 // NotBefore - READ-ONLY; Date Certificate is valid from. 5619 NotBefore *date.Time `json:"notBefore,omitempty"` 5620 // NotAfter - READ-ONLY; Date Certificate is valid to. 5621 NotAfter *date.Time `json:"notAfter,omitempty"` 5622 // SignatureAlgorithm - READ-ONLY; Certificate Signature algorithm. 5623 SignatureAlgorithm *string `json:"signatureAlgorithm,omitempty"` 5624 // Issuer - READ-ONLY; Certificate Issuer. 5625 Issuer *string `json:"issuer,omitempty"` 5626 // RawData - READ-ONLY; Raw certificate data. 5627 RawData *string `json:"rawData,omitempty"` 5628} 5629 5630// MarshalJSON is the custom marshaler for CertificateDetails. 5631func (cd CertificateDetails) MarshalJSON() ([]byte, error) { 5632 objectMap := make(map[string]interface{}) 5633 return json.Marshal(objectMap) 5634} 5635 5636// CertificateEmail SSL certificate email. 5637type CertificateEmail struct { 5638 // CertificateEmailProperties - CertificateEmail resource specific properties 5639 *CertificateEmailProperties `json:"properties,omitempty"` 5640 // ID - READ-ONLY; Resource Id. 5641 ID *string `json:"id,omitempty"` 5642 // Name - READ-ONLY; Resource Name. 5643 Name *string `json:"name,omitempty"` 5644 // Kind - Kind of resource. 5645 Kind *string `json:"kind,omitempty"` 5646 // Type - READ-ONLY; Resource type. 5647 Type *string `json:"type,omitempty"` 5648} 5649 5650// MarshalJSON is the custom marshaler for CertificateEmail. 5651func (ce CertificateEmail) MarshalJSON() ([]byte, error) { 5652 objectMap := make(map[string]interface{}) 5653 if ce.CertificateEmailProperties != nil { 5654 objectMap["properties"] = ce.CertificateEmailProperties 5655 } 5656 if ce.Kind != nil { 5657 objectMap["kind"] = ce.Kind 5658 } 5659 return json.Marshal(objectMap) 5660} 5661 5662// UnmarshalJSON is the custom unmarshaler for CertificateEmail struct. 5663func (ce *CertificateEmail) UnmarshalJSON(body []byte) error { 5664 var m map[string]*json.RawMessage 5665 err := json.Unmarshal(body, &m) 5666 if err != nil { 5667 return err 5668 } 5669 for k, v := range m { 5670 switch k { 5671 case "properties": 5672 if v != nil { 5673 var certificateEmailProperties CertificateEmailProperties 5674 err = json.Unmarshal(*v, &certificateEmailProperties) 5675 if err != nil { 5676 return err 5677 } 5678 ce.CertificateEmailProperties = &certificateEmailProperties 5679 } 5680 case "id": 5681 if v != nil { 5682 var ID string 5683 err = json.Unmarshal(*v, &ID) 5684 if err != nil { 5685 return err 5686 } 5687 ce.ID = &ID 5688 } 5689 case "name": 5690 if v != nil { 5691 var name string 5692 err = json.Unmarshal(*v, &name) 5693 if err != nil { 5694 return err 5695 } 5696 ce.Name = &name 5697 } 5698 case "kind": 5699 if v != nil { 5700 var kind string 5701 err = json.Unmarshal(*v, &kind) 5702 if err != nil { 5703 return err 5704 } 5705 ce.Kind = &kind 5706 } 5707 case "type": 5708 if v != nil { 5709 var typeVar string 5710 err = json.Unmarshal(*v, &typeVar) 5711 if err != nil { 5712 return err 5713 } 5714 ce.Type = &typeVar 5715 } 5716 } 5717 } 5718 5719 return nil 5720} 5721 5722// CertificateEmailProperties certificateEmail resource specific properties 5723type CertificateEmailProperties struct { 5724 // EmailID - Email id. 5725 EmailID *string `json:"emailId,omitempty"` 5726 // TimeStamp - Time stamp. 5727 TimeStamp *date.Time `json:"timeStamp,omitempty"` 5728} 5729 5730// CertificateOrderAction certificate order action. 5731type CertificateOrderAction struct { 5732 // CertificateOrderActionProperties - CertificateOrderAction resource specific properties 5733 *CertificateOrderActionProperties `json:"properties,omitempty"` 5734 // ID - READ-ONLY; Resource Id. 5735 ID *string `json:"id,omitempty"` 5736 // Name - READ-ONLY; Resource Name. 5737 Name *string `json:"name,omitempty"` 5738 // Kind - Kind of resource. 5739 Kind *string `json:"kind,omitempty"` 5740 // Type - READ-ONLY; Resource type. 5741 Type *string `json:"type,omitempty"` 5742} 5743 5744// MarshalJSON is the custom marshaler for CertificateOrderAction. 5745func (coa CertificateOrderAction) MarshalJSON() ([]byte, error) { 5746 objectMap := make(map[string]interface{}) 5747 if coa.CertificateOrderActionProperties != nil { 5748 objectMap["properties"] = coa.CertificateOrderActionProperties 5749 } 5750 if coa.Kind != nil { 5751 objectMap["kind"] = coa.Kind 5752 } 5753 return json.Marshal(objectMap) 5754} 5755 5756// UnmarshalJSON is the custom unmarshaler for CertificateOrderAction struct. 5757func (coa *CertificateOrderAction) UnmarshalJSON(body []byte) error { 5758 var m map[string]*json.RawMessage 5759 err := json.Unmarshal(body, &m) 5760 if err != nil { 5761 return err 5762 } 5763 for k, v := range m { 5764 switch k { 5765 case "properties": 5766 if v != nil { 5767 var certificateOrderActionProperties CertificateOrderActionProperties 5768 err = json.Unmarshal(*v, &certificateOrderActionProperties) 5769 if err != nil { 5770 return err 5771 } 5772 coa.CertificateOrderActionProperties = &certificateOrderActionProperties 5773 } 5774 case "id": 5775 if v != nil { 5776 var ID string 5777 err = json.Unmarshal(*v, &ID) 5778 if err != nil { 5779 return err 5780 } 5781 coa.ID = &ID 5782 } 5783 case "name": 5784 if v != nil { 5785 var name string 5786 err = json.Unmarshal(*v, &name) 5787 if err != nil { 5788 return err 5789 } 5790 coa.Name = &name 5791 } 5792 case "kind": 5793 if v != nil { 5794 var kind string 5795 err = json.Unmarshal(*v, &kind) 5796 if err != nil { 5797 return err 5798 } 5799 coa.Kind = &kind 5800 } 5801 case "type": 5802 if v != nil { 5803 var typeVar string 5804 err = json.Unmarshal(*v, &typeVar) 5805 if err != nil { 5806 return err 5807 } 5808 coa.Type = &typeVar 5809 } 5810 } 5811 } 5812 5813 return nil 5814} 5815 5816// CertificateOrderActionProperties certificateOrderAction resource specific properties 5817type CertificateOrderActionProperties struct { 5818 // ActionType - READ-ONLY; Action type. Possible values include: 'CertificateIssued', 'CertificateOrderCanceled', 'CertificateOrderCreated', 'CertificateRevoked', 'DomainValidationComplete', 'FraudDetected', 'OrgNameChange', 'OrgValidationComplete', 'SanDrop', 'FraudCleared', 'CertificateExpired', 'CertificateExpirationWarning', 'FraudDocumentationRequired', 'Unknown' 5819 ActionType CertificateOrderActionType `json:"actionType,omitempty"` 5820 // CreatedAt - READ-ONLY; Time at which the certificate action was performed. 5821 CreatedAt *date.Time `json:"createdAt,omitempty"` 5822} 5823 5824// MarshalJSON is the custom marshaler for CertificateOrderActionProperties. 5825func (coa CertificateOrderActionProperties) MarshalJSON() ([]byte, error) { 5826 objectMap := make(map[string]interface{}) 5827 return json.Marshal(objectMap) 5828} 5829 5830// CertificatePatchResource ARM resource for a certificate. 5831type CertificatePatchResource struct { 5832 // CertificatePatchResourceProperties - CertificatePatchResource resource specific properties 5833 *CertificatePatchResourceProperties `json:"properties,omitempty"` 5834 // ID - READ-ONLY; Resource Id. 5835 ID *string `json:"id,omitempty"` 5836 // Name - READ-ONLY; Resource Name. 5837 Name *string `json:"name,omitempty"` 5838 // Kind - Kind of resource. 5839 Kind *string `json:"kind,omitempty"` 5840 // Type - READ-ONLY; Resource type. 5841 Type *string `json:"type,omitempty"` 5842} 5843 5844// MarshalJSON is the custom marshaler for CertificatePatchResource. 5845func (cpr CertificatePatchResource) MarshalJSON() ([]byte, error) { 5846 objectMap := make(map[string]interface{}) 5847 if cpr.CertificatePatchResourceProperties != nil { 5848 objectMap["properties"] = cpr.CertificatePatchResourceProperties 5849 } 5850 if cpr.Kind != nil { 5851 objectMap["kind"] = cpr.Kind 5852 } 5853 return json.Marshal(objectMap) 5854} 5855 5856// UnmarshalJSON is the custom unmarshaler for CertificatePatchResource struct. 5857func (cpr *CertificatePatchResource) UnmarshalJSON(body []byte) error { 5858 var m map[string]*json.RawMessage 5859 err := json.Unmarshal(body, &m) 5860 if err != nil { 5861 return err 5862 } 5863 for k, v := range m { 5864 switch k { 5865 case "properties": 5866 if v != nil { 5867 var certificatePatchResourceProperties CertificatePatchResourceProperties 5868 err = json.Unmarshal(*v, &certificatePatchResourceProperties) 5869 if err != nil { 5870 return err 5871 } 5872 cpr.CertificatePatchResourceProperties = &certificatePatchResourceProperties 5873 } 5874 case "id": 5875 if v != nil { 5876 var ID string 5877 err = json.Unmarshal(*v, &ID) 5878 if err != nil { 5879 return err 5880 } 5881 cpr.ID = &ID 5882 } 5883 case "name": 5884 if v != nil { 5885 var name string 5886 err = json.Unmarshal(*v, &name) 5887 if err != nil { 5888 return err 5889 } 5890 cpr.Name = &name 5891 } 5892 case "kind": 5893 if v != nil { 5894 var kind string 5895 err = json.Unmarshal(*v, &kind) 5896 if err != nil { 5897 return err 5898 } 5899 cpr.Kind = &kind 5900 } 5901 case "type": 5902 if v != nil { 5903 var typeVar string 5904 err = json.Unmarshal(*v, &typeVar) 5905 if err != nil { 5906 return err 5907 } 5908 cpr.Type = &typeVar 5909 } 5910 } 5911 } 5912 5913 return nil 5914} 5915 5916// CertificatePatchResourceProperties certificatePatchResource resource specific properties 5917type CertificatePatchResourceProperties struct { 5918 // FriendlyName - READ-ONLY; Friendly name of the certificate. 5919 FriendlyName *string `json:"friendlyName,omitempty"` 5920 // SubjectName - READ-ONLY; Subject name of the certificate. 5921 SubjectName *string `json:"subjectName,omitempty"` 5922 // HostNames - Host names the certificate applies to. 5923 HostNames *[]string `json:"hostNames,omitempty"` 5924 // PfxBlob - Pfx blob. 5925 PfxBlob *[]byte `json:"pfxBlob,omitempty"` 5926 // SiteName - READ-ONLY; App name. 5927 SiteName *string `json:"siteName,omitempty"` 5928 // SelfLink - READ-ONLY; Self link. 5929 SelfLink *string `json:"selfLink,omitempty"` 5930 // Issuer - READ-ONLY; Certificate issuer. 5931 Issuer *string `json:"issuer,omitempty"` 5932 // IssueDate - READ-ONLY; Certificate issue Date. 5933 IssueDate *date.Time `json:"issueDate,omitempty"` 5934 // ExpirationDate - READ-ONLY; Certificate expiration date. 5935 ExpirationDate *date.Time `json:"expirationDate,omitempty"` 5936 // Password - Certificate password. 5937 Password *string `json:"password,omitempty"` 5938 // Thumbprint - READ-ONLY; Certificate thumbprint. 5939 Thumbprint *string `json:"thumbprint,omitempty"` 5940 // Valid - READ-ONLY; Is the certificate valid?. 5941 Valid *bool `json:"valid,omitempty"` 5942 // CerBlob - READ-ONLY; Raw bytes of .cer file 5943 CerBlob *[]byte `json:"cerBlob,omitempty"` 5944 // PublicKeyHash - READ-ONLY; Public key hash. 5945 PublicKeyHash *string `json:"publicKeyHash,omitempty"` 5946 // HostingEnvironmentProfile - READ-ONLY; Specification for the App Service Environment to use for the certificate. 5947 HostingEnvironmentProfile *HostingEnvironmentProfile `json:"hostingEnvironmentProfile,omitempty"` 5948 // KeyVaultID - Key Vault Csm resource Id. 5949 KeyVaultID *string `json:"keyVaultId,omitempty"` 5950 // KeyVaultSecretName - Key Vault secret name. 5951 KeyVaultSecretName *string `json:"keyVaultSecretName,omitempty"` 5952 // KeyVaultSecretStatus - READ-ONLY; Status of the Key Vault secret. Possible values include: 'KeyVaultSecretStatusInitialized', 'KeyVaultSecretStatusWaitingOnCertificateOrder', 'KeyVaultSecretStatusSucceeded', 'KeyVaultSecretStatusCertificateOrderFailed', 'KeyVaultSecretStatusOperationNotPermittedOnKeyVault', 'KeyVaultSecretStatusAzureServiceUnauthorizedToAccessKeyVault', 'KeyVaultSecretStatusKeyVaultDoesNotExist', 'KeyVaultSecretStatusKeyVaultSecretDoesNotExist', 'KeyVaultSecretStatusUnknownError', 'KeyVaultSecretStatusExternalPrivateKey', 'KeyVaultSecretStatusUnknown' 5953 KeyVaultSecretStatus KeyVaultSecretStatus `json:"keyVaultSecretStatus,omitempty"` 5954 // ServerFarmID - Resource ID of the associated App Service plan, formatted as: "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}". 5955 ServerFarmID *string `json:"serverFarmId,omitempty"` 5956} 5957 5958// MarshalJSON is the custom marshaler for CertificatePatchResourceProperties. 5959func (cpr CertificatePatchResourceProperties) MarshalJSON() ([]byte, error) { 5960 objectMap := make(map[string]interface{}) 5961 if cpr.HostNames != nil { 5962 objectMap["hostNames"] = cpr.HostNames 5963 } 5964 if cpr.PfxBlob != nil { 5965 objectMap["pfxBlob"] = cpr.PfxBlob 5966 } 5967 if cpr.Password != nil { 5968 objectMap["password"] = cpr.Password 5969 } 5970 if cpr.KeyVaultID != nil { 5971 objectMap["keyVaultId"] = cpr.KeyVaultID 5972 } 5973 if cpr.KeyVaultSecretName != nil { 5974 objectMap["keyVaultSecretName"] = cpr.KeyVaultSecretName 5975 } 5976 if cpr.ServerFarmID != nil { 5977 objectMap["serverFarmId"] = cpr.ServerFarmID 5978 } 5979 return json.Marshal(objectMap) 5980} 5981 5982// CertificateProperties certificate resource specific properties 5983type CertificateProperties struct { 5984 // FriendlyName - READ-ONLY; Friendly name of the certificate. 5985 FriendlyName *string `json:"friendlyName,omitempty"` 5986 // SubjectName - READ-ONLY; Subject name of the certificate. 5987 SubjectName *string `json:"subjectName,omitempty"` 5988 // HostNames - Host names the certificate applies to. 5989 HostNames *[]string `json:"hostNames,omitempty"` 5990 // PfxBlob - Pfx blob. 5991 PfxBlob *[]byte `json:"pfxBlob,omitempty"` 5992 // SiteName - READ-ONLY; App name. 5993 SiteName *string `json:"siteName,omitempty"` 5994 // SelfLink - READ-ONLY; Self link. 5995 SelfLink *string `json:"selfLink,omitempty"` 5996 // Issuer - READ-ONLY; Certificate issuer. 5997 Issuer *string `json:"issuer,omitempty"` 5998 // IssueDate - READ-ONLY; Certificate issue Date. 5999 IssueDate *date.Time `json:"issueDate,omitempty"` 6000 // ExpirationDate - READ-ONLY; Certificate expiration date. 6001 ExpirationDate *date.Time `json:"expirationDate,omitempty"` 6002 // Password - Certificate password. 6003 Password *string `json:"password,omitempty"` 6004 // Thumbprint - READ-ONLY; Certificate thumbprint. 6005 Thumbprint *string `json:"thumbprint,omitempty"` 6006 // Valid - READ-ONLY; Is the certificate valid?. 6007 Valid *bool `json:"valid,omitempty"` 6008 // CerBlob - READ-ONLY; Raw bytes of .cer file 6009 CerBlob *[]byte `json:"cerBlob,omitempty"` 6010 // PublicKeyHash - READ-ONLY; Public key hash. 6011 PublicKeyHash *string `json:"publicKeyHash,omitempty"` 6012 // HostingEnvironmentProfile - READ-ONLY; Specification for the App Service Environment to use for the certificate. 6013 HostingEnvironmentProfile *HostingEnvironmentProfile `json:"hostingEnvironmentProfile,omitempty"` 6014 // KeyVaultID - Key Vault Csm resource Id. 6015 KeyVaultID *string `json:"keyVaultId,omitempty"` 6016 // KeyVaultSecretName - Key Vault secret name. 6017 KeyVaultSecretName *string `json:"keyVaultSecretName,omitempty"` 6018 // KeyVaultSecretStatus - READ-ONLY; Status of the Key Vault secret. Possible values include: 'KeyVaultSecretStatusInitialized', 'KeyVaultSecretStatusWaitingOnCertificateOrder', 'KeyVaultSecretStatusSucceeded', 'KeyVaultSecretStatusCertificateOrderFailed', 'KeyVaultSecretStatusOperationNotPermittedOnKeyVault', 'KeyVaultSecretStatusAzureServiceUnauthorizedToAccessKeyVault', 'KeyVaultSecretStatusKeyVaultDoesNotExist', 'KeyVaultSecretStatusKeyVaultSecretDoesNotExist', 'KeyVaultSecretStatusUnknownError', 'KeyVaultSecretStatusExternalPrivateKey', 'KeyVaultSecretStatusUnknown' 6019 KeyVaultSecretStatus KeyVaultSecretStatus `json:"keyVaultSecretStatus,omitempty"` 6020 // ServerFarmID - Resource ID of the associated App Service plan, formatted as: "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}". 6021 ServerFarmID *string `json:"serverFarmId,omitempty"` 6022} 6023 6024// MarshalJSON is the custom marshaler for CertificateProperties. 6025func (c CertificateProperties) MarshalJSON() ([]byte, error) { 6026 objectMap := make(map[string]interface{}) 6027 if c.HostNames != nil { 6028 objectMap["hostNames"] = c.HostNames 6029 } 6030 if c.PfxBlob != nil { 6031 objectMap["pfxBlob"] = c.PfxBlob 6032 } 6033 if c.Password != nil { 6034 objectMap["password"] = c.Password 6035 } 6036 if c.KeyVaultID != nil { 6037 objectMap["keyVaultId"] = c.KeyVaultID 6038 } 6039 if c.KeyVaultSecretName != nil { 6040 objectMap["keyVaultSecretName"] = c.KeyVaultSecretName 6041 } 6042 if c.ServerFarmID != nil { 6043 objectMap["serverFarmId"] = c.ServerFarmID 6044 } 6045 return json.Marshal(objectMap) 6046} 6047 6048// CloningInfo information needed for cloning operation. 6049type CloningInfo struct { 6050 // CorrelationID - Correlation ID of cloning operation. This ID ties multiple cloning operations 6051 // together to use the same snapshot. 6052 CorrelationID *uuid.UUID `json:"correlationId,omitempty"` 6053 // Overwrite - <code>true</code> to overwrite destination app; otherwise, <code>false</code>. 6054 Overwrite *bool `json:"overwrite,omitempty"` 6055 // CloneCustomHostNames - <code>true</code> to clone custom hostnames from source app; otherwise, <code>false</code>. 6056 CloneCustomHostNames *bool `json:"cloneCustomHostNames,omitempty"` 6057 // CloneSourceControl - <code>true</code> to clone source control from source app; otherwise, <code>false</code>. 6058 CloneSourceControl *bool `json:"cloneSourceControl,omitempty"` 6059 // SourceWebAppID - ARM resource ID of the source app. App resource ID is of the form 6060 // /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName} for production slots and 6061 // /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slotName} for other slots. 6062 SourceWebAppID *string `json:"sourceWebAppId,omitempty"` 6063 // SourceWebAppLocation - Location of source app ex: West US or North Europe 6064 SourceWebAppLocation *string `json:"sourceWebAppLocation,omitempty"` 6065 // HostingEnvironment - App Service Environment. 6066 HostingEnvironment *string `json:"hostingEnvironment,omitempty"` 6067 // AppSettingsOverrides - Application setting overrides for cloned app. If specified, these settings override the settings cloned 6068 // from source app. Otherwise, application settings from source app are retained. 6069 AppSettingsOverrides map[string]*string `json:"appSettingsOverrides"` 6070 // ConfigureLoadBalancing - <code>true</code> to configure load balancing for source and destination app. 6071 ConfigureLoadBalancing *bool `json:"configureLoadBalancing,omitempty"` 6072 // TrafficManagerProfileID - ARM resource ID of the Traffic Manager profile to use, if it exists. Traffic Manager resource ID is of the form 6073 // /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficManagerProfiles/{profileName}. 6074 TrafficManagerProfileID *string `json:"trafficManagerProfileId,omitempty"` 6075 // TrafficManagerProfileName - Name of Traffic Manager profile to create. This is only needed if Traffic Manager profile does not already exist. 6076 TrafficManagerProfileName *string `json:"trafficManagerProfileName,omitempty"` 6077} 6078 6079// MarshalJSON is the custom marshaler for CloningInfo. 6080func (ci CloningInfo) MarshalJSON() ([]byte, error) { 6081 objectMap := make(map[string]interface{}) 6082 if ci.CorrelationID != nil { 6083 objectMap["correlationId"] = ci.CorrelationID 6084 } 6085 if ci.Overwrite != nil { 6086 objectMap["overwrite"] = ci.Overwrite 6087 } 6088 if ci.CloneCustomHostNames != nil { 6089 objectMap["cloneCustomHostNames"] = ci.CloneCustomHostNames 6090 } 6091 if ci.CloneSourceControl != nil { 6092 objectMap["cloneSourceControl"] = ci.CloneSourceControl 6093 } 6094 if ci.SourceWebAppID != nil { 6095 objectMap["sourceWebAppId"] = ci.SourceWebAppID 6096 } 6097 if ci.SourceWebAppLocation != nil { 6098 objectMap["sourceWebAppLocation"] = ci.SourceWebAppLocation 6099 } 6100 if ci.HostingEnvironment != nil { 6101 objectMap["hostingEnvironment"] = ci.HostingEnvironment 6102 } 6103 if ci.AppSettingsOverrides != nil { 6104 objectMap["appSettingsOverrides"] = ci.AppSettingsOverrides 6105 } 6106 if ci.ConfigureLoadBalancing != nil { 6107 objectMap["configureLoadBalancing"] = ci.ConfigureLoadBalancing 6108 } 6109 if ci.TrafficManagerProfileID != nil { 6110 objectMap["trafficManagerProfileId"] = ci.TrafficManagerProfileID 6111 } 6112 if ci.TrafficManagerProfileName != nil { 6113 objectMap["trafficManagerProfileName"] = ci.TrafficManagerProfileName 6114 } 6115 return json.Marshal(objectMap) 6116} 6117 6118// ConnectionStringDictionary string dictionary resource. 6119type ConnectionStringDictionary struct { 6120 autorest.Response `json:"-"` 6121 // Properties - Connection strings. 6122 Properties map[string]*ConnStringValueTypePair `json:"properties"` 6123 // ID - READ-ONLY; Resource Id. 6124 ID *string `json:"id,omitempty"` 6125 // Name - READ-ONLY; Resource Name. 6126 Name *string `json:"name,omitempty"` 6127 // Kind - Kind of resource. 6128 Kind *string `json:"kind,omitempty"` 6129 // Type - READ-ONLY; Resource type. 6130 Type *string `json:"type,omitempty"` 6131} 6132 6133// MarshalJSON is the custom marshaler for ConnectionStringDictionary. 6134func (csd ConnectionStringDictionary) MarshalJSON() ([]byte, error) { 6135 objectMap := make(map[string]interface{}) 6136 if csd.Properties != nil { 6137 objectMap["properties"] = csd.Properties 6138 } 6139 if csd.Kind != nil { 6140 objectMap["kind"] = csd.Kind 6141 } 6142 return json.Marshal(objectMap) 6143} 6144 6145// ConnStringInfo database connection string information. 6146type ConnStringInfo struct { 6147 // Name - Name of connection string. 6148 Name *string `json:"name,omitempty"` 6149 // ConnectionString - Connection string value. 6150 ConnectionString *string `json:"connectionString,omitempty"` 6151 // Type - Type of database. Possible values include: 'MySQL', 'SQLServer', 'SQLAzure', 'Custom', 'NotificationHub', 'ServiceBus', 'EventHub', 'APIHub', 'DocDb', 'RedisCache', 'PostgreSQL' 6152 Type ConnectionStringType `json:"type,omitempty"` 6153} 6154 6155// ConnStringValueTypePair database connection string value to type pair. 6156type ConnStringValueTypePair struct { 6157 // Value - Value of pair. 6158 Value *string `json:"value,omitempty"` 6159 // Type - Type of database. Possible values include: 'MySQL', 'SQLServer', 'SQLAzure', 'Custom', 'NotificationHub', 'ServiceBus', 'EventHub', 'APIHub', 'DocDb', 'RedisCache', 'PostgreSQL' 6160 Type ConnectionStringType `json:"type,omitempty"` 6161} 6162 6163// Contact contact information for domain registration. If 'Domain Privacy' option is not selected then the 6164// contact information is made publicly available through the Whois 6165// directories as per ICANN requirements. 6166type Contact struct { 6167 // AddressMailing - Mailing address. 6168 AddressMailing *Address `json:"addressMailing,omitempty"` 6169 // Email - Email address. 6170 Email *string `json:"email,omitempty"` 6171 // Fax - Fax number. 6172 Fax *string `json:"fax,omitempty"` 6173 // JobTitle - Job title. 6174 JobTitle *string `json:"jobTitle,omitempty"` 6175 // NameFirst - First name. 6176 NameFirst *string `json:"nameFirst,omitempty"` 6177 // NameLast - Last name. 6178 NameLast *string `json:"nameLast,omitempty"` 6179 // NameMiddle - Middle name. 6180 NameMiddle *string `json:"nameMiddle,omitempty"` 6181 // Organization - Organization contact belongs to. 6182 Organization *string `json:"organization,omitempty"` 6183 // Phone - Phone number. 6184 Phone *string `json:"phone,omitempty"` 6185} 6186 6187// ContinuousWebJob continuous Web Job Information. 6188type ContinuousWebJob struct { 6189 autorest.Response `json:"-"` 6190 // ContinuousWebJobProperties - ContinuousWebJob resource specific properties 6191 *ContinuousWebJobProperties `json:"properties,omitempty"` 6192 // ID - READ-ONLY; Resource Id. 6193 ID *string `json:"id,omitempty"` 6194 // Name - READ-ONLY; Resource Name. 6195 Name *string `json:"name,omitempty"` 6196 // Kind - Kind of resource. 6197 Kind *string `json:"kind,omitempty"` 6198 // Type - READ-ONLY; Resource type. 6199 Type *string `json:"type,omitempty"` 6200} 6201 6202// MarshalJSON is the custom marshaler for ContinuousWebJob. 6203func (cwj ContinuousWebJob) MarshalJSON() ([]byte, error) { 6204 objectMap := make(map[string]interface{}) 6205 if cwj.ContinuousWebJobProperties != nil { 6206 objectMap["properties"] = cwj.ContinuousWebJobProperties 6207 } 6208 if cwj.Kind != nil { 6209 objectMap["kind"] = cwj.Kind 6210 } 6211 return json.Marshal(objectMap) 6212} 6213 6214// UnmarshalJSON is the custom unmarshaler for ContinuousWebJob struct. 6215func (cwj *ContinuousWebJob) UnmarshalJSON(body []byte) error { 6216 var m map[string]*json.RawMessage 6217 err := json.Unmarshal(body, &m) 6218 if err != nil { 6219 return err 6220 } 6221 for k, v := range m { 6222 switch k { 6223 case "properties": 6224 if v != nil { 6225 var continuousWebJobProperties ContinuousWebJobProperties 6226 err = json.Unmarshal(*v, &continuousWebJobProperties) 6227 if err != nil { 6228 return err 6229 } 6230 cwj.ContinuousWebJobProperties = &continuousWebJobProperties 6231 } 6232 case "id": 6233 if v != nil { 6234 var ID string 6235 err = json.Unmarshal(*v, &ID) 6236 if err != nil { 6237 return err 6238 } 6239 cwj.ID = &ID 6240 } 6241 case "name": 6242 if v != nil { 6243 var name string 6244 err = json.Unmarshal(*v, &name) 6245 if err != nil { 6246 return err 6247 } 6248 cwj.Name = &name 6249 } 6250 case "kind": 6251 if v != nil { 6252 var kind string 6253 err = json.Unmarshal(*v, &kind) 6254 if err != nil { 6255 return err 6256 } 6257 cwj.Kind = &kind 6258 } 6259 case "type": 6260 if v != nil { 6261 var typeVar string 6262 err = json.Unmarshal(*v, &typeVar) 6263 if err != nil { 6264 return err 6265 } 6266 cwj.Type = &typeVar 6267 } 6268 } 6269 } 6270 6271 return nil 6272} 6273 6274// ContinuousWebJobCollection collection of Kudu continuous web job information elements. 6275type ContinuousWebJobCollection struct { 6276 autorest.Response `json:"-"` 6277 // Value - Collection of resources. 6278 Value *[]ContinuousWebJob `json:"value,omitempty"` 6279 // NextLink - READ-ONLY; Link to next page of resources. 6280 NextLink *string `json:"nextLink,omitempty"` 6281} 6282 6283// MarshalJSON is the custom marshaler for ContinuousWebJobCollection. 6284func (cwjc ContinuousWebJobCollection) MarshalJSON() ([]byte, error) { 6285 objectMap := make(map[string]interface{}) 6286 if cwjc.Value != nil { 6287 objectMap["value"] = cwjc.Value 6288 } 6289 return json.Marshal(objectMap) 6290} 6291 6292// ContinuousWebJobCollectionIterator provides access to a complete listing of ContinuousWebJob values. 6293type ContinuousWebJobCollectionIterator struct { 6294 i int 6295 page ContinuousWebJobCollectionPage 6296} 6297 6298// NextWithContext advances to the next value. If there was an error making 6299// the request the iterator does not advance and the error is returned. 6300func (iter *ContinuousWebJobCollectionIterator) NextWithContext(ctx context.Context) (err error) { 6301 if tracing.IsEnabled() { 6302 ctx = tracing.StartSpan(ctx, fqdn+"/ContinuousWebJobCollectionIterator.NextWithContext") 6303 defer func() { 6304 sc := -1 6305 if iter.Response().Response.Response != nil { 6306 sc = iter.Response().Response.Response.StatusCode 6307 } 6308 tracing.EndSpan(ctx, sc, err) 6309 }() 6310 } 6311 iter.i++ 6312 if iter.i < len(iter.page.Values()) { 6313 return nil 6314 } 6315 err = iter.page.NextWithContext(ctx) 6316 if err != nil { 6317 iter.i-- 6318 return err 6319 } 6320 iter.i = 0 6321 return nil 6322} 6323 6324// Next advances to the next value. If there was an error making 6325// the request the iterator does not advance and the error is returned. 6326// Deprecated: Use NextWithContext() instead. 6327func (iter *ContinuousWebJobCollectionIterator) Next() error { 6328 return iter.NextWithContext(context.Background()) 6329} 6330 6331// NotDone returns true if the enumeration should be started or is not yet complete. 6332func (iter ContinuousWebJobCollectionIterator) NotDone() bool { 6333 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 6334} 6335 6336// Response returns the raw server response from the last page request. 6337func (iter ContinuousWebJobCollectionIterator) Response() ContinuousWebJobCollection { 6338 return iter.page.Response() 6339} 6340 6341// Value returns the current value or a zero-initialized value if the 6342// iterator has advanced beyond the end of the collection. 6343func (iter ContinuousWebJobCollectionIterator) Value() ContinuousWebJob { 6344 if !iter.page.NotDone() { 6345 return ContinuousWebJob{} 6346 } 6347 return iter.page.Values()[iter.i] 6348} 6349 6350// Creates a new instance of the ContinuousWebJobCollectionIterator type. 6351func NewContinuousWebJobCollectionIterator(page ContinuousWebJobCollectionPage) ContinuousWebJobCollectionIterator { 6352 return ContinuousWebJobCollectionIterator{page: page} 6353} 6354 6355// IsEmpty returns true if the ListResult contains no values. 6356func (cwjc ContinuousWebJobCollection) IsEmpty() bool { 6357 return cwjc.Value == nil || len(*cwjc.Value) == 0 6358} 6359 6360// hasNextLink returns true if the NextLink is not empty. 6361func (cwjc ContinuousWebJobCollection) hasNextLink() bool { 6362 return cwjc.NextLink != nil && len(*cwjc.NextLink) != 0 6363} 6364 6365// continuousWebJobCollectionPreparer prepares a request to retrieve the next set of results. 6366// It returns nil if no more results exist. 6367func (cwjc ContinuousWebJobCollection) continuousWebJobCollectionPreparer(ctx context.Context) (*http.Request, error) { 6368 if !cwjc.hasNextLink() { 6369 return nil, nil 6370 } 6371 return autorest.Prepare((&http.Request{}).WithContext(ctx), 6372 autorest.AsJSON(), 6373 autorest.AsGet(), 6374 autorest.WithBaseURL(to.String(cwjc.NextLink))) 6375} 6376 6377// ContinuousWebJobCollectionPage contains a page of ContinuousWebJob values. 6378type ContinuousWebJobCollectionPage struct { 6379 fn func(context.Context, ContinuousWebJobCollection) (ContinuousWebJobCollection, error) 6380 cwjc ContinuousWebJobCollection 6381} 6382 6383// NextWithContext advances to the next page of values. If there was an error making 6384// the request the page does not advance and the error is returned. 6385func (page *ContinuousWebJobCollectionPage) NextWithContext(ctx context.Context) (err error) { 6386 if tracing.IsEnabled() { 6387 ctx = tracing.StartSpan(ctx, fqdn+"/ContinuousWebJobCollectionPage.NextWithContext") 6388 defer func() { 6389 sc := -1 6390 if page.Response().Response.Response != nil { 6391 sc = page.Response().Response.Response.StatusCode 6392 } 6393 tracing.EndSpan(ctx, sc, err) 6394 }() 6395 } 6396 for { 6397 next, err := page.fn(ctx, page.cwjc) 6398 if err != nil { 6399 return err 6400 } 6401 page.cwjc = next 6402 if !next.hasNextLink() || !next.IsEmpty() { 6403 break 6404 } 6405 } 6406 return nil 6407} 6408 6409// Next advances to the next page of values. If there was an error making 6410// the request the page does not advance and the error is returned. 6411// Deprecated: Use NextWithContext() instead. 6412func (page *ContinuousWebJobCollectionPage) Next() error { 6413 return page.NextWithContext(context.Background()) 6414} 6415 6416// NotDone returns true if the page enumeration should be started or is not yet complete. 6417func (page ContinuousWebJobCollectionPage) NotDone() bool { 6418 return !page.cwjc.IsEmpty() 6419} 6420 6421// Response returns the raw server response from the last page request. 6422func (page ContinuousWebJobCollectionPage) Response() ContinuousWebJobCollection { 6423 return page.cwjc 6424} 6425 6426// Values returns the slice of values for the current page or nil if there are no values. 6427func (page ContinuousWebJobCollectionPage) Values() []ContinuousWebJob { 6428 if page.cwjc.IsEmpty() { 6429 return nil 6430 } 6431 return *page.cwjc.Value 6432} 6433 6434// Creates a new instance of the ContinuousWebJobCollectionPage type. 6435func NewContinuousWebJobCollectionPage(cur ContinuousWebJobCollection, getNextPage func(context.Context, ContinuousWebJobCollection) (ContinuousWebJobCollection, error)) ContinuousWebJobCollectionPage { 6436 return ContinuousWebJobCollectionPage{ 6437 fn: getNextPage, 6438 cwjc: cur, 6439 } 6440} 6441 6442// ContinuousWebJobProperties continuousWebJob resource specific properties 6443type ContinuousWebJobProperties struct { 6444 // Status - Job status. Possible values include: 'Initializing', 'Starting', 'Running', 'PendingRestart', 'Stopped' 6445 Status ContinuousWebJobStatus `json:"status,omitempty"` 6446 // DetailedStatus - Detailed status. 6447 DetailedStatus *string `json:"detailed_status,omitempty"` 6448 // LogURL - Log URL. 6449 LogURL *string `json:"log_url,omitempty"` 6450 // RunCommand - Run command. 6451 RunCommand *string `json:"run_command,omitempty"` 6452 // URL - Job URL. 6453 URL *string `json:"url,omitempty"` 6454 // ExtraInfoURL - Extra Info URL. 6455 ExtraInfoURL *string `json:"extra_info_url,omitempty"` 6456 // WebJobType - Job type. Possible values include: 'Continuous', 'Triggered' 6457 WebJobType JobType `json:"web_job_type,omitempty"` 6458 // Error - Error information. 6459 Error *string `json:"error,omitempty"` 6460 // UsingSdk - Using SDK? 6461 UsingSdk *bool `json:"using_sdk,omitempty"` 6462 // Settings - Job settings. 6463 Settings map[string]interface{} `json:"settings"` 6464} 6465 6466// MarshalJSON is the custom marshaler for ContinuousWebJobProperties. 6467func (cwj ContinuousWebJobProperties) MarshalJSON() ([]byte, error) { 6468 objectMap := make(map[string]interface{}) 6469 if cwj.Status != "" { 6470 objectMap["status"] = cwj.Status 6471 } 6472 if cwj.DetailedStatus != nil { 6473 objectMap["detailed_status"] = cwj.DetailedStatus 6474 } 6475 if cwj.LogURL != nil { 6476 objectMap["log_url"] = cwj.LogURL 6477 } 6478 if cwj.RunCommand != nil { 6479 objectMap["run_command"] = cwj.RunCommand 6480 } 6481 if cwj.URL != nil { 6482 objectMap["url"] = cwj.URL 6483 } 6484 if cwj.ExtraInfoURL != nil { 6485 objectMap["extra_info_url"] = cwj.ExtraInfoURL 6486 } 6487 if cwj.WebJobType != "" { 6488 objectMap["web_job_type"] = cwj.WebJobType 6489 } 6490 if cwj.Error != nil { 6491 objectMap["error"] = cwj.Error 6492 } 6493 if cwj.UsingSdk != nil { 6494 objectMap["using_sdk"] = cwj.UsingSdk 6495 } 6496 if cwj.Settings != nil { 6497 objectMap["settings"] = cwj.Settings 6498 } 6499 return json.Marshal(objectMap) 6500} 6501 6502// CorsSettings cross-Origin Resource Sharing (CORS) settings for the app. 6503type CorsSettings struct { 6504 // AllowedOrigins - Gets or sets the list of origins that should be allowed to make cross-origin 6505 // calls (for example: http://example.com:12345). Use "*" to allow all. 6506 AllowedOrigins *[]string `json:"allowedOrigins,omitempty"` 6507 // SupportCredentials - Gets or sets whether CORS requests with credentials are allowed. See 6508 // https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS#Requests_with_credentials 6509 // for more details. 6510 SupportCredentials *bool `json:"supportCredentials,omitempty"` 6511} 6512 6513// CsmMoveResourceEnvelope object with a list of the resources that need to be moved and the resource group 6514// they should be moved to. 6515type CsmMoveResourceEnvelope struct { 6516 TargetResourceGroup *string `json:"targetResourceGroup,omitempty"` 6517 Resources *[]string `json:"resources,omitempty"` 6518} 6519 6520// CsmOperationCollection collection of Azure resource manager operation metadata. 6521type CsmOperationCollection struct { 6522 autorest.Response `json:"-"` 6523 // Value - Collection of resources. 6524 Value *[]CsmOperationDescription `json:"value,omitempty"` 6525 // NextLink - READ-ONLY; Link to next page of resources. 6526 NextLink *string `json:"nextLink,omitempty"` 6527} 6528 6529// MarshalJSON is the custom marshaler for CsmOperationCollection. 6530func (coc CsmOperationCollection) MarshalJSON() ([]byte, error) { 6531 objectMap := make(map[string]interface{}) 6532 if coc.Value != nil { 6533 objectMap["value"] = coc.Value 6534 } 6535 return json.Marshal(objectMap) 6536} 6537 6538// CsmOperationCollectionIterator provides access to a complete listing of CsmOperationDescription values. 6539type CsmOperationCollectionIterator struct { 6540 i int 6541 page CsmOperationCollectionPage 6542} 6543 6544// NextWithContext advances to the next value. If there was an error making 6545// the request the iterator does not advance and the error is returned. 6546func (iter *CsmOperationCollectionIterator) NextWithContext(ctx context.Context) (err error) { 6547 if tracing.IsEnabled() { 6548 ctx = tracing.StartSpan(ctx, fqdn+"/CsmOperationCollectionIterator.NextWithContext") 6549 defer func() { 6550 sc := -1 6551 if iter.Response().Response.Response != nil { 6552 sc = iter.Response().Response.Response.StatusCode 6553 } 6554 tracing.EndSpan(ctx, sc, err) 6555 }() 6556 } 6557 iter.i++ 6558 if iter.i < len(iter.page.Values()) { 6559 return nil 6560 } 6561 err = iter.page.NextWithContext(ctx) 6562 if err != nil { 6563 iter.i-- 6564 return err 6565 } 6566 iter.i = 0 6567 return nil 6568} 6569 6570// Next advances to the next value. If there was an error making 6571// the request the iterator does not advance and the error is returned. 6572// Deprecated: Use NextWithContext() instead. 6573func (iter *CsmOperationCollectionIterator) Next() error { 6574 return iter.NextWithContext(context.Background()) 6575} 6576 6577// NotDone returns true if the enumeration should be started or is not yet complete. 6578func (iter CsmOperationCollectionIterator) NotDone() bool { 6579 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 6580} 6581 6582// Response returns the raw server response from the last page request. 6583func (iter CsmOperationCollectionIterator) Response() CsmOperationCollection { 6584 return iter.page.Response() 6585} 6586 6587// Value returns the current value or a zero-initialized value if the 6588// iterator has advanced beyond the end of the collection. 6589func (iter CsmOperationCollectionIterator) Value() CsmOperationDescription { 6590 if !iter.page.NotDone() { 6591 return CsmOperationDescription{} 6592 } 6593 return iter.page.Values()[iter.i] 6594} 6595 6596// Creates a new instance of the CsmOperationCollectionIterator type. 6597func NewCsmOperationCollectionIterator(page CsmOperationCollectionPage) CsmOperationCollectionIterator { 6598 return CsmOperationCollectionIterator{page: page} 6599} 6600 6601// IsEmpty returns true if the ListResult contains no values. 6602func (coc CsmOperationCollection) IsEmpty() bool { 6603 return coc.Value == nil || len(*coc.Value) == 0 6604} 6605 6606// hasNextLink returns true if the NextLink is not empty. 6607func (coc CsmOperationCollection) hasNextLink() bool { 6608 return coc.NextLink != nil && len(*coc.NextLink) != 0 6609} 6610 6611// csmOperationCollectionPreparer prepares a request to retrieve the next set of results. 6612// It returns nil if no more results exist. 6613func (coc CsmOperationCollection) csmOperationCollectionPreparer(ctx context.Context) (*http.Request, error) { 6614 if !coc.hasNextLink() { 6615 return nil, nil 6616 } 6617 return autorest.Prepare((&http.Request{}).WithContext(ctx), 6618 autorest.AsJSON(), 6619 autorest.AsGet(), 6620 autorest.WithBaseURL(to.String(coc.NextLink))) 6621} 6622 6623// CsmOperationCollectionPage contains a page of CsmOperationDescription values. 6624type CsmOperationCollectionPage struct { 6625 fn func(context.Context, CsmOperationCollection) (CsmOperationCollection, error) 6626 coc CsmOperationCollection 6627} 6628 6629// NextWithContext advances to the next page of values. If there was an error making 6630// the request the page does not advance and the error is returned. 6631func (page *CsmOperationCollectionPage) NextWithContext(ctx context.Context) (err error) { 6632 if tracing.IsEnabled() { 6633 ctx = tracing.StartSpan(ctx, fqdn+"/CsmOperationCollectionPage.NextWithContext") 6634 defer func() { 6635 sc := -1 6636 if page.Response().Response.Response != nil { 6637 sc = page.Response().Response.Response.StatusCode 6638 } 6639 tracing.EndSpan(ctx, sc, err) 6640 }() 6641 } 6642 for { 6643 next, err := page.fn(ctx, page.coc) 6644 if err != nil { 6645 return err 6646 } 6647 page.coc = next 6648 if !next.hasNextLink() || !next.IsEmpty() { 6649 break 6650 } 6651 } 6652 return nil 6653} 6654 6655// Next advances to the next page of values. If there was an error making 6656// the request the page does not advance and the error is returned. 6657// Deprecated: Use NextWithContext() instead. 6658func (page *CsmOperationCollectionPage) Next() error { 6659 return page.NextWithContext(context.Background()) 6660} 6661 6662// NotDone returns true if the page enumeration should be started or is not yet complete. 6663func (page CsmOperationCollectionPage) NotDone() bool { 6664 return !page.coc.IsEmpty() 6665} 6666 6667// Response returns the raw server response from the last page request. 6668func (page CsmOperationCollectionPage) Response() CsmOperationCollection { 6669 return page.coc 6670} 6671 6672// Values returns the slice of values for the current page or nil if there are no values. 6673func (page CsmOperationCollectionPage) Values() []CsmOperationDescription { 6674 if page.coc.IsEmpty() { 6675 return nil 6676 } 6677 return *page.coc.Value 6678} 6679 6680// Creates a new instance of the CsmOperationCollectionPage type. 6681func NewCsmOperationCollectionPage(cur CsmOperationCollection, getNextPage func(context.Context, CsmOperationCollection) (CsmOperationCollection, error)) CsmOperationCollectionPage { 6682 return CsmOperationCollectionPage{ 6683 fn: getNextPage, 6684 coc: cur, 6685 } 6686} 6687 6688// CsmOperationDescription description of an operation available for Microsoft.Web resource provider. 6689type CsmOperationDescription struct { 6690 Name *string `json:"name,omitempty"` 6691 Display *CsmOperationDisplay `json:"display,omitempty"` 6692 Origin *string `json:"origin,omitempty"` 6693 Properties *CsmOperationDescriptionProperties `json:"properties,omitempty"` 6694} 6695 6696// CsmOperationDescriptionProperties properties available for a Microsoft.Web resource provider operation. 6697type CsmOperationDescriptionProperties struct { 6698 ServiceSpecification *ServiceSpecification `json:"serviceSpecification,omitempty"` 6699} 6700 6701// CsmOperationDisplay meta data about operation used for display in portal. 6702type CsmOperationDisplay struct { 6703 Provider *string `json:"provider,omitempty"` 6704 Resource *string `json:"resource,omitempty"` 6705 Operation *string `json:"operation,omitempty"` 6706 Description *string `json:"description,omitempty"` 6707} 6708 6709// CsmPublishingProfileOptions publishing options for requested profile. 6710type CsmPublishingProfileOptions struct { 6711 // Format - Name of the format. Valid values are: 6712 // FileZilla3 6713 // WebDeploy -- default 6714 // Ftp. Possible values include: 'FileZilla3', 'WebDeploy', 'Ftp' 6715 Format PublishingProfileFormat `json:"format,omitempty"` 6716 // IncludeDisasterRecoveryEndpoints - Include the DisasterRecover endpoint if true 6717 IncludeDisasterRecoveryEndpoints *bool `json:"includeDisasterRecoveryEndpoints,omitempty"` 6718} 6719 6720// CsmSlotEntity deployment slot parameters. 6721type CsmSlotEntity struct { 6722 // TargetSlot - Destination deployment slot during swap operation. 6723 TargetSlot *string `json:"targetSlot,omitempty"` 6724 // PreserveVnet - <code>true</code> to preserve Virtual Network to the slot during swap; otherwise, <code>false</code>. 6725 PreserveVnet *bool `json:"preserveVnet,omitempty"` 6726} 6727 6728// CsmUsageQuota usage of the quota resource. 6729type CsmUsageQuota struct { 6730 // Unit - Units of measurement for the quota resource. 6731 Unit *string `json:"unit,omitempty"` 6732 // NextResetTime - Next reset time for the resource counter. 6733 NextResetTime *date.Time `json:"nextResetTime,omitempty"` 6734 // CurrentValue - The current value of the resource counter. 6735 CurrentValue *int64 `json:"currentValue,omitempty"` 6736 // Limit - The resource limit. 6737 Limit *int64 `json:"limit,omitempty"` 6738 // Name - Quota name. 6739 Name *LocalizableString `json:"name,omitempty"` 6740} 6741 6742// CsmUsageQuotaCollection collection of CSM usage quotas. 6743type CsmUsageQuotaCollection struct { 6744 autorest.Response `json:"-"` 6745 // Value - Collection of resources. 6746 Value *[]CsmUsageQuota `json:"value,omitempty"` 6747 // NextLink - READ-ONLY; Link to next page of resources. 6748 NextLink *string `json:"nextLink,omitempty"` 6749} 6750 6751// MarshalJSON is the custom marshaler for CsmUsageQuotaCollection. 6752func (cuqc CsmUsageQuotaCollection) MarshalJSON() ([]byte, error) { 6753 objectMap := make(map[string]interface{}) 6754 if cuqc.Value != nil { 6755 objectMap["value"] = cuqc.Value 6756 } 6757 return json.Marshal(objectMap) 6758} 6759 6760// CsmUsageQuotaCollectionIterator provides access to a complete listing of CsmUsageQuota values. 6761type CsmUsageQuotaCollectionIterator struct { 6762 i int 6763 page CsmUsageQuotaCollectionPage 6764} 6765 6766// NextWithContext advances to the next value. If there was an error making 6767// the request the iterator does not advance and the error is returned. 6768func (iter *CsmUsageQuotaCollectionIterator) NextWithContext(ctx context.Context) (err error) { 6769 if tracing.IsEnabled() { 6770 ctx = tracing.StartSpan(ctx, fqdn+"/CsmUsageQuotaCollectionIterator.NextWithContext") 6771 defer func() { 6772 sc := -1 6773 if iter.Response().Response.Response != nil { 6774 sc = iter.Response().Response.Response.StatusCode 6775 } 6776 tracing.EndSpan(ctx, sc, err) 6777 }() 6778 } 6779 iter.i++ 6780 if iter.i < len(iter.page.Values()) { 6781 return nil 6782 } 6783 err = iter.page.NextWithContext(ctx) 6784 if err != nil { 6785 iter.i-- 6786 return err 6787 } 6788 iter.i = 0 6789 return nil 6790} 6791 6792// Next advances to the next value. If there was an error making 6793// the request the iterator does not advance and the error is returned. 6794// Deprecated: Use NextWithContext() instead. 6795func (iter *CsmUsageQuotaCollectionIterator) Next() error { 6796 return iter.NextWithContext(context.Background()) 6797} 6798 6799// NotDone returns true if the enumeration should be started or is not yet complete. 6800func (iter CsmUsageQuotaCollectionIterator) NotDone() bool { 6801 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 6802} 6803 6804// Response returns the raw server response from the last page request. 6805func (iter CsmUsageQuotaCollectionIterator) Response() CsmUsageQuotaCollection { 6806 return iter.page.Response() 6807} 6808 6809// Value returns the current value or a zero-initialized value if the 6810// iterator has advanced beyond the end of the collection. 6811func (iter CsmUsageQuotaCollectionIterator) Value() CsmUsageQuota { 6812 if !iter.page.NotDone() { 6813 return CsmUsageQuota{} 6814 } 6815 return iter.page.Values()[iter.i] 6816} 6817 6818// Creates a new instance of the CsmUsageQuotaCollectionIterator type. 6819func NewCsmUsageQuotaCollectionIterator(page CsmUsageQuotaCollectionPage) CsmUsageQuotaCollectionIterator { 6820 return CsmUsageQuotaCollectionIterator{page: page} 6821} 6822 6823// IsEmpty returns true if the ListResult contains no values. 6824func (cuqc CsmUsageQuotaCollection) IsEmpty() bool { 6825 return cuqc.Value == nil || len(*cuqc.Value) == 0 6826} 6827 6828// hasNextLink returns true if the NextLink is not empty. 6829func (cuqc CsmUsageQuotaCollection) hasNextLink() bool { 6830 return cuqc.NextLink != nil && len(*cuqc.NextLink) != 0 6831} 6832 6833// csmUsageQuotaCollectionPreparer prepares a request to retrieve the next set of results. 6834// It returns nil if no more results exist. 6835func (cuqc CsmUsageQuotaCollection) csmUsageQuotaCollectionPreparer(ctx context.Context) (*http.Request, error) { 6836 if !cuqc.hasNextLink() { 6837 return nil, nil 6838 } 6839 return autorest.Prepare((&http.Request{}).WithContext(ctx), 6840 autorest.AsJSON(), 6841 autorest.AsGet(), 6842 autorest.WithBaseURL(to.String(cuqc.NextLink))) 6843} 6844 6845// CsmUsageQuotaCollectionPage contains a page of CsmUsageQuota values. 6846type CsmUsageQuotaCollectionPage struct { 6847 fn func(context.Context, CsmUsageQuotaCollection) (CsmUsageQuotaCollection, error) 6848 cuqc CsmUsageQuotaCollection 6849} 6850 6851// NextWithContext advances to the next page of values. If there was an error making 6852// the request the page does not advance and the error is returned. 6853func (page *CsmUsageQuotaCollectionPage) NextWithContext(ctx context.Context) (err error) { 6854 if tracing.IsEnabled() { 6855 ctx = tracing.StartSpan(ctx, fqdn+"/CsmUsageQuotaCollectionPage.NextWithContext") 6856 defer func() { 6857 sc := -1 6858 if page.Response().Response.Response != nil { 6859 sc = page.Response().Response.Response.StatusCode 6860 } 6861 tracing.EndSpan(ctx, sc, err) 6862 }() 6863 } 6864 for { 6865 next, err := page.fn(ctx, page.cuqc) 6866 if err != nil { 6867 return err 6868 } 6869 page.cuqc = next 6870 if !next.hasNextLink() || !next.IsEmpty() { 6871 break 6872 } 6873 } 6874 return nil 6875} 6876 6877// Next advances to the next page of values. If there was an error making 6878// the request the page does not advance and the error is returned. 6879// Deprecated: Use NextWithContext() instead. 6880func (page *CsmUsageQuotaCollectionPage) Next() error { 6881 return page.NextWithContext(context.Background()) 6882} 6883 6884// NotDone returns true if the page enumeration should be started or is not yet complete. 6885func (page CsmUsageQuotaCollectionPage) NotDone() bool { 6886 return !page.cuqc.IsEmpty() 6887} 6888 6889// Response returns the raw server response from the last page request. 6890func (page CsmUsageQuotaCollectionPage) Response() CsmUsageQuotaCollection { 6891 return page.cuqc 6892} 6893 6894// Values returns the slice of values for the current page or nil if there are no values. 6895func (page CsmUsageQuotaCollectionPage) Values() []CsmUsageQuota { 6896 if page.cuqc.IsEmpty() { 6897 return nil 6898 } 6899 return *page.cuqc.Value 6900} 6901 6902// Creates a new instance of the CsmUsageQuotaCollectionPage type. 6903func NewCsmUsageQuotaCollectionPage(cur CsmUsageQuotaCollection, getNextPage func(context.Context, CsmUsageQuotaCollection) (CsmUsageQuotaCollection, error)) CsmUsageQuotaCollectionPage { 6904 return CsmUsageQuotaCollectionPage{ 6905 fn: getNextPage, 6906 cuqc: cur, 6907 } 6908} 6909 6910// CustomHostnameAnalysisResult custom domain analysis. 6911type CustomHostnameAnalysisResult struct { 6912 autorest.Response `json:"-"` 6913 // CustomHostnameAnalysisResultProperties - CustomHostnameAnalysisResult resource specific properties 6914 *CustomHostnameAnalysisResultProperties `json:"properties,omitempty"` 6915 // ID - READ-ONLY; Resource Id. 6916 ID *string `json:"id,omitempty"` 6917 // Name - READ-ONLY; Resource Name. 6918 Name *string `json:"name,omitempty"` 6919 // Kind - Kind of resource. 6920 Kind *string `json:"kind,omitempty"` 6921 // Type - READ-ONLY; Resource type. 6922 Type *string `json:"type,omitempty"` 6923} 6924 6925// MarshalJSON is the custom marshaler for CustomHostnameAnalysisResult. 6926func (char CustomHostnameAnalysisResult) MarshalJSON() ([]byte, error) { 6927 objectMap := make(map[string]interface{}) 6928 if char.CustomHostnameAnalysisResultProperties != nil { 6929 objectMap["properties"] = char.CustomHostnameAnalysisResultProperties 6930 } 6931 if char.Kind != nil { 6932 objectMap["kind"] = char.Kind 6933 } 6934 return json.Marshal(objectMap) 6935} 6936 6937// UnmarshalJSON is the custom unmarshaler for CustomHostnameAnalysisResult struct. 6938func (char *CustomHostnameAnalysisResult) UnmarshalJSON(body []byte) error { 6939 var m map[string]*json.RawMessage 6940 err := json.Unmarshal(body, &m) 6941 if err != nil { 6942 return err 6943 } 6944 for k, v := range m { 6945 switch k { 6946 case "properties": 6947 if v != nil { 6948 var customHostnameAnalysisResultProperties CustomHostnameAnalysisResultProperties 6949 err = json.Unmarshal(*v, &customHostnameAnalysisResultProperties) 6950 if err != nil { 6951 return err 6952 } 6953 char.CustomHostnameAnalysisResultProperties = &customHostnameAnalysisResultProperties 6954 } 6955 case "id": 6956 if v != nil { 6957 var ID string 6958 err = json.Unmarshal(*v, &ID) 6959 if err != nil { 6960 return err 6961 } 6962 char.ID = &ID 6963 } 6964 case "name": 6965 if v != nil { 6966 var name string 6967 err = json.Unmarshal(*v, &name) 6968 if err != nil { 6969 return err 6970 } 6971 char.Name = &name 6972 } 6973 case "kind": 6974 if v != nil { 6975 var kind string 6976 err = json.Unmarshal(*v, &kind) 6977 if err != nil { 6978 return err 6979 } 6980 char.Kind = &kind 6981 } 6982 case "type": 6983 if v != nil { 6984 var typeVar string 6985 err = json.Unmarshal(*v, &typeVar) 6986 if err != nil { 6987 return err 6988 } 6989 char.Type = &typeVar 6990 } 6991 } 6992 } 6993 6994 return nil 6995} 6996 6997// CustomHostnameAnalysisResultProperties customHostnameAnalysisResult resource specific properties 6998type CustomHostnameAnalysisResultProperties struct { 6999 // IsHostnameAlreadyVerified - READ-ONLY; <code>true</code> if hostname is already verified; otherwise, <code>false</code>. 7000 IsHostnameAlreadyVerified *bool `json:"isHostnameAlreadyVerified,omitempty"` 7001 // CustomDomainVerificationTest - READ-ONLY; DNS verification test result. Possible values include: 'DNSVerificationTestResultPassed', 'DNSVerificationTestResultFailed', 'DNSVerificationTestResultSkipped' 7002 CustomDomainVerificationTest DNSVerificationTestResult `json:"customDomainVerificationTest,omitempty"` 7003 // CustomDomainVerificationFailureInfo - READ-ONLY; Raw failure information if DNS verification fails. 7004 CustomDomainVerificationFailureInfo *ErrorEntity `json:"customDomainVerificationFailureInfo,omitempty"` 7005 // HasConflictOnScaleUnit - READ-ONLY; <code>true</code> if there is a conflict on a scale unit; otherwise, <code>false</code>. 7006 HasConflictOnScaleUnit *bool `json:"hasConflictOnScaleUnit,omitempty"` 7007 // HasConflictAcrossSubscription - READ-ONLY; <code>true</code> if there is a conflict across subscriptions; otherwise, <code>false</code>. 7008 HasConflictAcrossSubscription *bool `json:"hasConflictAcrossSubscription,omitempty"` 7009 // ConflictingAppResourceID - READ-ONLY; Name of the conflicting app on scale unit if it's within the same subscription. 7010 ConflictingAppResourceID *string `json:"conflictingAppResourceId,omitempty"` 7011 // CNameRecords - CName records controller can see for this hostname. 7012 CNameRecords *[]string `json:"cNameRecords,omitempty"` 7013 // TxtRecords - TXT records controller can see for this hostname. 7014 TxtRecords *[]string `json:"txtRecords,omitempty"` 7015 // ARecords - A records controller can see for this hostname. 7016 ARecords *[]string `json:"aRecords,omitempty"` 7017 // AlternateCNameRecords - Alternate CName records controller can see for this hostname. 7018 AlternateCNameRecords *[]string `json:"alternateCNameRecords,omitempty"` 7019 // AlternateTxtRecords - Alternate TXT records controller can see for this hostname. 7020 AlternateTxtRecords *[]string `json:"alternateTxtRecords,omitempty"` 7021} 7022 7023// MarshalJSON is the custom marshaler for CustomHostnameAnalysisResultProperties. 7024func (char CustomHostnameAnalysisResultProperties) MarshalJSON() ([]byte, error) { 7025 objectMap := make(map[string]interface{}) 7026 if char.CNameRecords != nil { 7027 objectMap["cNameRecords"] = char.CNameRecords 7028 } 7029 if char.TxtRecords != nil { 7030 objectMap["txtRecords"] = char.TxtRecords 7031 } 7032 if char.ARecords != nil { 7033 objectMap["aRecords"] = char.ARecords 7034 } 7035 if char.AlternateCNameRecords != nil { 7036 objectMap["alternateCNameRecords"] = char.AlternateCNameRecords 7037 } 7038 if char.AlternateTxtRecords != nil { 7039 objectMap["alternateTxtRecords"] = char.AlternateTxtRecords 7040 } 7041 return json.Marshal(objectMap) 7042} 7043 7044// DatabaseBackupSetting database backup settings. 7045type DatabaseBackupSetting struct { 7046 // DatabaseType - Database type (e.g. SqlAzure / MySql). Possible values include: 'DatabaseTypeSQLAzure', 'DatabaseTypeMySQL', 'DatabaseTypeLocalMySQL', 'DatabaseTypePostgreSQL' 7047 DatabaseType DatabaseType `json:"databaseType,omitempty"` 7048 Name *string `json:"name,omitempty"` 7049 // ConnectionStringName - Contains a connection string name that is linked to the SiteConfig.ConnectionStrings. 7050 // This is used during restore with overwrite connection strings options. 7051 ConnectionStringName *string `json:"connectionStringName,omitempty"` 7052 // ConnectionString - Contains a connection string to a database which is being backed up or restored. If the restore should happen to a new database, the database name inside is the new one. 7053 ConnectionString *string `json:"connectionString,omitempty"` 7054} 7055 7056// DataSource class representing data source used by the detectors 7057type DataSource struct { 7058 // Instructions - Instructions if any for the data source 7059 Instructions *[]string `json:"instructions,omitempty"` 7060 // DataSourceURI - Datasource Uri Links 7061 DataSourceURI *[]NameValuePair `json:"dataSourceUri,omitempty"` 7062} 7063 7064// DataTableResponseColumn column definition 7065type DataTableResponseColumn struct { 7066 // ColumnName - Name of the column 7067 ColumnName *string `json:"columnName,omitempty"` 7068 // DataType - Data type which looks like 'String' or 'Int32'. 7069 DataType *string `json:"dataType,omitempty"` 7070 // ColumnType - Column Type 7071 ColumnType *string `json:"columnType,omitempty"` 7072} 7073 7074// DataTableResponseObject data Table which defines columns and raw row values 7075type DataTableResponseObject struct { 7076 // TableName - Name of the table 7077 TableName *string `json:"tableName,omitempty"` 7078 // Columns - List of columns with data types 7079 Columns *[]DataTableResponseColumn `json:"columns,omitempty"` 7080 // Rows - Raw row values 7081 Rows *[][]string `json:"rows,omitempty"` 7082} 7083 7084// DefaultErrorResponse app Service error response. 7085type DefaultErrorResponse struct { 7086 // Error - READ-ONLY; Error model. 7087 Error *DefaultErrorResponseError `json:"error,omitempty"` 7088} 7089 7090// MarshalJSON is the custom marshaler for DefaultErrorResponse. 7091func (der DefaultErrorResponse) MarshalJSON() ([]byte, error) { 7092 objectMap := make(map[string]interface{}) 7093 return json.Marshal(objectMap) 7094} 7095 7096// DefaultErrorResponseError error model. 7097type DefaultErrorResponseError struct { 7098 // Code - READ-ONLY; Standardized string to programmatically identify the error. 7099 Code *string `json:"code,omitempty"` 7100 // Message - READ-ONLY; Detailed error description and debugging information. 7101 Message *string `json:"message,omitempty"` 7102 // Target - READ-ONLY; Detailed error description and debugging information. 7103 Target *string `json:"target,omitempty"` 7104 Details *[]DefaultErrorResponseErrorDetailsItem `json:"details,omitempty"` 7105 // Innererror - READ-ONLY; More information to debug error. 7106 Innererror *string `json:"innererror,omitempty"` 7107} 7108 7109// MarshalJSON is the custom marshaler for DefaultErrorResponseError. 7110func (der DefaultErrorResponseError) MarshalJSON() ([]byte, error) { 7111 objectMap := make(map[string]interface{}) 7112 if der.Details != nil { 7113 objectMap["details"] = der.Details 7114 } 7115 return json.Marshal(objectMap) 7116} 7117 7118// DefaultErrorResponseErrorDetailsItem detailed errors. 7119type DefaultErrorResponseErrorDetailsItem struct { 7120 // Code - READ-ONLY; Standardized string to programmatically identify the error. 7121 Code *string `json:"code,omitempty"` 7122 // Message - READ-ONLY; Detailed error description and debugging information. 7123 Message *string `json:"message,omitempty"` 7124 // Target - READ-ONLY; Detailed error description and debugging information. 7125 Target *string `json:"target,omitempty"` 7126} 7127 7128// MarshalJSON is the custom marshaler for DefaultErrorResponseErrorDetailsItem. 7129func (derI DefaultErrorResponseErrorDetailsItem) MarshalJSON() ([]byte, error) { 7130 objectMap := make(map[string]interface{}) 7131 return json.Marshal(objectMap) 7132} 7133 7134// DeletedAppRestoreRequest details about restoring a deleted app. 7135type DeletedAppRestoreRequest struct { 7136 // DeletedAppRestoreRequestProperties - DeletedAppRestoreRequest resource specific properties 7137 *DeletedAppRestoreRequestProperties `json:"properties,omitempty"` 7138 // ID - READ-ONLY; Resource Id. 7139 ID *string `json:"id,omitempty"` 7140 // Name - READ-ONLY; Resource Name. 7141 Name *string `json:"name,omitempty"` 7142 // Kind - Kind of resource. 7143 Kind *string `json:"kind,omitempty"` 7144 // Type - READ-ONLY; Resource type. 7145 Type *string `json:"type,omitempty"` 7146} 7147 7148// MarshalJSON is the custom marshaler for DeletedAppRestoreRequest. 7149func (darr DeletedAppRestoreRequest) MarshalJSON() ([]byte, error) { 7150 objectMap := make(map[string]interface{}) 7151 if darr.DeletedAppRestoreRequestProperties != nil { 7152 objectMap["properties"] = darr.DeletedAppRestoreRequestProperties 7153 } 7154 if darr.Kind != nil { 7155 objectMap["kind"] = darr.Kind 7156 } 7157 return json.Marshal(objectMap) 7158} 7159 7160// UnmarshalJSON is the custom unmarshaler for DeletedAppRestoreRequest struct. 7161func (darr *DeletedAppRestoreRequest) UnmarshalJSON(body []byte) error { 7162 var m map[string]*json.RawMessage 7163 err := json.Unmarshal(body, &m) 7164 if err != nil { 7165 return err 7166 } 7167 for k, v := range m { 7168 switch k { 7169 case "properties": 7170 if v != nil { 7171 var deletedAppRestoreRequestProperties DeletedAppRestoreRequestProperties 7172 err = json.Unmarshal(*v, &deletedAppRestoreRequestProperties) 7173 if err != nil { 7174 return err 7175 } 7176 darr.DeletedAppRestoreRequestProperties = &deletedAppRestoreRequestProperties 7177 } 7178 case "id": 7179 if v != nil { 7180 var ID string 7181 err = json.Unmarshal(*v, &ID) 7182 if err != nil { 7183 return err 7184 } 7185 darr.ID = &ID 7186 } 7187 case "name": 7188 if v != nil { 7189 var name string 7190 err = json.Unmarshal(*v, &name) 7191 if err != nil { 7192 return err 7193 } 7194 darr.Name = &name 7195 } 7196 case "kind": 7197 if v != nil { 7198 var kind string 7199 err = json.Unmarshal(*v, &kind) 7200 if err != nil { 7201 return err 7202 } 7203 darr.Kind = &kind 7204 } 7205 case "type": 7206 if v != nil { 7207 var typeVar string 7208 err = json.Unmarshal(*v, &typeVar) 7209 if err != nil { 7210 return err 7211 } 7212 darr.Type = &typeVar 7213 } 7214 } 7215 } 7216 7217 return nil 7218} 7219 7220// DeletedAppRestoreRequestProperties deletedAppRestoreRequest resource specific properties 7221type DeletedAppRestoreRequestProperties struct { 7222 // DeletedSiteID - ARM resource ID of the deleted app. Example: 7223 // /subscriptions/{subId}/providers/Microsoft.Web/deletedSites/{deletedSiteId} 7224 DeletedSiteID *string `json:"deletedSiteId,omitempty"` 7225 // RecoverConfiguration - If true, deleted site configuration, in addition to content, will be restored. 7226 RecoverConfiguration *bool `json:"recoverConfiguration,omitempty"` 7227 // SnapshotTime - Point in time to restore the deleted app from, formatted as a DateTime string. 7228 // If unspecified, default value is the time that the app was deleted. 7229 SnapshotTime *string `json:"snapshotTime,omitempty"` 7230 // UseDRSecondary - If true, the snapshot is retrieved from DRSecondary endpoint. 7231 UseDRSecondary *bool `json:"useDRSecondary,omitempty"` 7232} 7233 7234// DeletedSite a deleted app. 7235type DeletedSite struct { 7236 autorest.Response `json:"-"` 7237 // DeletedSiteProperties - DeletedSite resource specific properties 7238 *DeletedSiteProperties `json:"properties,omitempty"` 7239 // ID - READ-ONLY; Resource Id. 7240 ID *string `json:"id,omitempty"` 7241 // Name - READ-ONLY; Resource Name. 7242 Name *string `json:"name,omitempty"` 7243 // Kind - Kind of resource. 7244 Kind *string `json:"kind,omitempty"` 7245 // Type - READ-ONLY; Resource type. 7246 Type *string `json:"type,omitempty"` 7247} 7248 7249// MarshalJSON is the custom marshaler for DeletedSite. 7250func (ds DeletedSite) MarshalJSON() ([]byte, error) { 7251 objectMap := make(map[string]interface{}) 7252 if ds.DeletedSiteProperties != nil { 7253 objectMap["properties"] = ds.DeletedSiteProperties 7254 } 7255 if ds.Kind != nil { 7256 objectMap["kind"] = ds.Kind 7257 } 7258 return json.Marshal(objectMap) 7259} 7260 7261// UnmarshalJSON is the custom unmarshaler for DeletedSite struct. 7262func (ds *DeletedSite) UnmarshalJSON(body []byte) error { 7263 var m map[string]*json.RawMessage 7264 err := json.Unmarshal(body, &m) 7265 if err != nil { 7266 return err 7267 } 7268 for k, v := range m { 7269 switch k { 7270 case "properties": 7271 if v != nil { 7272 var deletedSiteProperties DeletedSiteProperties 7273 err = json.Unmarshal(*v, &deletedSiteProperties) 7274 if err != nil { 7275 return err 7276 } 7277 ds.DeletedSiteProperties = &deletedSiteProperties 7278 } 7279 case "id": 7280 if v != nil { 7281 var ID string 7282 err = json.Unmarshal(*v, &ID) 7283 if err != nil { 7284 return err 7285 } 7286 ds.ID = &ID 7287 } 7288 case "name": 7289 if v != nil { 7290 var name string 7291 err = json.Unmarshal(*v, &name) 7292 if err != nil { 7293 return err 7294 } 7295 ds.Name = &name 7296 } 7297 case "kind": 7298 if v != nil { 7299 var kind string 7300 err = json.Unmarshal(*v, &kind) 7301 if err != nil { 7302 return err 7303 } 7304 ds.Kind = &kind 7305 } 7306 case "type": 7307 if v != nil { 7308 var typeVar string 7309 err = json.Unmarshal(*v, &typeVar) 7310 if err != nil { 7311 return err 7312 } 7313 ds.Type = &typeVar 7314 } 7315 } 7316 } 7317 7318 return nil 7319} 7320 7321// DeletedSiteProperties deletedSite resource specific properties 7322type DeletedSiteProperties struct { 7323 // DeletedSiteID - READ-ONLY; Numeric id for the deleted site 7324 DeletedSiteID *int32 `json:"deletedSiteId,omitempty"` 7325 // DeletedTimestamp - READ-ONLY; Time in UTC when the app was deleted. 7326 DeletedTimestamp *string `json:"deletedTimestamp,omitempty"` 7327 // Subscription - READ-ONLY; Subscription containing the deleted site 7328 Subscription *string `json:"subscription,omitempty"` 7329 // ResourceGroup - READ-ONLY; ResourceGroup that contained the deleted site 7330 ResourceGroup *string `json:"resourceGroup,omitempty"` 7331 // DeletedSiteName - READ-ONLY; Name of the deleted site 7332 DeletedSiteName *string `json:"deletedSiteName,omitempty"` 7333 // Slot - READ-ONLY; Slot of the deleted site 7334 Slot *string `json:"slot,omitempty"` 7335 // Kind - READ-ONLY; Kind of site that was deleted 7336 Kind *string `json:"kind,omitempty"` 7337 // GeoRegionName - READ-ONLY; Geo Region of the deleted site 7338 GeoRegionName *string `json:"geoRegionName,omitempty"` 7339} 7340 7341// MarshalJSON is the custom marshaler for DeletedSiteProperties. 7342func (ds DeletedSiteProperties) MarshalJSON() ([]byte, error) { 7343 objectMap := make(map[string]interface{}) 7344 return json.Marshal(objectMap) 7345} 7346 7347// DeletedWebAppCollection collection of deleted apps. 7348type DeletedWebAppCollection struct { 7349 autorest.Response `json:"-"` 7350 // Value - Collection of resources. 7351 Value *[]DeletedSite `json:"value,omitempty"` 7352 // NextLink - READ-ONLY; Link to next page of resources. 7353 NextLink *string `json:"nextLink,omitempty"` 7354} 7355 7356// MarshalJSON is the custom marshaler for DeletedWebAppCollection. 7357func (dwac DeletedWebAppCollection) MarshalJSON() ([]byte, error) { 7358 objectMap := make(map[string]interface{}) 7359 if dwac.Value != nil { 7360 objectMap["value"] = dwac.Value 7361 } 7362 return json.Marshal(objectMap) 7363} 7364 7365// DeletedWebAppCollectionIterator provides access to a complete listing of DeletedSite values. 7366type DeletedWebAppCollectionIterator struct { 7367 i int 7368 page DeletedWebAppCollectionPage 7369} 7370 7371// NextWithContext advances to the next value. If there was an error making 7372// the request the iterator does not advance and the error is returned. 7373func (iter *DeletedWebAppCollectionIterator) NextWithContext(ctx context.Context) (err error) { 7374 if tracing.IsEnabled() { 7375 ctx = tracing.StartSpan(ctx, fqdn+"/DeletedWebAppCollectionIterator.NextWithContext") 7376 defer func() { 7377 sc := -1 7378 if iter.Response().Response.Response != nil { 7379 sc = iter.Response().Response.Response.StatusCode 7380 } 7381 tracing.EndSpan(ctx, sc, err) 7382 }() 7383 } 7384 iter.i++ 7385 if iter.i < len(iter.page.Values()) { 7386 return nil 7387 } 7388 err = iter.page.NextWithContext(ctx) 7389 if err != nil { 7390 iter.i-- 7391 return err 7392 } 7393 iter.i = 0 7394 return nil 7395} 7396 7397// Next advances to the next value. If there was an error making 7398// the request the iterator does not advance and the error is returned. 7399// Deprecated: Use NextWithContext() instead. 7400func (iter *DeletedWebAppCollectionIterator) Next() error { 7401 return iter.NextWithContext(context.Background()) 7402} 7403 7404// NotDone returns true if the enumeration should be started or is not yet complete. 7405func (iter DeletedWebAppCollectionIterator) NotDone() bool { 7406 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 7407} 7408 7409// Response returns the raw server response from the last page request. 7410func (iter DeletedWebAppCollectionIterator) Response() DeletedWebAppCollection { 7411 return iter.page.Response() 7412} 7413 7414// Value returns the current value or a zero-initialized value if the 7415// iterator has advanced beyond the end of the collection. 7416func (iter DeletedWebAppCollectionIterator) Value() DeletedSite { 7417 if !iter.page.NotDone() { 7418 return DeletedSite{} 7419 } 7420 return iter.page.Values()[iter.i] 7421} 7422 7423// Creates a new instance of the DeletedWebAppCollectionIterator type. 7424func NewDeletedWebAppCollectionIterator(page DeletedWebAppCollectionPage) DeletedWebAppCollectionIterator { 7425 return DeletedWebAppCollectionIterator{page: page} 7426} 7427 7428// IsEmpty returns true if the ListResult contains no values. 7429func (dwac DeletedWebAppCollection) IsEmpty() bool { 7430 return dwac.Value == nil || len(*dwac.Value) == 0 7431} 7432 7433// hasNextLink returns true if the NextLink is not empty. 7434func (dwac DeletedWebAppCollection) hasNextLink() bool { 7435 return dwac.NextLink != nil && len(*dwac.NextLink) != 0 7436} 7437 7438// deletedWebAppCollectionPreparer prepares a request to retrieve the next set of results. 7439// It returns nil if no more results exist. 7440func (dwac DeletedWebAppCollection) deletedWebAppCollectionPreparer(ctx context.Context) (*http.Request, error) { 7441 if !dwac.hasNextLink() { 7442 return nil, nil 7443 } 7444 return autorest.Prepare((&http.Request{}).WithContext(ctx), 7445 autorest.AsJSON(), 7446 autorest.AsGet(), 7447 autorest.WithBaseURL(to.String(dwac.NextLink))) 7448} 7449 7450// DeletedWebAppCollectionPage contains a page of DeletedSite values. 7451type DeletedWebAppCollectionPage struct { 7452 fn func(context.Context, DeletedWebAppCollection) (DeletedWebAppCollection, error) 7453 dwac DeletedWebAppCollection 7454} 7455 7456// NextWithContext advances to the next page of values. If there was an error making 7457// the request the page does not advance and the error is returned. 7458func (page *DeletedWebAppCollectionPage) NextWithContext(ctx context.Context) (err error) { 7459 if tracing.IsEnabled() { 7460 ctx = tracing.StartSpan(ctx, fqdn+"/DeletedWebAppCollectionPage.NextWithContext") 7461 defer func() { 7462 sc := -1 7463 if page.Response().Response.Response != nil { 7464 sc = page.Response().Response.Response.StatusCode 7465 } 7466 tracing.EndSpan(ctx, sc, err) 7467 }() 7468 } 7469 for { 7470 next, err := page.fn(ctx, page.dwac) 7471 if err != nil { 7472 return err 7473 } 7474 page.dwac = next 7475 if !next.hasNextLink() || !next.IsEmpty() { 7476 break 7477 } 7478 } 7479 return nil 7480} 7481 7482// Next advances to the next page of values. If there was an error making 7483// the request the page does not advance and the error is returned. 7484// Deprecated: Use NextWithContext() instead. 7485func (page *DeletedWebAppCollectionPage) Next() error { 7486 return page.NextWithContext(context.Background()) 7487} 7488 7489// NotDone returns true if the page enumeration should be started or is not yet complete. 7490func (page DeletedWebAppCollectionPage) NotDone() bool { 7491 return !page.dwac.IsEmpty() 7492} 7493 7494// Response returns the raw server response from the last page request. 7495func (page DeletedWebAppCollectionPage) Response() DeletedWebAppCollection { 7496 return page.dwac 7497} 7498 7499// Values returns the slice of values for the current page or nil if there are no values. 7500func (page DeletedWebAppCollectionPage) Values() []DeletedSite { 7501 if page.dwac.IsEmpty() { 7502 return nil 7503 } 7504 return *page.dwac.Value 7505} 7506 7507// Creates a new instance of the DeletedWebAppCollectionPage type. 7508func NewDeletedWebAppCollectionPage(cur DeletedWebAppCollection, getNextPage func(context.Context, DeletedWebAppCollection) (DeletedWebAppCollection, error)) DeletedWebAppCollectionPage { 7509 return DeletedWebAppCollectionPage{ 7510 fn: getNextPage, 7511 dwac: cur, 7512 } 7513} 7514 7515// Deployment user credentials used for publishing activity. 7516type Deployment struct { 7517 autorest.Response `json:"-"` 7518 // DeploymentProperties - Deployment resource specific properties 7519 *DeploymentProperties `json:"properties,omitempty"` 7520 // ID - READ-ONLY; Resource Id. 7521 ID *string `json:"id,omitempty"` 7522 // Name - READ-ONLY; Resource Name. 7523 Name *string `json:"name,omitempty"` 7524 // Kind - Kind of resource. 7525 Kind *string `json:"kind,omitempty"` 7526 // Type - READ-ONLY; Resource type. 7527 Type *string `json:"type,omitempty"` 7528} 7529 7530// MarshalJSON is the custom marshaler for Deployment. 7531func (d Deployment) MarshalJSON() ([]byte, error) { 7532 objectMap := make(map[string]interface{}) 7533 if d.DeploymentProperties != nil { 7534 objectMap["properties"] = d.DeploymentProperties 7535 } 7536 if d.Kind != nil { 7537 objectMap["kind"] = d.Kind 7538 } 7539 return json.Marshal(objectMap) 7540} 7541 7542// UnmarshalJSON is the custom unmarshaler for Deployment struct. 7543func (d *Deployment) UnmarshalJSON(body []byte) error { 7544 var m map[string]*json.RawMessage 7545 err := json.Unmarshal(body, &m) 7546 if err != nil { 7547 return err 7548 } 7549 for k, v := range m { 7550 switch k { 7551 case "properties": 7552 if v != nil { 7553 var deploymentProperties DeploymentProperties 7554 err = json.Unmarshal(*v, &deploymentProperties) 7555 if err != nil { 7556 return err 7557 } 7558 d.DeploymentProperties = &deploymentProperties 7559 } 7560 case "id": 7561 if v != nil { 7562 var ID string 7563 err = json.Unmarshal(*v, &ID) 7564 if err != nil { 7565 return err 7566 } 7567 d.ID = &ID 7568 } 7569 case "name": 7570 if v != nil { 7571 var name string 7572 err = json.Unmarshal(*v, &name) 7573 if err != nil { 7574 return err 7575 } 7576 d.Name = &name 7577 } 7578 case "kind": 7579 if v != nil { 7580 var kind string 7581 err = json.Unmarshal(*v, &kind) 7582 if err != nil { 7583 return err 7584 } 7585 d.Kind = &kind 7586 } 7587 case "type": 7588 if v != nil { 7589 var typeVar string 7590 err = json.Unmarshal(*v, &typeVar) 7591 if err != nil { 7592 return err 7593 } 7594 d.Type = &typeVar 7595 } 7596 } 7597 } 7598 7599 return nil 7600} 7601 7602// DeploymentCollection collection of app deployments. 7603type DeploymentCollection struct { 7604 autorest.Response `json:"-"` 7605 // Value - Collection of resources. 7606 Value *[]Deployment `json:"value,omitempty"` 7607 // NextLink - READ-ONLY; Link to next page of resources. 7608 NextLink *string `json:"nextLink,omitempty"` 7609} 7610 7611// MarshalJSON is the custom marshaler for DeploymentCollection. 7612func (dc DeploymentCollection) MarshalJSON() ([]byte, error) { 7613 objectMap := make(map[string]interface{}) 7614 if dc.Value != nil { 7615 objectMap["value"] = dc.Value 7616 } 7617 return json.Marshal(objectMap) 7618} 7619 7620// DeploymentCollectionIterator provides access to a complete listing of Deployment values. 7621type DeploymentCollectionIterator struct { 7622 i int 7623 page DeploymentCollectionPage 7624} 7625 7626// NextWithContext advances to the next value. If there was an error making 7627// the request the iterator does not advance and the error is returned. 7628func (iter *DeploymentCollectionIterator) NextWithContext(ctx context.Context) (err error) { 7629 if tracing.IsEnabled() { 7630 ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentCollectionIterator.NextWithContext") 7631 defer func() { 7632 sc := -1 7633 if iter.Response().Response.Response != nil { 7634 sc = iter.Response().Response.Response.StatusCode 7635 } 7636 tracing.EndSpan(ctx, sc, err) 7637 }() 7638 } 7639 iter.i++ 7640 if iter.i < len(iter.page.Values()) { 7641 return nil 7642 } 7643 err = iter.page.NextWithContext(ctx) 7644 if err != nil { 7645 iter.i-- 7646 return err 7647 } 7648 iter.i = 0 7649 return nil 7650} 7651 7652// Next advances to the next value. If there was an error making 7653// the request the iterator does not advance and the error is returned. 7654// Deprecated: Use NextWithContext() instead. 7655func (iter *DeploymentCollectionIterator) Next() error { 7656 return iter.NextWithContext(context.Background()) 7657} 7658 7659// NotDone returns true if the enumeration should be started or is not yet complete. 7660func (iter DeploymentCollectionIterator) NotDone() bool { 7661 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 7662} 7663 7664// Response returns the raw server response from the last page request. 7665func (iter DeploymentCollectionIterator) Response() DeploymentCollection { 7666 return iter.page.Response() 7667} 7668 7669// Value returns the current value or a zero-initialized value if the 7670// iterator has advanced beyond the end of the collection. 7671func (iter DeploymentCollectionIterator) Value() Deployment { 7672 if !iter.page.NotDone() { 7673 return Deployment{} 7674 } 7675 return iter.page.Values()[iter.i] 7676} 7677 7678// Creates a new instance of the DeploymentCollectionIterator type. 7679func NewDeploymentCollectionIterator(page DeploymentCollectionPage) DeploymentCollectionIterator { 7680 return DeploymentCollectionIterator{page: page} 7681} 7682 7683// IsEmpty returns true if the ListResult contains no values. 7684func (dc DeploymentCollection) IsEmpty() bool { 7685 return dc.Value == nil || len(*dc.Value) == 0 7686} 7687 7688// hasNextLink returns true if the NextLink is not empty. 7689func (dc DeploymentCollection) hasNextLink() bool { 7690 return dc.NextLink != nil && len(*dc.NextLink) != 0 7691} 7692 7693// deploymentCollectionPreparer prepares a request to retrieve the next set of results. 7694// It returns nil if no more results exist. 7695func (dc DeploymentCollection) deploymentCollectionPreparer(ctx context.Context) (*http.Request, error) { 7696 if !dc.hasNextLink() { 7697 return nil, nil 7698 } 7699 return autorest.Prepare((&http.Request{}).WithContext(ctx), 7700 autorest.AsJSON(), 7701 autorest.AsGet(), 7702 autorest.WithBaseURL(to.String(dc.NextLink))) 7703} 7704 7705// DeploymentCollectionPage contains a page of Deployment values. 7706type DeploymentCollectionPage struct { 7707 fn func(context.Context, DeploymentCollection) (DeploymentCollection, error) 7708 dc DeploymentCollection 7709} 7710 7711// NextWithContext advances to the next page of values. If there was an error making 7712// the request the page does not advance and the error is returned. 7713func (page *DeploymentCollectionPage) NextWithContext(ctx context.Context) (err error) { 7714 if tracing.IsEnabled() { 7715 ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentCollectionPage.NextWithContext") 7716 defer func() { 7717 sc := -1 7718 if page.Response().Response.Response != nil { 7719 sc = page.Response().Response.Response.StatusCode 7720 } 7721 tracing.EndSpan(ctx, sc, err) 7722 }() 7723 } 7724 for { 7725 next, err := page.fn(ctx, page.dc) 7726 if err != nil { 7727 return err 7728 } 7729 page.dc = next 7730 if !next.hasNextLink() || !next.IsEmpty() { 7731 break 7732 } 7733 } 7734 return nil 7735} 7736 7737// Next advances to the next page of values. If there was an error making 7738// the request the page does not advance and the error is returned. 7739// Deprecated: Use NextWithContext() instead. 7740func (page *DeploymentCollectionPage) Next() error { 7741 return page.NextWithContext(context.Background()) 7742} 7743 7744// NotDone returns true if the page enumeration should be started or is not yet complete. 7745func (page DeploymentCollectionPage) NotDone() bool { 7746 return !page.dc.IsEmpty() 7747} 7748 7749// Response returns the raw server response from the last page request. 7750func (page DeploymentCollectionPage) Response() DeploymentCollection { 7751 return page.dc 7752} 7753 7754// Values returns the slice of values for the current page or nil if there are no values. 7755func (page DeploymentCollectionPage) Values() []Deployment { 7756 if page.dc.IsEmpty() { 7757 return nil 7758 } 7759 return *page.dc.Value 7760} 7761 7762// Creates a new instance of the DeploymentCollectionPage type. 7763func NewDeploymentCollectionPage(cur DeploymentCollection, getNextPage func(context.Context, DeploymentCollection) (DeploymentCollection, error)) DeploymentCollectionPage { 7764 return DeploymentCollectionPage{ 7765 fn: getNextPage, 7766 dc: cur, 7767 } 7768} 7769 7770// DeploymentLocations list of available locations (regions or App Service Environments) for 7771// deployment of App Service resources. 7772type DeploymentLocations struct { 7773 autorest.Response `json:"-"` 7774 // Locations - Available regions. 7775 Locations *[]GeoRegion `json:"locations,omitempty"` 7776 // HostingEnvironments - Available App Service Environments with full descriptions of the environments. 7777 HostingEnvironments *[]AppServiceEnvironment `json:"hostingEnvironments,omitempty"` 7778 // HostingEnvironmentDeploymentInfos - Available App Service Environments with basic information. 7779 HostingEnvironmentDeploymentInfos *[]HostingEnvironmentDeploymentInfo `json:"hostingEnvironmentDeploymentInfos,omitempty"` 7780} 7781 7782// DeploymentProperties deployment resource specific properties 7783type DeploymentProperties struct { 7784 // Status - Deployment status. 7785 Status *int32 `json:"status,omitempty"` 7786 // Message - Details about deployment status. 7787 Message *string `json:"message,omitempty"` 7788 // Author - Who authored the deployment. 7789 Author *string `json:"author,omitempty"` 7790 // Deployer - Who performed the deployment. 7791 Deployer *string `json:"deployer,omitempty"` 7792 // AuthorEmail - Author email. 7793 AuthorEmail *string `json:"author_email,omitempty"` 7794 // StartTime - Start time. 7795 StartTime *date.Time `json:"start_time,omitempty"` 7796 // EndTime - End time. 7797 EndTime *date.Time `json:"end_time,omitempty"` 7798 // Active - True if deployment is currently active, false if completed and null if not started. 7799 Active *bool `json:"active,omitempty"` 7800 // Details - Details on deployment. 7801 Details *string `json:"details,omitempty"` 7802} 7803 7804// DetectorAbnormalTimePeriod class representing Abnormal Time Period detected. 7805type DetectorAbnormalTimePeriod struct { 7806 // StartTime - Start time of the correlated event 7807 StartTime *date.Time `json:"startTime,omitempty"` 7808 // EndTime - End time of the correlated event 7809 EndTime *date.Time `json:"endTime,omitempty"` 7810 // Message - Message describing the event 7811 Message *string `json:"message,omitempty"` 7812 // Source - Represents the name of the Detector 7813 Source *string `json:"source,omitempty"` 7814 // Priority - Represents the rank of the Detector 7815 Priority *float64 `json:"priority,omitempty"` 7816 // MetaData - Downtime metadata 7817 MetaData *[][]NameValuePair `json:"metaData,omitempty"` 7818 // Type - Represents the type of the Detector. Possible values include: 'ServiceIncident', 'AppDeployment', 'AppCrash', 'RuntimeIssueDetected', 'AseDeployment', 'UserIssue', 'PlatformIssue', 'Other' 7819 Type IssueType `json:"type,omitempty"` 7820 // Solutions - List of proposed solutions 7821 Solutions *[]Solution `json:"solutions,omitempty"` 7822} 7823 7824// DetectorDefinition class representing detector definition 7825type DetectorDefinition struct { 7826 // DetectorDefinitionProperties - DetectorDefinition resource specific properties 7827 *DetectorDefinitionProperties `json:"properties,omitempty"` 7828 // ID - READ-ONLY; Resource Id. 7829 ID *string `json:"id,omitempty"` 7830 // Name - READ-ONLY; Resource Name. 7831 Name *string `json:"name,omitempty"` 7832 // Kind - Kind of resource. 7833 Kind *string `json:"kind,omitempty"` 7834 // Type - READ-ONLY; Resource type. 7835 Type *string `json:"type,omitempty"` 7836} 7837 7838// MarshalJSON is the custom marshaler for DetectorDefinition. 7839func (dd DetectorDefinition) MarshalJSON() ([]byte, error) { 7840 objectMap := make(map[string]interface{}) 7841 if dd.DetectorDefinitionProperties != nil { 7842 objectMap["properties"] = dd.DetectorDefinitionProperties 7843 } 7844 if dd.Kind != nil { 7845 objectMap["kind"] = dd.Kind 7846 } 7847 return json.Marshal(objectMap) 7848} 7849 7850// UnmarshalJSON is the custom unmarshaler for DetectorDefinition struct. 7851func (dd *DetectorDefinition) UnmarshalJSON(body []byte) error { 7852 var m map[string]*json.RawMessage 7853 err := json.Unmarshal(body, &m) 7854 if err != nil { 7855 return err 7856 } 7857 for k, v := range m { 7858 switch k { 7859 case "properties": 7860 if v != nil { 7861 var detectorDefinitionProperties DetectorDefinitionProperties 7862 err = json.Unmarshal(*v, &detectorDefinitionProperties) 7863 if err != nil { 7864 return err 7865 } 7866 dd.DetectorDefinitionProperties = &detectorDefinitionProperties 7867 } 7868 case "id": 7869 if v != nil { 7870 var ID string 7871 err = json.Unmarshal(*v, &ID) 7872 if err != nil { 7873 return err 7874 } 7875 dd.ID = &ID 7876 } 7877 case "name": 7878 if v != nil { 7879 var name string 7880 err = json.Unmarshal(*v, &name) 7881 if err != nil { 7882 return err 7883 } 7884 dd.Name = &name 7885 } 7886 case "kind": 7887 if v != nil { 7888 var kind string 7889 err = json.Unmarshal(*v, &kind) 7890 if err != nil { 7891 return err 7892 } 7893 dd.Kind = &kind 7894 } 7895 case "type": 7896 if v != nil { 7897 var typeVar string 7898 err = json.Unmarshal(*v, &typeVar) 7899 if err != nil { 7900 return err 7901 } 7902 dd.Type = &typeVar 7903 } 7904 } 7905 } 7906 7907 return nil 7908} 7909 7910// DetectorDefinitionProperties detectorDefinition resource specific properties 7911type DetectorDefinitionProperties struct { 7912 // DisplayName - READ-ONLY; Display name of the detector 7913 DisplayName *string `json:"displayName,omitempty"` 7914 // Description - READ-ONLY; Description of the detector 7915 Description *string `json:"description,omitempty"` 7916 // Rank - READ-ONLY; Detector Rank 7917 Rank *float64 `json:"rank,omitempty"` 7918 // IsEnabled - READ-ONLY; Flag representing whether detector is enabled or not. 7919 IsEnabled *bool `json:"isEnabled,omitempty"` 7920} 7921 7922// MarshalJSON is the custom marshaler for DetectorDefinitionProperties. 7923func (dd DetectorDefinitionProperties) MarshalJSON() ([]byte, error) { 7924 objectMap := make(map[string]interface{}) 7925 return json.Marshal(objectMap) 7926} 7927 7928// DetectorInfo definition of Detector 7929type DetectorInfo struct { 7930 // Description - READ-ONLY; Short description of the detector and its purpose 7931 Description *string `json:"description,omitempty"` 7932 // Category - READ-ONLY; Support Category 7933 Category *string `json:"category,omitempty"` 7934 // SubCategory - READ-ONLY; Support Sub Category 7935 SubCategory *string `json:"subCategory,omitempty"` 7936 // SupportTopicID - READ-ONLY; Support Topic Id 7937 SupportTopicID *string `json:"supportTopicId,omitempty"` 7938} 7939 7940// MarshalJSON is the custom marshaler for DetectorInfo. 7941func (di DetectorInfo) MarshalJSON() ([]byte, error) { 7942 objectMap := make(map[string]interface{}) 7943 return json.Marshal(objectMap) 7944} 7945 7946// DetectorResponse class representing Response from Detector 7947type DetectorResponse struct { 7948 autorest.Response `json:"-"` 7949 // DetectorResponseProperties - DetectorResponse resource specific properties 7950 *DetectorResponseProperties `json:"properties,omitempty"` 7951 // ID - READ-ONLY; Resource Id. 7952 ID *string `json:"id,omitempty"` 7953 // Name - READ-ONLY; Resource Name. 7954 Name *string `json:"name,omitempty"` 7955 // Kind - Kind of resource. 7956 Kind *string `json:"kind,omitempty"` 7957 // Type - READ-ONLY; Resource type. 7958 Type *string `json:"type,omitempty"` 7959} 7960 7961// MarshalJSON is the custom marshaler for DetectorResponse. 7962func (dr DetectorResponse) MarshalJSON() ([]byte, error) { 7963 objectMap := make(map[string]interface{}) 7964 if dr.DetectorResponseProperties != nil { 7965 objectMap["properties"] = dr.DetectorResponseProperties 7966 } 7967 if dr.Kind != nil { 7968 objectMap["kind"] = dr.Kind 7969 } 7970 return json.Marshal(objectMap) 7971} 7972 7973// UnmarshalJSON is the custom unmarshaler for DetectorResponse struct. 7974func (dr *DetectorResponse) UnmarshalJSON(body []byte) error { 7975 var m map[string]*json.RawMessage 7976 err := json.Unmarshal(body, &m) 7977 if err != nil { 7978 return err 7979 } 7980 for k, v := range m { 7981 switch k { 7982 case "properties": 7983 if v != nil { 7984 var detectorResponseProperties DetectorResponseProperties 7985 err = json.Unmarshal(*v, &detectorResponseProperties) 7986 if err != nil { 7987 return err 7988 } 7989 dr.DetectorResponseProperties = &detectorResponseProperties 7990 } 7991 case "id": 7992 if v != nil { 7993 var ID string 7994 err = json.Unmarshal(*v, &ID) 7995 if err != nil { 7996 return err 7997 } 7998 dr.ID = &ID 7999 } 8000 case "name": 8001 if v != nil { 8002 var name string 8003 err = json.Unmarshal(*v, &name) 8004 if err != nil { 8005 return err 8006 } 8007 dr.Name = &name 8008 } 8009 case "kind": 8010 if v != nil { 8011 var kind string 8012 err = json.Unmarshal(*v, &kind) 8013 if err != nil { 8014 return err 8015 } 8016 dr.Kind = &kind 8017 } 8018 case "type": 8019 if v != nil { 8020 var typeVar string 8021 err = json.Unmarshal(*v, &typeVar) 8022 if err != nil { 8023 return err 8024 } 8025 dr.Type = &typeVar 8026 } 8027 } 8028 } 8029 8030 return nil 8031} 8032 8033// DetectorResponseCollection collection of detector responses 8034type DetectorResponseCollection struct { 8035 autorest.Response `json:"-"` 8036 // Value - Collection of resources. 8037 Value *[]DetectorResponse `json:"value,omitempty"` 8038 // NextLink - READ-ONLY; Link to next page of resources. 8039 NextLink *string `json:"nextLink,omitempty"` 8040} 8041 8042// MarshalJSON is the custom marshaler for DetectorResponseCollection. 8043func (drc DetectorResponseCollection) MarshalJSON() ([]byte, error) { 8044 objectMap := make(map[string]interface{}) 8045 if drc.Value != nil { 8046 objectMap["value"] = drc.Value 8047 } 8048 return json.Marshal(objectMap) 8049} 8050 8051// DetectorResponseCollectionIterator provides access to a complete listing of DetectorResponse values. 8052type DetectorResponseCollectionIterator struct { 8053 i int 8054 page DetectorResponseCollectionPage 8055} 8056 8057// NextWithContext advances to the next value. If there was an error making 8058// the request the iterator does not advance and the error is returned. 8059func (iter *DetectorResponseCollectionIterator) NextWithContext(ctx context.Context) (err error) { 8060 if tracing.IsEnabled() { 8061 ctx = tracing.StartSpan(ctx, fqdn+"/DetectorResponseCollectionIterator.NextWithContext") 8062 defer func() { 8063 sc := -1 8064 if iter.Response().Response.Response != nil { 8065 sc = iter.Response().Response.Response.StatusCode 8066 } 8067 tracing.EndSpan(ctx, sc, err) 8068 }() 8069 } 8070 iter.i++ 8071 if iter.i < len(iter.page.Values()) { 8072 return nil 8073 } 8074 err = iter.page.NextWithContext(ctx) 8075 if err != nil { 8076 iter.i-- 8077 return err 8078 } 8079 iter.i = 0 8080 return nil 8081} 8082 8083// Next advances to the next value. If there was an error making 8084// the request the iterator does not advance and the error is returned. 8085// Deprecated: Use NextWithContext() instead. 8086func (iter *DetectorResponseCollectionIterator) Next() error { 8087 return iter.NextWithContext(context.Background()) 8088} 8089 8090// NotDone returns true if the enumeration should be started or is not yet complete. 8091func (iter DetectorResponseCollectionIterator) NotDone() bool { 8092 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 8093} 8094 8095// Response returns the raw server response from the last page request. 8096func (iter DetectorResponseCollectionIterator) Response() DetectorResponseCollection { 8097 return iter.page.Response() 8098} 8099 8100// Value returns the current value or a zero-initialized value if the 8101// iterator has advanced beyond the end of the collection. 8102func (iter DetectorResponseCollectionIterator) Value() DetectorResponse { 8103 if !iter.page.NotDone() { 8104 return DetectorResponse{} 8105 } 8106 return iter.page.Values()[iter.i] 8107} 8108 8109// Creates a new instance of the DetectorResponseCollectionIterator type. 8110func NewDetectorResponseCollectionIterator(page DetectorResponseCollectionPage) DetectorResponseCollectionIterator { 8111 return DetectorResponseCollectionIterator{page: page} 8112} 8113 8114// IsEmpty returns true if the ListResult contains no values. 8115func (drc DetectorResponseCollection) IsEmpty() bool { 8116 return drc.Value == nil || len(*drc.Value) == 0 8117} 8118 8119// hasNextLink returns true if the NextLink is not empty. 8120func (drc DetectorResponseCollection) hasNextLink() bool { 8121 return drc.NextLink != nil && len(*drc.NextLink) != 0 8122} 8123 8124// detectorResponseCollectionPreparer prepares a request to retrieve the next set of results. 8125// It returns nil if no more results exist. 8126func (drc DetectorResponseCollection) detectorResponseCollectionPreparer(ctx context.Context) (*http.Request, error) { 8127 if !drc.hasNextLink() { 8128 return nil, nil 8129 } 8130 return autorest.Prepare((&http.Request{}).WithContext(ctx), 8131 autorest.AsJSON(), 8132 autorest.AsGet(), 8133 autorest.WithBaseURL(to.String(drc.NextLink))) 8134} 8135 8136// DetectorResponseCollectionPage contains a page of DetectorResponse values. 8137type DetectorResponseCollectionPage struct { 8138 fn func(context.Context, DetectorResponseCollection) (DetectorResponseCollection, error) 8139 drc DetectorResponseCollection 8140} 8141 8142// NextWithContext advances to the next page of values. If there was an error making 8143// the request the page does not advance and the error is returned. 8144func (page *DetectorResponseCollectionPage) NextWithContext(ctx context.Context) (err error) { 8145 if tracing.IsEnabled() { 8146 ctx = tracing.StartSpan(ctx, fqdn+"/DetectorResponseCollectionPage.NextWithContext") 8147 defer func() { 8148 sc := -1 8149 if page.Response().Response.Response != nil { 8150 sc = page.Response().Response.Response.StatusCode 8151 } 8152 tracing.EndSpan(ctx, sc, err) 8153 }() 8154 } 8155 for { 8156 next, err := page.fn(ctx, page.drc) 8157 if err != nil { 8158 return err 8159 } 8160 page.drc = next 8161 if !next.hasNextLink() || !next.IsEmpty() { 8162 break 8163 } 8164 } 8165 return nil 8166} 8167 8168// Next advances to the next page of values. If there was an error making 8169// the request the page does not advance and the error is returned. 8170// Deprecated: Use NextWithContext() instead. 8171func (page *DetectorResponseCollectionPage) Next() error { 8172 return page.NextWithContext(context.Background()) 8173} 8174 8175// NotDone returns true if the page enumeration should be started or is not yet complete. 8176func (page DetectorResponseCollectionPage) NotDone() bool { 8177 return !page.drc.IsEmpty() 8178} 8179 8180// Response returns the raw server response from the last page request. 8181func (page DetectorResponseCollectionPage) Response() DetectorResponseCollection { 8182 return page.drc 8183} 8184 8185// Values returns the slice of values for the current page or nil if there are no values. 8186func (page DetectorResponseCollectionPage) Values() []DetectorResponse { 8187 if page.drc.IsEmpty() { 8188 return nil 8189 } 8190 return *page.drc.Value 8191} 8192 8193// Creates a new instance of the DetectorResponseCollectionPage type. 8194func NewDetectorResponseCollectionPage(cur DetectorResponseCollection, getNextPage func(context.Context, DetectorResponseCollection) (DetectorResponseCollection, error)) DetectorResponseCollectionPage { 8195 return DetectorResponseCollectionPage{ 8196 fn: getNextPage, 8197 drc: cur, 8198 } 8199} 8200 8201// DetectorResponseProperties detectorResponse resource specific properties 8202type DetectorResponseProperties struct { 8203 // Metadata - metadata for the detector 8204 Metadata *DetectorInfo `json:"metadata,omitempty"` 8205 // Dataset - Data Set 8206 Dataset *[]DiagnosticData `json:"dataset,omitempty"` 8207} 8208 8209// DiagnosticAnalysis class representing a diagnostic analysis done on an application 8210type DiagnosticAnalysis struct { 8211 autorest.Response `json:"-"` 8212 // DiagnosticAnalysisProperties - DiagnosticAnalysis resource specific properties 8213 *DiagnosticAnalysisProperties `json:"properties,omitempty"` 8214 // ID - READ-ONLY; Resource Id. 8215 ID *string `json:"id,omitempty"` 8216 // Name - READ-ONLY; Resource Name. 8217 Name *string `json:"name,omitempty"` 8218 // Kind - Kind of resource. 8219 Kind *string `json:"kind,omitempty"` 8220 // Type - READ-ONLY; Resource type. 8221 Type *string `json:"type,omitempty"` 8222} 8223 8224// MarshalJSON is the custom marshaler for DiagnosticAnalysis. 8225func (da DiagnosticAnalysis) MarshalJSON() ([]byte, error) { 8226 objectMap := make(map[string]interface{}) 8227 if da.DiagnosticAnalysisProperties != nil { 8228 objectMap["properties"] = da.DiagnosticAnalysisProperties 8229 } 8230 if da.Kind != nil { 8231 objectMap["kind"] = da.Kind 8232 } 8233 return json.Marshal(objectMap) 8234} 8235 8236// UnmarshalJSON is the custom unmarshaler for DiagnosticAnalysis struct. 8237func (da *DiagnosticAnalysis) UnmarshalJSON(body []byte) error { 8238 var m map[string]*json.RawMessage 8239 err := json.Unmarshal(body, &m) 8240 if err != nil { 8241 return err 8242 } 8243 for k, v := range m { 8244 switch k { 8245 case "properties": 8246 if v != nil { 8247 var diagnosticAnalysisProperties DiagnosticAnalysisProperties 8248 err = json.Unmarshal(*v, &diagnosticAnalysisProperties) 8249 if err != nil { 8250 return err 8251 } 8252 da.DiagnosticAnalysisProperties = &diagnosticAnalysisProperties 8253 } 8254 case "id": 8255 if v != nil { 8256 var ID string 8257 err = json.Unmarshal(*v, &ID) 8258 if err != nil { 8259 return err 8260 } 8261 da.ID = &ID 8262 } 8263 case "name": 8264 if v != nil { 8265 var name string 8266 err = json.Unmarshal(*v, &name) 8267 if err != nil { 8268 return err 8269 } 8270 da.Name = &name 8271 } 8272 case "kind": 8273 if v != nil { 8274 var kind string 8275 err = json.Unmarshal(*v, &kind) 8276 if err != nil { 8277 return err 8278 } 8279 da.Kind = &kind 8280 } 8281 case "type": 8282 if v != nil { 8283 var typeVar string 8284 err = json.Unmarshal(*v, &typeVar) 8285 if err != nil { 8286 return err 8287 } 8288 da.Type = &typeVar 8289 } 8290 } 8291 } 8292 8293 return nil 8294} 8295 8296// DiagnosticAnalysisCollection collection of Diagnostic Analyses 8297type DiagnosticAnalysisCollection struct { 8298 autorest.Response `json:"-"` 8299 // Value - Collection of resources. 8300 Value *[]AnalysisDefinition `json:"value,omitempty"` 8301 // NextLink - READ-ONLY; Link to next page of resources. 8302 NextLink *string `json:"nextLink,omitempty"` 8303} 8304 8305// MarshalJSON is the custom marshaler for DiagnosticAnalysisCollection. 8306func (dac DiagnosticAnalysisCollection) MarshalJSON() ([]byte, error) { 8307 objectMap := make(map[string]interface{}) 8308 if dac.Value != nil { 8309 objectMap["value"] = dac.Value 8310 } 8311 return json.Marshal(objectMap) 8312} 8313 8314// DiagnosticAnalysisCollectionIterator provides access to a complete listing of AnalysisDefinition values. 8315type DiagnosticAnalysisCollectionIterator struct { 8316 i int 8317 page DiagnosticAnalysisCollectionPage 8318} 8319 8320// NextWithContext advances to the next value. If there was an error making 8321// the request the iterator does not advance and the error is returned. 8322func (iter *DiagnosticAnalysisCollectionIterator) NextWithContext(ctx context.Context) (err error) { 8323 if tracing.IsEnabled() { 8324 ctx = tracing.StartSpan(ctx, fqdn+"/DiagnosticAnalysisCollectionIterator.NextWithContext") 8325 defer func() { 8326 sc := -1 8327 if iter.Response().Response.Response != nil { 8328 sc = iter.Response().Response.Response.StatusCode 8329 } 8330 tracing.EndSpan(ctx, sc, err) 8331 }() 8332 } 8333 iter.i++ 8334 if iter.i < len(iter.page.Values()) { 8335 return nil 8336 } 8337 err = iter.page.NextWithContext(ctx) 8338 if err != nil { 8339 iter.i-- 8340 return err 8341 } 8342 iter.i = 0 8343 return nil 8344} 8345 8346// Next advances to the next value. If there was an error making 8347// the request the iterator does not advance and the error is returned. 8348// Deprecated: Use NextWithContext() instead. 8349func (iter *DiagnosticAnalysisCollectionIterator) Next() error { 8350 return iter.NextWithContext(context.Background()) 8351} 8352 8353// NotDone returns true if the enumeration should be started or is not yet complete. 8354func (iter DiagnosticAnalysisCollectionIterator) NotDone() bool { 8355 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 8356} 8357 8358// Response returns the raw server response from the last page request. 8359func (iter DiagnosticAnalysisCollectionIterator) Response() DiagnosticAnalysisCollection { 8360 return iter.page.Response() 8361} 8362 8363// Value returns the current value or a zero-initialized value if the 8364// iterator has advanced beyond the end of the collection. 8365func (iter DiagnosticAnalysisCollectionIterator) Value() AnalysisDefinition { 8366 if !iter.page.NotDone() { 8367 return AnalysisDefinition{} 8368 } 8369 return iter.page.Values()[iter.i] 8370} 8371 8372// Creates a new instance of the DiagnosticAnalysisCollectionIterator type. 8373func NewDiagnosticAnalysisCollectionIterator(page DiagnosticAnalysisCollectionPage) DiagnosticAnalysisCollectionIterator { 8374 return DiagnosticAnalysisCollectionIterator{page: page} 8375} 8376 8377// IsEmpty returns true if the ListResult contains no values. 8378func (dac DiagnosticAnalysisCollection) IsEmpty() bool { 8379 return dac.Value == nil || len(*dac.Value) == 0 8380} 8381 8382// hasNextLink returns true if the NextLink is not empty. 8383func (dac DiagnosticAnalysisCollection) hasNextLink() bool { 8384 return dac.NextLink != nil && len(*dac.NextLink) != 0 8385} 8386 8387// diagnosticAnalysisCollectionPreparer prepares a request to retrieve the next set of results. 8388// It returns nil if no more results exist. 8389func (dac DiagnosticAnalysisCollection) diagnosticAnalysisCollectionPreparer(ctx context.Context) (*http.Request, error) { 8390 if !dac.hasNextLink() { 8391 return nil, nil 8392 } 8393 return autorest.Prepare((&http.Request{}).WithContext(ctx), 8394 autorest.AsJSON(), 8395 autorest.AsGet(), 8396 autorest.WithBaseURL(to.String(dac.NextLink))) 8397} 8398 8399// DiagnosticAnalysisCollectionPage contains a page of AnalysisDefinition values. 8400type DiagnosticAnalysisCollectionPage struct { 8401 fn func(context.Context, DiagnosticAnalysisCollection) (DiagnosticAnalysisCollection, error) 8402 dac DiagnosticAnalysisCollection 8403} 8404 8405// NextWithContext advances to the next page of values. If there was an error making 8406// the request the page does not advance and the error is returned. 8407func (page *DiagnosticAnalysisCollectionPage) NextWithContext(ctx context.Context) (err error) { 8408 if tracing.IsEnabled() { 8409 ctx = tracing.StartSpan(ctx, fqdn+"/DiagnosticAnalysisCollectionPage.NextWithContext") 8410 defer func() { 8411 sc := -1 8412 if page.Response().Response.Response != nil { 8413 sc = page.Response().Response.Response.StatusCode 8414 } 8415 tracing.EndSpan(ctx, sc, err) 8416 }() 8417 } 8418 for { 8419 next, err := page.fn(ctx, page.dac) 8420 if err != nil { 8421 return err 8422 } 8423 page.dac = next 8424 if !next.hasNextLink() || !next.IsEmpty() { 8425 break 8426 } 8427 } 8428 return nil 8429} 8430 8431// Next advances to the next page of values. If there was an error making 8432// the request the page does not advance and the error is returned. 8433// Deprecated: Use NextWithContext() instead. 8434func (page *DiagnosticAnalysisCollectionPage) Next() error { 8435 return page.NextWithContext(context.Background()) 8436} 8437 8438// NotDone returns true if the page enumeration should be started or is not yet complete. 8439func (page DiagnosticAnalysisCollectionPage) NotDone() bool { 8440 return !page.dac.IsEmpty() 8441} 8442 8443// Response returns the raw server response from the last page request. 8444func (page DiagnosticAnalysisCollectionPage) Response() DiagnosticAnalysisCollection { 8445 return page.dac 8446} 8447 8448// Values returns the slice of values for the current page or nil if there are no values. 8449func (page DiagnosticAnalysisCollectionPage) Values() []AnalysisDefinition { 8450 if page.dac.IsEmpty() { 8451 return nil 8452 } 8453 return *page.dac.Value 8454} 8455 8456// Creates a new instance of the DiagnosticAnalysisCollectionPage type. 8457func NewDiagnosticAnalysisCollectionPage(cur DiagnosticAnalysisCollection, getNextPage func(context.Context, DiagnosticAnalysisCollection) (DiagnosticAnalysisCollection, error)) DiagnosticAnalysisCollectionPage { 8458 return DiagnosticAnalysisCollectionPage{ 8459 fn: getNextPage, 8460 dac: cur, 8461 } 8462} 8463 8464// DiagnosticAnalysisProperties diagnosticAnalysis resource specific properties 8465type DiagnosticAnalysisProperties struct { 8466 // StartTime - Start time of the period 8467 StartTime *date.Time `json:"startTime,omitempty"` 8468 // EndTime - End time of the period 8469 EndTime *date.Time `json:"endTime,omitempty"` 8470 // AbnormalTimePeriods - List of time periods. 8471 AbnormalTimePeriods *[]AbnormalTimePeriod `json:"abnormalTimePeriods,omitempty"` 8472 // Payload - Data by each detector 8473 Payload *[]AnalysisData `json:"payload,omitempty"` 8474 // NonCorrelatedDetectors - Data by each detector for detectors that did not corelate 8475 NonCorrelatedDetectors *[]DetectorDefinition `json:"nonCorrelatedDetectors,omitempty"` 8476} 8477 8478// DiagnosticCategory class representing detector definition 8479type DiagnosticCategory struct { 8480 autorest.Response `json:"-"` 8481 // DiagnosticCategoryProperties - DiagnosticCategory resource specific properties 8482 *DiagnosticCategoryProperties `json:"properties,omitempty"` 8483 // ID - READ-ONLY; Resource Id. 8484 ID *string `json:"id,omitempty"` 8485 // Name - READ-ONLY; Resource Name. 8486 Name *string `json:"name,omitempty"` 8487 // Kind - Kind of resource. 8488 Kind *string `json:"kind,omitempty"` 8489 // Type - READ-ONLY; Resource type. 8490 Type *string `json:"type,omitempty"` 8491} 8492 8493// MarshalJSON is the custom marshaler for DiagnosticCategory. 8494func (dc DiagnosticCategory) MarshalJSON() ([]byte, error) { 8495 objectMap := make(map[string]interface{}) 8496 if dc.DiagnosticCategoryProperties != nil { 8497 objectMap["properties"] = dc.DiagnosticCategoryProperties 8498 } 8499 if dc.Kind != nil { 8500 objectMap["kind"] = dc.Kind 8501 } 8502 return json.Marshal(objectMap) 8503} 8504 8505// UnmarshalJSON is the custom unmarshaler for DiagnosticCategory struct. 8506func (dc *DiagnosticCategory) UnmarshalJSON(body []byte) error { 8507 var m map[string]*json.RawMessage 8508 err := json.Unmarshal(body, &m) 8509 if err != nil { 8510 return err 8511 } 8512 for k, v := range m { 8513 switch k { 8514 case "properties": 8515 if v != nil { 8516 var diagnosticCategoryProperties DiagnosticCategoryProperties 8517 err = json.Unmarshal(*v, &diagnosticCategoryProperties) 8518 if err != nil { 8519 return err 8520 } 8521 dc.DiagnosticCategoryProperties = &diagnosticCategoryProperties 8522 } 8523 case "id": 8524 if v != nil { 8525 var ID string 8526 err = json.Unmarshal(*v, &ID) 8527 if err != nil { 8528 return err 8529 } 8530 dc.ID = &ID 8531 } 8532 case "name": 8533 if v != nil { 8534 var name string 8535 err = json.Unmarshal(*v, &name) 8536 if err != nil { 8537 return err 8538 } 8539 dc.Name = &name 8540 } 8541 case "kind": 8542 if v != nil { 8543 var kind string 8544 err = json.Unmarshal(*v, &kind) 8545 if err != nil { 8546 return err 8547 } 8548 dc.Kind = &kind 8549 } 8550 case "type": 8551 if v != nil { 8552 var typeVar string 8553 err = json.Unmarshal(*v, &typeVar) 8554 if err != nil { 8555 return err 8556 } 8557 dc.Type = &typeVar 8558 } 8559 } 8560 } 8561 8562 return nil 8563} 8564 8565// DiagnosticCategoryCollection collection of Diagnostic Categories 8566type DiagnosticCategoryCollection struct { 8567 autorest.Response `json:"-"` 8568 // Value - Collection of resources. 8569 Value *[]DiagnosticCategory `json:"value,omitempty"` 8570 // NextLink - READ-ONLY; Link to next page of resources. 8571 NextLink *string `json:"nextLink,omitempty"` 8572} 8573 8574// MarshalJSON is the custom marshaler for DiagnosticCategoryCollection. 8575func (dcc DiagnosticCategoryCollection) MarshalJSON() ([]byte, error) { 8576 objectMap := make(map[string]interface{}) 8577 if dcc.Value != nil { 8578 objectMap["value"] = dcc.Value 8579 } 8580 return json.Marshal(objectMap) 8581} 8582 8583// DiagnosticCategoryCollectionIterator provides access to a complete listing of DiagnosticCategory values. 8584type DiagnosticCategoryCollectionIterator struct { 8585 i int 8586 page DiagnosticCategoryCollectionPage 8587} 8588 8589// NextWithContext advances to the next value. If there was an error making 8590// the request the iterator does not advance and the error is returned. 8591func (iter *DiagnosticCategoryCollectionIterator) NextWithContext(ctx context.Context) (err error) { 8592 if tracing.IsEnabled() { 8593 ctx = tracing.StartSpan(ctx, fqdn+"/DiagnosticCategoryCollectionIterator.NextWithContext") 8594 defer func() { 8595 sc := -1 8596 if iter.Response().Response.Response != nil { 8597 sc = iter.Response().Response.Response.StatusCode 8598 } 8599 tracing.EndSpan(ctx, sc, err) 8600 }() 8601 } 8602 iter.i++ 8603 if iter.i < len(iter.page.Values()) { 8604 return nil 8605 } 8606 err = iter.page.NextWithContext(ctx) 8607 if err != nil { 8608 iter.i-- 8609 return err 8610 } 8611 iter.i = 0 8612 return nil 8613} 8614 8615// Next advances to the next value. If there was an error making 8616// the request the iterator does not advance and the error is returned. 8617// Deprecated: Use NextWithContext() instead. 8618func (iter *DiagnosticCategoryCollectionIterator) Next() error { 8619 return iter.NextWithContext(context.Background()) 8620} 8621 8622// NotDone returns true if the enumeration should be started or is not yet complete. 8623func (iter DiagnosticCategoryCollectionIterator) NotDone() bool { 8624 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 8625} 8626 8627// Response returns the raw server response from the last page request. 8628func (iter DiagnosticCategoryCollectionIterator) Response() DiagnosticCategoryCollection { 8629 return iter.page.Response() 8630} 8631 8632// Value returns the current value or a zero-initialized value if the 8633// iterator has advanced beyond the end of the collection. 8634func (iter DiagnosticCategoryCollectionIterator) Value() DiagnosticCategory { 8635 if !iter.page.NotDone() { 8636 return DiagnosticCategory{} 8637 } 8638 return iter.page.Values()[iter.i] 8639} 8640 8641// Creates a new instance of the DiagnosticCategoryCollectionIterator type. 8642func NewDiagnosticCategoryCollectionIterator(page DiagnosticCategoryCollectionPage) DiagnosticCategoryCollectionIterator { 8643 return DiagnosticCategoryCollectionIterator{page: page} 8644} 8645 8646// IsEmpty returns true if the ListResult contains no values. 8647func (dcc DiagnosticCategoryCollection) IsEmpty() bool { 8648 return dcc.Value == nil || len(*dcc.Value) == 0 8649} 8650 8651// hasNextLink returns true if the NextLink is not empty. 8652func (dcc DiagnosticCategoryCollection) hasNextLink() bool { 8653 return dcc.NextLink != nil && len(*dcc.NextLink) != 0 8654} 8655 8656// diagnosticCategoryCollectionPreparer prepares a request to retrieve the next set of results. 8657// It returns nil if no more results exist. 8658func (dcc DiagnosticCategoryCollection) diagnosticCategoryCollectionPreparer(ctx context.Context) (*http.Request, error) { 8659 if !dcc.hasNextLink() { 8660 return nil, nil 8661 } 8662 return autorest.Prepare((&http.Request{}).WithContext(ctx), 8663 autorest.AsJSON(), 8664 autorest.AsGet(), 8665 autorest.WithBaseURL(to.String(dcc.NextLink))) 8666} 8667 8668// DiagnosticCategoryCollectionPage contains a page of DiagnosticCategory values. 8669type DiagnosticCategoryCollectionPage struct { 8670 fn func(context.Context, DiagnosticCategoryCollection) (DiagnosticCategoryCollection, error) 8671 dcc DiagnosticCategoryCollection 8672} 8673 8674// NextWithContext advances to the next page of values. If there was an error making 8675// the request the page does not advance and the error is returned. 8676func (page *DiagnosticCategoryCollectionPage) NextWithContext(ctx context.Context) (err error) { 8677 if tracing.IsEnabled() { 8678 ctx = tracing.StartSpan(ctx, fqdn+"/DiagnosticCategoryCollectionPage.NextWithContext") 8679 defer func() { 8680 sc := -1 8681 if page.Response().Response.Response != nil { 8682 sc = page.Response().Response.Response.StatusCode 8683 } 8684 tracing.EndSpan(ctx, sc, err) 8685 }() 8686 } 8687 for { 8688 next, err := page.fn(ctx, page.dcc) 8689 if err != nil { 8690 return err 8691 } 8692 page.dcc = next 8693 if !next.hasNextLink() || !next.IsEmpty() { 8694 break 8695 } 8696 } 8697 return nil 8698} 8699 8700// Next advances to the next page of values. If there was an error making 8701// the request the page does not advance and the error is returned. 8702// Deprecated: Use NextWithContext() instead. 8703func (page *DiagnosticCategoryCollectionPage) Next() error { 8704 return page.NextWithContext(context.Background()) 8705} 8706 8707// NotDone returns true if the page enumeration should be started or is not yet complete. 8708func (page DiagnosticCategoryCollectionPage) NotDone() bool { 8709 return !page.dcc.IsEmpty() 8710} 8711 8712// Response returns the raw server response from the last page request. 8713func (page DiagnosticCategoryCollectionPage) Response() DiagnosticCategoryCollection { 8714 return page.dcc 8715} 8716 8717// Values returns the slice of values for the current page or nil if there are no values. 8718func (page DiagnosticCategoryCollectionPage) Values() []DiagnosticCategory { 8719 if page.dcc.IsEmpty() { 8720 return nil 8721 } 8722 return *page.dcc.Value 8723} 8724 8725// Creates a new instance of the DiagnosticCategoryCollectionPage type. 8726func NewDiagnosticCategoryCollectionPage(cur DiagnosticCategoryCollection, getNextPage func(context.Context, DiagnosticCategoryCollection) (DiagnosticCategoryCollection, error)) DiagnosticCategoryCollectionPage { 8727 return DiagnosticCategoryCollectionPage{ 8728 fn: getNextPage, 8729 dcc: cur, 8730 } 8731} 8732 8733// DiagnosticCategoryProperties diagnosticCategory resource specific properties 8734type DiagnosticCategoryProperties struct { 8735 // Description - READ-ONLY; Description of the diagnostic category 8736 Description *string `json:"description,omitempty"` 8737} 8738 8739// MarshalJSON is the custom marshaler for DiagnosticCategoryProperties. 8740func (dc DiagnosticCategoryProperties) MarshalJSON() ([]byte, error) { 8741 objectMap := make(map[string]interface{}) 8742 return json.Marshal(objectMap) 8743} 8744 8745// DiagnosticData set of data with rendering instructions 8746type DiagnosticData struct { 8747 // Table - Data in table form 8748 Table *DataTableResponseObject `json:"table,omitempty"` 8749 // RenderingProperties - Properties that describe how the table should be rendered 8750 RenderingProperties *Rendering `json:"renderingProperties,omitempty"` 8751} 8752 8753// DiagnosticDetectorCollection collection of Diagnostic Detectors 8754type DiagnosticDetectorCollection struct { 8755 autorest.Response `json:"-"` 8756 // Value - Collection of resources. 8757 Value *[]DetectorDefinition `json:"value,omitempty"` 8758 // NextLink - READ-ONLY; Link to next page of resources. 8759 NextLink *string `json:"nextLink,omitempty"` 8760} 8761 8762// MarshalJSON is the custom marshaler for DiagnosticDetectorCollection. 8763func (ddc DiagnosticDetectorCollection) MarshalJSON() ([]byte, error) { 8764 objectMap := make(map[string]interface{}) 8765 if ddc.Value != nil { 8766 objectMap["value"] = ddc.Value 8767 } 8768 return json.Marshal(objectMap) 8769} 8770 8771// DiagnosticDetectorCollectionIterator provides access to a complete listing of DetectorDefinition values. 8772type DiagnosticDetectorCollectionIterator struct { 8773 i int 8774 page DiagnosticDetectorCollectionPage 8775} 8776 8777// NextWithContext advances to the next value. If there was an error making 8778// the request the iterator does not advance and the error is returned. 8779func (iter *DiagnosticDetectorCollectionIterator) NextWithContext(ctx context.Context) (err error) { 8780 if tracing.IsEnabled() { 8781 ctx = tracing.StartSpan(ctx, fqdn+"/DiagnosticDetectorCollectionIterator.NextWithContext") 8782 defer func() { 8783 sc := -1 8784 if iter.Response().Response.Response != nil { 8785 sc = iter.Response().Response.Response.StatusCode 8786 } 8787 tracing.EndSpan(ctx, sc, err) 8788 }() 8789 } 8790 iter.i++ 8791 if iter.i < len(iter.page.Values()) { 8792 return nil 8793 } 8794 err = iter.page.NextWithContext(ctx) 8795 if err != nil { 8796 iter.i-- 8797 return err 8798 } 8799 iter.i = 0 8800 return nil 8801} 8802 8803// Next advances to the next value. If there was an error making 8804// the request the iterator does not advance and the error is returned. 8805// Deprecated: Use NextWithContext() instead. 8806func (iter *DiagnosticDetectorCollectionIterator) Next() error { 8807 return iter.NextWithContext(context.Background()) 8808} 8809 8810// NotDone returns true if the enumeration should be started or is not yet complete. 8811func (iter DiagnosticDetectorCollectionIterator) NotDone() bool { 8812 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 8813} 8814 8815// Response returns the raw server response from the last page request. 8816func (iter DiagnosticDetectorCollectionIterator) Response() DiagnosticDetectorCollection { 8817 return iter.page.Response() 8818} 8819 8820// Value returns the current value or a zero-initialized value if the 8821// iterator has advanced beyond the end of the collection. 8822func (iter DiagnosticDetectorCollectionIterator) Value() DetectorDefinition { 8823 if !iter.page.NotDone() { 8824 return DetectorDefinition{} 8825 } 8826 return iter.page.Values()[iter.i] 8827} 8828 8829// Creates a new instance of the DiagnosticDetectorCollectionIterator type. 8830func NewDiagnosticDetectorCollectionIterator(page DiagnosticDetectorCollectionPage) DiagnosticDetectorCollectionIterator { 8831 return DiagnosticDetectorCollectionIterator{page: page} 8832} 8833 8834// IsEmpty returns true if the ListResult contains no values. 8835func (ddc DiagnosticDetectorCollection) IsEmpty() bool { 8836 return ddc.Value == nil || len(*ddc.Value) == 0 8837} 8838 8839// hasNextLink returns true if the NextLink is not empty. 8840func (ddc DiagnosticDetectorCollection) hasNextLink() bool { 8841 return ddc.NextLink != nil && len(*ddc.NextLink) != 0 8842} 8843 8844// diagnosticDetectorCollectionPreparer prepares a request to retrieve the next set of results. 8845// It returns nil if no more results exist. 8846func (ddc DiagnosticDetectorCollection) diagnosticDetectorCollectionPreparer(ctx context.Context) (*http.Request, error) { 8847 if !ddc.hasNextLink() { 8848 return nil, nil 8849 } 8850 return autorest.Prepare((&http.Request{}).WithContext(ctx), 8851 autorest.AsJSON(), 8852 autorest.AsGet(), 8853 autorest.WithBaseURL(to.String(ddc.NextLink))) 8854} 8855 8856// DiagnosticDetectorCollectionPage contains a page of DetectorDefinition values. 8857type DiagnosticDetectorCollectionPage struct { 8858 fn func(context.Context, DiagnosticDetectorCollection) (DiagnosticDetectorCollection, error) 8859 ddc DiagnosticDetectorCollection 8860} 8861 8862// NextWithContext advances to the next page of values. If there was an error making 8863// the request the page does not advance and the error is returned. 8864func (page *DiagnosticDetectorCollectionPage) NextWithContext(ctx context.Context) (err error) { 8865 if tracing.IsEnabled() { 8866 ctx = tracing.StartSpan(ctx, fqdn+"/DiagnosticDetectorCollectionPage.NextWithContext") 8867 defer func() { 8868 sc := -1 8869 if page.Response().Response.Response != nil { 8870 sc = page.Response().Response.Response.StatusCode 8871 } 8872 tracing.EndSpan(ctx, sc, err) 8873 }() 8874 } 8875 for { 8876 next, err := page.fn(ctx, page.ddc) 8877 if err != nil { 8878 return err 8879 } 8880 page.ddc = next 8881 if !next.hasNextLink() || !next.IsEmpty() { 8882 break 8883 } 8884 } 8885 return nil 8886} 8887 8888// Next advances to the next page of values. If there was an error making 8889// the request the page does not advance and the error is returned. 8890// Deprecated: Use NextWithContext() instead. 8891func (page *DiagnosticDetectorCollectionPage) Next() error { 8892 return page.NextWithContext(context.Background()) 8893} 8894 8895// NotDone returns true if the page enumeration should be started or is not yet complete. 8896func (page DiagnosticDetectorCollectionPage) NotDone() bool { 8897 return !page.ddc.IsEmpty() 8898} 8899 8900// Response returns the raw server response from the last page request. 8901func (page DiagnosticDetectorCollectionPage) Response() DiagnosticDetectorCollection { 8902 return page.ddc 8903} 8904 8905// Values returns the slice of values for the current page or nil if there are no values. 8906func (page DiagnosticDetectorCollectionPage) Values() []DetectorDefinition { 8907 if page.ddc.IsEmpty() { 8908 return nil 8909 } 8910 return *page.ddc.Value 8911} 8912 8913// Creates a new instance of the DiagnosticDetectorCollectionPage type. 8914func NewDiagnosticDetectorCollectionPage(cur DiagnosticDetectorCollection, getNextPage func(context.Context, DiagnosticDetectorCollection) (DiagnosticDetectorCollection, error)) DiagnosticDetectorCollectionPage { 8915 return DiagnosticDetectorCollectionPage{ 8916 fn: getNextPage, 8917 ddc: cur, 8918 } 8919} 8920 8921// DiagnosticDetectorResponse class representing Response from Diagnostic Detectors 8922type DiagnosticDetectorResponse struct { 8923 autorest.Response `json:"-"` 8924 // DiagnosticDetectorResponseProperties - DiagnosticDetectorResponse resource specific properties 8925 *DiagnosticDetectorResponseProperties `json:"properties,omitempty"` 8926 // ID - READ-ONLY; Resource Id. 8927 ID *string `json:"id,omitempty"` 8928 // Name - READ-ONLY; Resource Name. 8929 Name *string `json:"name,omitempty"` 8930 // Kind - Kind of resource. 8931 Kind *string `json:"kind,omitempty"` 8932 // Type - READ-ONLY; Resource type. 8933 Type *string `json:"type,omitempty"` 8934} 8935 8936// MarshalJSON is the custom marshaler for DiagnosticDetectorResponse. 8937func (ddr DiagnosticDetectorResponse) MarshalJSON() ([]byte, error) { 8938 objectMap := make(map[string]interface{}) 8939 if ddr.DiagnosticDetectorResponseProperties != nil { 8940 objectMap["properties"] = ddr.DiagnosticDetectorResponseProperties 8941 } 8942 if ddr.Kind != nil { 8943 objectMap["kind"] = ddr.Kind 8944 } 8945 return json.Marshal(objectMap) 8946} 8947 8948// UnmarshalJSON is the custom unmarshaler for DiagnosticDetectorResponse struct. 8949func (ddr *DiagnosticDetectorResponse) UnmarshalJSON(body []byte) error { 8950 var m map[string]*json.RawMessage 8951 err := json.Unmarshal(body, &m) 8952 if err != nil { 8953 return err 8954 } 8955 for k, v := range m { 8956 switch k { 8957 case "properties": 8958 if v != nil { 8959 var diagnosticDetectorResponseProperties DiagnosticDetectorResponseProperties 8960 err = json.Unmarshal(*v, &diagnosticDetectorResponseProperties) 8961 if err != nil { 8962 return err 8963 } 8964 ddr.DiagnosticDetectorResponseProperties = &diagnosticDetectorResponseProperties 8965 } 8966 case "id": 8967 if v != nil { 8968 var ID string 8969 err = json.Unmarshal(*v, &ID) 8970 if err != nil { 8971 return err 8972 } 8973 ddr.ID = &ID 8974 } 8975 case "name": 8976 if v != nil { 8977 var name string 8978 err = json.Unmarshal(*v, &name) 8979 if err != nil { 8980 return err 8981 } 8982 ddr.Name = &name 8983 } 8984 case "kind": 8985 if v != nil { 8986 var kind string 8987 err = json.Unmarshal(*v, &kind) 8988 if err != nil { 8989 return err 8990 } 8991 ddr.Kind = &kind 8992 } 8993 case "type": 8994 if v != nil { 8995 var typeVar string 8996 err = json.Unmarshal(*v, &typeVar) 8997 if err != nil { 8998 return err 8999 } 9000 ddr.Type = &typeVar 9001 } 9002 } 9003 } 9004 9005 return nil 9006} 9007 9008// DiagnosticDetectorResponseProperties diagnosticDetectorResponse resource specific properties 9009type DiagnosticDetectorResponseProperties struct { 9010 // StartTime - Start time of the period 9011 StartTime *date.Time `json:"startTime,omitempty"` 9012 // EndTime - End time of the period 9013 EndTime *date.Time `json:"endTime,omitempty"` 9014 // IssueDetected - Flag representing Issue was detected. 9015 IssueDetected *bool `json:"issueDetected,omitempty"` 9016 // DetectorDefinition - Detector's definition 9017 DetectorDefinition *DetectorDefinition `json:"detectorDefinition,omitempty"` 9018 // Metrics - Metrics provided by the detector 9019 Metrics *[]DiagnosticMetricSet `json:"metrics,omitempty"` 9020 // AbnormalTimePeriods - List of Correlated events found by the detector 9021 AbnormalTimePeriods *[]DetectorAbnormalTimePeriod `json:"abnormalTimePeriods,omitempty"` 9022 // Data - Additional Data that detector wants to send. 9023 Data *[][]NameValuePair `json:"data,omitempty"` 9024 // ResponseMetaData - Meta Data 9025 ResponseMetaData *ResponseMetaData `json:"responseMetaData,omitempty"` 9026} 9027 9028// DiagnosticMetricSample class representing Diagnostic Metric 9029type DiagnosticMetricSample struct { 9030 // Timestamp - Time at which metric is measured 9031 Timestamp *date.Time `json:"timestamp,omitempty"` 9032 // RoleInstance - Role Instance. Null if this counter is not per instance 9033 // This is returned and should be whichever instance name we desire to be returned 9034 // i.e. CPU and Memory return RDWORKERNAME (LargeDed..._IN_0) 9035 // where RDWORKERNAME is Machine name below and RoleInstance name in parenthesis 9036 RoleInstance *string `json:"roleInstance,omitempty"` 9037 // Total - Total value of the metric. If multiple measurements are made this will have sum of all. 9038 Total *float64 `json:"total,omitempty"` 9039 // Maximum - Maximum of the metric sampled during the time period 9040 Maximum *float64 `json:"maximum,omitempty"` 9041 // Minimum - Minimum of the metric sampled during the time period 9042 Minimum *float64 `json:"minimum,omitempty"` 9043 // IsAggregated - Whether the values are aggregates across all workers or not 9044 IsAggregated *bool `json:"isAggregated,omitempty"` 9045} 9046 9047// DiagnosticMetricSet class representing Diagnostic Metric information 9048type DiagnosticMetricSet struct { 9049 // Name - Name of the metric 9050 Name *string `json:"name,omitempty"` 9051 // Unit - Metric's unit 9052 Unit *string `json:"unit,omitempty"` 9053 // StartTime - Start time of the period 9054 StartTime *date.Time `json:"startTime,omitempty"` 9055 // EndTime - End time of the period 9056 EndTime *date.Time `json:"endTime,omitempty"` 9057 // TimeGrain - Presented time grain. Supported grains at the moment are PT1M, PT1H, P1D 9058 TimeGrain *string `json:"timeGrain,omitempty"` 9059 // Values - Collection of metric values for the selected period based on the {Microsoft.Web.Hosting.Administration.DiagnosticMetricSet.TimeGrain} 9060 Values *[]DiagnosticMetricSample `json:"values,omitempty"` 9061} 9062 9063// Dimension dimension of a resource metric. For e.g. instance specific HTTP requests for a web app, 9064// where instance name is dimension of the metric HTTP request 9065type Dimension struct { 9066 Name *string `json:"name,omitempty"` 9067 DisplayName *string `json:"displayName,omitempty"` 9068 InternalName *string `json:"internalName,omitempty"` 9069 ToBeExportedForShoebox *bool `json:"toBeExportedForShoebox,omitempty"` 9070} 9071 9072// Domain information about a domain. 9073type Domain struct { 9074 autorest.Response `json:"-"` 9075 // DomainProperties - Domain resource specific properties 9076 *DomainProperties `json:"properties,omitempty"` 9077 // ID - READ-ONLY; Resource Id. 9078 ID *string `json:"id,omitempty"` 9079 // Name - READ-ONLY; Resource Name. 9080 Name *string `json:"name,omitempty"` 9081 // Kind - Kind of resource. 9082 Kind *string `json:"kind,omitempty"` 9083 // Location - Resource Location. 9084 Location *string `json:"location,omitempty"` 9085 // Type - READ-ONLY; Resource type. 9086 Type *string `json:"type,omitempty"` 9087 // Tags - Resource tags. 9088 Tags map[string]*string `json:"tags"` 9089} 9090 9091// MarshalJSON is the custom marshaler for Domain. 9092func (d Domain) MarshalJSON() ([]byte, error) { 9093 objectMap := make(map[string]interface{}) 9094 if d.DomainProperties != nil { 9095 objectMap["properties"] = d.DomainProperties 9096 } 9097 if d.Kind != nil { 9098 objectMap["kind"] = d.Kind 9099 } 9100 if d.Location != nil { 9101 objectMap["location"] = d.Location 9102 } 9103 if d.Tags != nil { 9104 objectMap["tags"] = d.Tags 9105 } 9106 return json.Marshal(objectMap) 9107} 9108 9109// UnmarshalJSON is the custom unmarshaler for Domain struct. 9110func (d *Domain) UnmarshalJSON(body []byte) error { 9111 var m map[string]*json.RawMessage 9112 err := json.Unmarshal(body, &m) 9113 if err != nil { 9114 return err 9115 } 9116 for k, v := range m { 9117 switch k { 9118 case "properties": 9119 if v != nil { 9120 var domainProperties DomainProperties 9121 err = json.Unmarshal(*v, &domainProperties) 9122 if err != nil { 9123 return err 9124 } 9125 d.DomainProperties = &domainProperties 9126 } 9127 case "id": 9128 if v != nil { 9129 var ID string 9130 err = json.Unmarshal(*v, &ID) 9131 if err != nil { 9132 return err 9133 } 9134 d.ID = &ID 9135 } 9136 case "name": 9137 if v != nil { 9138 var name string 9139 err = json.Unmarshal(*v, &name) 9140 if err != nil { 9141 return err 9142 } 9143 d.Name = &name 9144 } 9145 case "kind": 9146 if v != nil { 9147 var kind string 9148 err = json.Unmarshal(*v, &kind) 9149 if err != nil { 9150 return err 9151 } 9152 d.Kind = &kind 9153 } 9154 case "location": 9155 if v != nil { 9156 var location string 9157 err = json.Unmarshal(*v, &location) 9158 if err != nil { 9159 return err 9160 } 9161 d.Location = &location 9162 } 9163 case "type": 9164 if v != nil { 9165 var typeVar string 9166 err = json.Unmarshal(*v, &typeVar) 9167 if err != nil { 9168 return err 9169 } 9170 d.Type = &typeVar 9171 } 9172 case "tags": 9173 if v != nil { 9174 var tags map[string]*string 9175 err = json.Unmarshal(*v, &tags) 9176 if err != nil { 9177 return err 9178 } 9179 d.Tags = tags 9180 } 9181 } 9182 } 9183 9184 return nil 9185} 9186 9187// DomainAvailablilityCheckResult domain availability check result. 9188type DomainAvailablilityCheckResult struct { 9189 autorest.Response `json:"-"` 9190 // Name - Name of the domain. 9191 Name *string `json:"name,omitempty"` 9192 // Available - <code>true</code> if domain can be purchased using CreateDomain API; otherwise, <code>false</code>. 9193 Available *bool `json:"available,omitempty"` 9194 // DomainType - Valid values are Regular domain: Azure will charge the full price of domain registration, SoftDeleted: Purchasing this domain will simply restore it and this operation will not cost anything. Possible values include: 'Regular', 'SoftDeleted' 9195 DomainType DomainType `json:"domainType,omitempty"` 9196} 9197 9198// DomainCollection collection of domains. 9199type DomainCollection struct { 9200 autorest.Response `json:"-"` 9201 // Value - Collection of resources. 9202 Value *[]Domain `json:"value,omitempty"` 9203 // NextLink - READ-ONLY; Link to next page of resources. 9204 NextLink *string `json:"nextLink,omitempty"` 9205} 9206 9207// MarshalJSON is the custom marshaler for DomainCollection. 9208func (dc DomainCollection) MarshalJSON() ([]byte, error) { 9209 objectMap := make(map[string]interface{}) 9210 if dc.Value != nil { 9211 objectMap["value"] = dc.Value 9212 } 9213 return json.Marshal(objectMap) 9214} 9215 9216// DomainCollectionIterator provides access to a complete listing of Domain values. 9217type DomainCollectionIterator struct { 9218 i int 9219 page DomainCollectionPage 9220} 9221 9222// NextWithContext advances to the next value. If there was an error making 9223// the request the iterator does not advance and the error is returned. 9224func (iter *DomainCollectionIterator) NextWithContext(ctx context.Context) (err error) { 9225 if tracing.IsEnabled() { 9226 ctx = tracing.StartSpan(ctx, fqdn+"/DomainCollectionIterator.NextWithContext") 9227 defer func() { 9228 sc := -1 9229 if iter.Response().Response.Response != nil { 9230 sc = iter.Response().Response.Response.StatusCode 9231 } 9232 tracing.EndSpan(ctx, sc, err) 9233 }() 9234 } 9235 iter.i++ 9236 if iter.i < len(iter.page.Values()) { 9237 return nil 9238 } 9239 err = iter.page.NextWithContext(ctx) 9240 if err != nil { 9241 iter.i-- 9242 return err 9243 } 9244 iter.i = 0 9245 return nil 9246} 9247 9248// Next advances to the next value. If there was an error making 9249// the request the iterator does not advance and the error is returned. 9250// Deprecated: Use NextWithContext() instead. 9251func (iter *DomainCollectionIterator) Next() error { 9252 return iter.NextWithContext(context.Background()) 9253} 9254 9255// NotDone returns true if the enumeration should be started or is not yet complete. 9256func (iter DomainCollectionIterator) NotDone() bool { 9257 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 9258} 9259 9260// Response returns the raw server response from the last page request. 9261func (iter DomainCollectionIterator) Response() DomainCollection { 9262 return iter.page.Response() 9263} 9264 9265// Value returns the current value or a zero-initialized value if the 9266// iterator has advanced beyond the end of the collection. 9267func (iter DomainCollectionIterator) Value() Domain { 9268 if !iter.page.NotDone() { 9269 return Domain{} 9270 } 9271 return iter.page.Values()[iter.i] 9272} 9273 9274// Creates a new instance of the DomainCollectionIterator type. 9275func NewDomainCollectionIterator(page DomainCollectionPage) DomainCollectionIterator { 9276 return DomainCollectionIterator{page: page} 9277} 9278 9279// IsEmpty returns true if the ListResult contains no values. 9280func (dc DomainCollection) IsEmpty() bool { 9281 return dc.Value == nil || len(*dc.Value) == 0 9282} 9283 9284// hasNextLink returns true if the NextLink is not empty. 9285func (dc DomainCollection) hasNextLink() bool { 9286 return dc.NextLink != nil && len(*dc.NextLink) != 0 9287} 9288 9289// domainCollectionPreparer prepares a request to retrieve the next set of results. 9290// It returns nil if no more results exist. 9291func (dc DomainCollection) domainCollectionPreparer(ctx context.Context) (*http.Request, error) { 9292 if !dc.hasNextLink() { 9293 return nil, nil 9294 } 9295 return autorest.Prepare((&http.Request{}).WithContext(ctx), 9296 autorest.AsJSON(), 9297 autorest.AsGet(), 9298 autorest.WithBaseURL(to.String(dc.NextLink))) 9299} 9300 9301// DomainCollectionPage contains a page of Domain values. 9302type DomainCollectionPage struct { 9303 fn func(context.Context, DomainCollection) (DomainCollection, error) 9304 dc DomainCollection 9305} 9306 9307// NextWithContext advances to the next page of values. If there was an error making 9308// the request the page does not advance and the error is returned. 9309func (page *DomainCollectionPage) NextWithContext(ctx context.Context) (err error) { 9310 if tracing.IsEnabled() { 9311 ctx = tracing.StartSpan(ctx, fqdn+"/DomainCollectionPage.NextWithContext") 9312 defer func() { 9313 sc := -1 9314 if page.Response().Response.Response != nil { 9315 sc = page.Response().Response.Response.StatusCode 9316 } 9317 tracing.EndSpan(ctx, sc, err) 9318 }() 9319 } 9320 for { 9321 next, err := page.fn(ctx, page.dc) 9322 if err != nil { 9323 return err 9324 } 9325 page.dc = next 9326 if !next.hasNextLink() || !next.IsEmpty() { 9327 break 9328 } 9329 } 9330 return nil 9331} 9332 9333// Next advances to the next page of values. If there was an error making 9334// the request the page does not advance and the error is returned. 9335// Deprecated: Use NextWithContext() instead. 9336func (page *DomainCollectionPage) Next() error { 9337 return page.NextWithContext(context.Background()) 9338} 9339 9340// NotDone returns true if the page enumeration should be started or is not yet complete. 9341func (page DomainCollectionPage) NotDone() bool { 9342 return !page.dc.IsEmpty() 9343} 9344 9345// Response returns the raw server response from the last page request. 9346func (page DomainCollectionPage) Response() DomainCollection { 9347 return page.dc 9348} 9349 9350// Values returns the slice of values for the current page or nil if there are no values. 9351func (page DomainCollectionPage) Values() []Domain { 9352 if page.dc.IsEmpty() { 9353 return nil 9354 } 9355 return *page.dc.Value 9356} 9357 9358// Creates a new instance of the DomainCollectionPage type. 9359func NewDomainCollectionPage(cur DomainCollection, getNextPage func(context.Context, DomainCollection) (DomainCollection, error)) DomainCollectionPage { 9360 return DomainCollectionPage{ 9361 fn: getNextPage, 9362 dc: cur, 9363 } 9364} 9365 9366// DomainControlCenterSsoRequest single sign-on request information for domain management. 9367type DomainControlCenterSsoRequest struct { 9368 autorest.Response `json:"-"` 9369 // URL - READ-ONLY; URL where the single sign-on request is to be made. 9370 URL *string `json:"url,omitempty"` 9371 // PostParameterKey - READ-ONLY; Post parameter key. 9372 PostParameterKey *string `json:"postParameterKey,omitempty"` 9373 // PostParameterValue - READ-ONLY; Post parameter value. Client should use 'application/x-www-form-urlencoded' encoding for this value. 9374 PostParameterValue *string `json:"postParameterValue,omitempty"` 9375} 9376 9377// MarshalJSON is the custom marshaler for DomainControlCenterSsoRequest. 9378func (dccsr DomainControlCenterSsoRequest) MarshalJSON() ([]byte, error) { 9379 objectMap := make(map[string]interface{}) 9380 return json.Marshal(objectMap) 9381} 9382 9383// DomainOwnershipIdentifier domain ownership Identifier. 9384type DomainOwnershipIdentifier struct { 9385 autorest.Response `json:"-"` 9386 // DomainOwnershipIdentifierProperties - DomainOwnershipIdentifier resource specific properties 9387 *DomainOwnershipIdentifierProperties `json:"properties,omitempty"` 9388 // ID - READ-ONLY; Resource Id. 9389 ID *string `json:"id,omitempty"` 9390 // Name - READ-ONLY; Resource Name. 9391 Name *string `json:"name,omitempty"` 9392 // Kind - Kind of resource. 9393 Kind *string `json:"kind,omitempty"` 9394 // Type - READ-ONLY; Resource type. 9395 Type *string `json:"type,omitempty"` 9396} 9397 9398// MarshalJSON is the custom marshaler for DomainOwnershipIdentifier. 9399func (doi DomainOwnershipIdentifier) MarshalJSON() ([]byte, error) { 9400 objectMap := make(map[string]interface{}) 9401 if doi.DomainOwnershipIdentifierProperties != nil { 9402 objectMap["properties"] = doi.DomainOwnershipIdentifierProperties 9403 } 9404 if doi.Kind != nil { 9405 objectMap["kind"] = doi.Kind 9406 } 9407 return json.Marshal(objectMap) 9408} 9409 9410// UnmarshalJSON is the custom unmarshaler for DomainOwnershipIdentifier struct. 9411func (doi *DomainOwnershipIdentifier) UnmarshalJSON(body []byte) error { 9412 var m map[string]*json.RawMessage 9413 err := json.Unmarshal(body, &m) 9414 if err != nil { 9415 return err 9416 } 9417 for k, v := range m { 9418 switch k { 9419 case "properties": 9420 if v != nil { 9421 var domainOwnershipIdentifierProperties DomainOwnershipIdentifierProperties 9422 err = json.Unmarshal(*v, &domainOwnershipIdentifierProperties) 9423 if err != nil { 9424 return err 9425 } 9426 doi.DomainOwnershipIdentifierProperties = &domainOwnershipIdentifierProperties 9427 } 9428 case "id": 9429 if v != nil { 9430 var ID string 9431 err = json.Unmarshal(*v, &ID) 9432 if err != nil { 9433 return err 9434 } 9435 doi.ID = &ID 9436 } 9437 case "name": 9438 if v != nil { 9439 var name string 9440 err = json.Unmarshal(*v, &name) 9441 if err != nil { 9442 return err 9443 } 9444 doi.Name = &name 9445 } 9446 case "kind": 9447 if v != nil { 9448 var kind string 9449 err = json.Unmarshal(*v, &kind) 9450 if err != nil { 9451 return err 9452 } 9453 doi.Kind = &kind 9454 } 9455 case "type": 9456 if v != nil { 9457 var typeVar string 9458 err = json.Unmarshal(*v, &typeVar) 9459 if err != nil { 9460 return err 9461 } 9462 doi.Type = &typeVar 9463 } 9464 } 9465 } 9466 9467 return nil 9468} 9469 9470// DomainOwnershipIdentifierCollection collection of domain ownership identifiers. 9471type DomainOwnershipIdentifierCollection struct { 9472 autorest.Response `json:"-"` 9473 // Value - Collection of resources. 9474 Value *[]DomainOwnershipIdentifier `json:"value,omitempty"` 9475 // NextLink - READ-ONLY; Link to next page of resources. 9476 NextLink *string `json:"nextLink,omitempty"` 9477} 9478 9479// MarshalJSON is the custom marshaler for DomainOwnershipIdentifierCollection. 9480func (doic DomainOwnershipIdentifierCollection) MarshalJSON() ([]byte, error) { 9481 objectMap := make(map[string]interface{}) 9482 if doic.Value != nil { 9483 objectMap["value"] = doic.Value 9484 } 9485 return json.Marshal(objectMap) 9486} 9487 9488// DomainOwnershipIdentifierCollectionIterator provides access to a complete listing of 9489// DomainOwnershipIdentifier values. 9490type DomainOwnershipIdentifierCollectionIterator struct { 9491 i int 9492 page DomainOwnershipIdentifierCollectionPage 9493} 9494 9495// NextWithContext advances to the next value. If there was an error making 9496// the request the iterator does not advance and the error is returned. 9497func (iter *DomainOwnershipIdentifierCollectionIterator) NextWithContext(ctx context.Context) (err error) { 9498 if tracing.IsEnabled() { 9499 ctx = tracing.StartSpan(ctx, fqdn+"/DomainOwnershipIdentifierCollectionIterator.NextWithContext") 9500 defer func() { 9501 sc := -1 9502 if iter.Response().Response.Response != nil { 9503 sc = iter.Response().Response.Response.StatusCode 9504 } 9505 tracing.EndSpan(ctx, sc, err) 9506 }() 9507 } 9508 iter.i++ 9509 if iter.i < len(iter.page.Values()) { 9510 return nil 9511 } 9512 err = iter.page.NextWithContext(ctx) 9513 if err != nil { 9514 iter.i-- 9515 return err 9516 } 9517 iter.i = 0 9518 return nil 9519} 9520 9521// Next advances to the next value. If there was an error making 9522// the request the iterator does not advance and the error is returned. 9523// Deprecated: Use NextWithContext() instead. 9524func (iter *DomainOwnershipIdentifierCollectionIterator) Next() error { 9525 return iter.NextWithContext(context.Background()) 9526} 9527 9528// NotDone returns true if the enumeration should be started or is not yet complete. 9529func (iter DomainOwnershipIdentifierCollectionIterator) NotDone() bool { 9530 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 9531} 9532 9533// Response returns the raw server response from the last page request. 9534func (iter DomainOwnershipIdentifierCollectionIterator) Response() DomainOwnershipIdentifierCollection { 9535 return iter.page.Response() 9536} 9537 9538// Value returns the current value or a zero-initialized value if the 9539// iterator has advanced beyond the end of the collection. 9540func (iter DomainOwnershipIdentifierCollectionIterator) Value() DomainOwnershipIdentifier { 9541 if !iter.page.NotDone() { 9542 return DomainOwnershipIdentifier{} 9543 } 9544 return iter.page.Values()[iter.i] 9545} 9546 9547// Creates a new instance of the DomainOwnershipIdentifierCollectionIterator type. 9548func NewDomainOwnershipIdentifierCollectionIterator(page DomainOwnershipIdentifierCollectionPage) DomainOwnershipIdentifierCollectionIterator { 9549 return DomainOwnershipIdentifierCollectionIterator{page: page} 9550} 9551 9552// IsEmpty returns true if the ListResult contains no values. 9553func (doic DomainOwnershipIdentifierCollection) IsEmpty() bool { 9554 return doic.Value == nil || len(*doic.Value) == 0 9555} 9556 9557// hasNextLink returns true if the NextLink is not empty. 9558func (doic DomainOwnershipIdentifierCollection) hasNextLink() bool { 9559 return doic.NextLink != nil && len(*doic.NextLink) != 0 9560} 9561 9562// domainOwnershipIdentifierCollectionPreparer prepares a request to retrieve the next set of results. 9563// It returns nil if no more results exist. 9564func (doic DomainOwnershipIdentifierCollection) domainOwnershipIdentifierCollectionPreparer(ctx context.Context) (*http.Request, error) { 9565 if !doic.hasNextLink() { 9566 return nil, nil 9567 } 9568 return autorest.Prepare((&http.Request{}).WithContext(ctx), 9569 autorest.AsJSON(), 9570 autorest.AsGet(), 9571 autorest.WithBaseURL(to.String(doic.NextLink))) 9572} 9573 9574// DomainOwnershipIdentifierCollectionPage contains a page of DomainOwnershipIdentifier values. 9575type DomainOwnershipIdentifierCollectionPage struct { 9576 fn func(context.Context, DomainOwnershipIdentifierCollection) (DomainOwnershipIdentifierCollection, error) 9577 doic DomainOwnershipIdentifierCollection 9578} 9579 9580// NextWithContext advances to the next page of values. If there was an error making 9581// the request the page does not advance and the error is returned. 9582func (page *DomainOwnershipIdentifierCollectionPage) NextWithContext(ctx context.Context) (err error) { 9583 if tracing.IsEnabled() { 9584 ctx = tracing.StartSpan(ctx, fqdn+"/DomainOwnershipIdentifierCollectionPage.NextWithContext") 9585 defer func() { 9586 sc := -1 9587 if page.Response().Response.Response != nil { 9588 sc = page.Response().Response.Response.StatusCode 9589 } 9590 tracing.EndSpan(ctx, sc, err) 9591 }() 9592 } 9593 for { 9594 next, err := page.fn(ctx, page.doic) 9595 if err != nil { 9596 return err 9597 } 9598 page.doic = next 9599 if !next.hasNextLink() || !next.IsEmpty() { 9600 break 9601 } 9602 } 9603 return nil 9604} 9605 9606// Next advances to the next page of values. If there was an error making 9607// the request the page does not advance and the error is returned. 9608// Deprecated: Use NextWithContext() instead. 9609func (page *DomainOwnershipIdentifierCollectionPage) Next() error { 9610 return page.NextWithContext(context.Background()) 9611} 9612 9613// NotDone returns true if the page enumeration should be started or is not yet complete. 9614func (page DomainOwnershipIdentifierCollectionPage) NotDone() bool { 9615 return !page.doic.IsEmpty() 9616} 9617 9618// Response returns the raw server response from the last page request. 9619func (page DomainOwnershipIdentifierCollectionPage) Response() DomainOwnershipIdentifierCollection { 9620 return page.doic 9621} 9622 9623// Values returns the slice of values for the current page or nil if there are no values. 9624func (page DomainOwnershipIdentifierCollectionPage) Values() []DomainOwnershipIdentifier { 9625 if page.doic.IsEmpty() { 9626 return nil 9627 } 9628 return *page.doic.Value 9629} 9630 9631// Creates a new instance of the DomainOwnershipIdentifierCollectionPage type. 9632func NewDomainOwnershipIdentifierCollectionPage(cur DomainOwnershipIdentifierCollection, getNextPage func(context.Context, DomainOwnershipIdentifierCollection) (DomainOwnershipIdentifierCollection, error)) DomainOwnershipIdentifierCollectionPage { 9633 return DomainOwnershipIdentifierCollectionPage{ 9634 fn: getNextPage, 9635 doic: cur, 9636 } 9637} 9638 9639// DomainOwnershipIdentifierProperties domainOwnershipIdentifier resource specific properties 9640type DomainOwnershipIdentifierProperties struct { 9641 // OwnershipID - Ownership Id. 9642 OwnershipID *string `json:"ownershipId,omitempty"` 9643} 9644 9645// DomainPatchResource ARM resource for a domain. 9646type DomainPatchResource struct { 9647 // DomainPatchResourceProperties - DomainPatchResource resource specific properties 9648 *DomainPatchResourceProperties `json:"properties,omitempty"` 9649 // ID - READ-ONLY; Resource Id. 9650 ID *string `json:"id,omitempty"` 9651 // Name - READ-ONLY; Resource Name. 9652 Name *string `json:"name,omitempty"` 9653 // Kind - Kind of resource. 9654 Kind *string `json:"kind,omitempty"` 9655 // Type - READ-ONLY; Resource type. 9656 Type *string `json:"type,omitempty"` 9657} 9658 9659// MarshalJSON is the custom marshaler for DomainPatchResource. 9660func (dpr DomainPatchResource) MarshalJSON() ([]byte, error) { 9661 objectMap := make(map[string]interface{}) 9662 if dpr.DomainPatchResourceProperties != nil { 9663 objectMap["properties"] = dpr.DomainPatchResourceProperties 9664 } 9665 if dpr.Kind != nil { 9666 objectMap["kind"] = dpr.Kind 9667 } 9668 return json.Marshal(objectMap) 9669} 9670 9671// UnmarshalJSON is the custom unmarshaler for DomainPatchResource struct. 9672func (dpr *DomainPatchResource) UnmarshalJSON(body []byte) error { 9673 var m map[string]*json.RawMessage 9674 err := json.Unmarshal(body, &m) 9675 if err != nil { 9676 return err 9677 } 9678 for k, v := range m { 9679 switch k { 9680 case "properties": 9681 if v != nil { 9682 var domainPatchResourceProperties DomainPatchResourceProperties 9683 err = json.Unmarshal(*v, &domainPatchResourceProperties) 9684 if err != nil { 9685 return err 9686 } 9687 dpr.DomainPatchResourceProperties = &domainPatchResourceProperties 9688 } 9689 case "id": 9690 if v != nil { 9691 var ID string 9692 err = json.Unmarshal(*v, &ID) 9693 if err != nil { 9694 return err 9695 } 9696 dpr.ID = &ID 9697 } 9698 case "name": 9699 if v != nil { 9700 var name string 9701 err = json.Unmarshal(*v, &name) 9702 if err != nil { 9703 return err 9704 } 9705 dpr.Name = &name 9706 } 9707 case "kind": 9708 if v != nil { 9709 var kind string 9710 err = json.Unmarshal(*v, &kind) 9711 if err != nil { 9712 return err 9713 } 9714 dpr.Kind = &kind 9715 } 9716 case "type": 9717 if v != nil { 9718 var typeVar string 9719 err = json.Unmarshal(*v, &typeVar) 9720 if err != nil { 9721 return err 9722 } 9723 dpr.Type = &typeVar 9724 } 9725 } 9726 } 9727 9728 return nil 9729} 9730 9731// DomainPatchResourceProperties domainPatchResource resource specific properties 9732type DomainPatchResourceProperties struct { 9733 // ContactAdmin - Administrative contact. 9734 ContactAdmin *Contact `json:"contactAdmin,omitempty"` 9735 // ContactBilling - Billing contact. 9736 ContactBilling *Contact `json:"contactBilling,omitempty"` 9737 // ContactRegistrant - Registrant contact. 9738 ContactRegistrant *Contact `json:"contactRegistrant,omitempty"` 9739 // ContactTech - Technical contact. 9740 ContactTech *Contact `json:"contactTech,omitempty"` 9741 // RegistrationStatus - READ-ONLY; Domain registration status. Possible values include: 'DomainStatusActive', 'DomainStatusAwaiting', 'DomainStatusCancelled', 'DomainStatusConfiscated', 'DomainStatusDisabled', 'DomainStatusExcluded', 'DomainStatusExpired', 'DomainStatusFailed', 'DomainStatusHeld', 'DomainStatusLocked', 'DomainStatusParked', 'DomainStatusPending', 'DomainStatusReserved', 'DomainStatusReverted', 'DomainStatusSuspended', 'DomainStatusTransferred', 'DomainStatusUnknown', 'DomainStatusUnlocked', 'DomainStatusUnparked', 'DomainStatusUpdated', 'DomainStatusJSONConverterFailed' 9742 RegistrationStatus DomainStatus `json:"registrationStatus,omitempty"` 9743 // ProvisioningState - READ-ONLY; Domain provisioning state. Possible values include: 'ProvisioningStateSucceeded', 'ProvisioningStateFailed', 'ProvisioningStateCanceled', 'ProvisioningStateInProgress', 'ProvisioningStateDeleting' 9744 ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` 9745 // NameServers - READ-ONLY; Name servers. 9746 NameServers *[]string `json:"nameServers,omitempty"` 9747 // Privacy - <code>true</code> if domain privacy is enabled for this domain; otherwise, <code>false</code>. 9748 Privacy *bool `json:"privacy,omitempty"` 9749 // CreatedTime - READ-ONLY; Domain creation timestamp. 9750 CreatedTime *date.Time `json:"createdTime,omitempty"` 9751 // ExpirationTime - READ-ONLY; Domain expiration timestamp. 9752 ExpirationTime *date.Time `json:"expirationTime,omitempty"` 9753 // LastRenewedTime - READ-ONLY; Timestamp when the domain was renewed last time. 9754 LastRenewedTime *date.Time `json:"lastRenewedTime,omitempty"` 9755 // AutoRenew - <code>true</code> if the domain should be automatically renewed; otherwise, <code>false</code>. 9756 AutoRenew *bool `json:"autoRenew,omitempty"` 9757 // ReadyForDNSRecordManagement - READ-ONLY; <code>true</code> if Azure can assign this domain to App Service apps; otherwise, <code>false</code>. This value will be <code>true</code> if domain registration status is active and 9758 // it is hosted on name servers Azure has programmatic access to. 9759 ReadyForDNSRecordManagement *bool `json:"readyForDnsRecordManagement,omitempty"` 9760 // ManagedHostNames - READ-ONLY; All hostnames derived from the domain and assigned to Azure resources. 9761 ManagedHostNames *[]HostName `json:"managedHostNames,omitempty"` 9762 // Consent - Legal agreement consent. 9763 Consent *DomainPurchaseConsent `json:"consent,omitempty"` 9764 // DomainNotRenewableReasons - READ-ONLY; Reasons why domain is not renewable. 9765 DomainNotRenewableReasons *[]string `json:"domainNotRenewableReasons,omitempty"` 9766 // DNSType - Current DNS type. Possible values include: 'AzureDNS', 'DefaultDomainRegistrarDNS' 9767 DNSType DNSType `json:"dnsType,omitempty"` 9768 // DNSZoneID - Azure DNS Zone to use 9769 DNSZoneID *string `json:"dnsZoneId,omitempty"` 9770 // TargetDNSType - Target DNS type (would be used for migration). Possible values include: 'AzureDNS', 'DefaultDomainRegistrarDNS' 9771 TargetDNSType DNSType `json:"targetDnsType,omitempty"` 9772 AuthCode *string `json:"authCode,omitempty"` 9773} 9774 9775// MarshalJSON is the custom marshaler for DomainPatchResourceProperties. 9776func (dpr DomainPatchResourceProperties) MarshalJSON() ([]byte, error) { 9777 objectMap := make(map[string]interface{}) 9778 if dpr.ContactAdmin != nil { 9779 objectMap["contactAdmin"] = dpr.ContactAdmin 9780 } 9781 if dpr.ContactBilling != nil { 9782 objectMap["contactBilling"] = dpr.ContactBilling 9783 } 9784 if dpr.ContactRegistrant != nil { 9785 objectMap["contactRegistrant"] = dpr.ContactRegistrant 9786 } 9787 if dpr.ContactTech != nil { 9788 objectMap["contactTech"] = dpr.ContactTech 9789 } 9790 if dpr.Privacy != nil { 9791 objectMap["privacy"] = dpr.Privacy 9792 } 9793 if dpr.AutoRenew != nil { 9794 objectMap["autoRenew"] = dpr.AutoRenew 9795 } 9796 if dpr.Consent != nil { 9797 objectMap["consent"] = dpr.Consent 9798 } 9799 if dpr.DNSType != "" { 9800 objectMap["dnsType"] = dpr.DNSType 9801 } 9802 if dpr.DNSZoneID != nil { 9803 objectMap["dnsZoneId"] = dpr.DNSZoneID 9804 } 9805 if dpr.TargetDNSType != "" { 9806 objectMap["targetDnsType"] = dpr.TargetDNSType 9807 } 9808 if dpr.AuthCode != nil { 9809 objectMap["authCode"] = dpr.AuthCode 9810 } 9811 return json.Marshal(objectMap) 9812} 9813 9814// DomainProperties domain resource specific properties 9815type DomainProperties struct { 9816 // ContactAdmin - Administrative contact. 9817 ContactAdmin *Contact `json:"contactAdmin,omitempty"` 9818 // ContactBilling - Billing contact. 9819 ContactBilling *Contact `json:"contactBilling,omitempty"` 9820 // ContactRegistrant - Registrant contact. 9821 ContactRegistrant *Contact `json:"contactRegistrant,omitempty"` 9822 // ContactTech - Technical contact. 9823 ContactTech *Contact `json:"contactTech,omitempty"` 9824 // RegistrationStatus - READ-ONLY; Domain registration status. Possible values include: 'DomainStatusActive', 'DomainStatusAwaiting', 'DomainStatusCancelled', 'DomainStatusConfiscated', 'DomainStatusDisabled', 'DomainStatusExcluded', 'DomainStatusExpired', 'DomainStatusFailed', 'DomainStatusHeld', 'DomainStatusLocked', 'DomainStatusParked', 'DomainStatusPending', 'DomainStatusReserved', 'DomainStatusReverted', 'DomainStatusSuspended', 'DomainStatusTransferred', 'DomainStatusUnknown', 'DomainStatusUnlocked', 'DomainStatusUnparked', 'DomainStatusUpdated', 'DomainStatusJSONConverterFailed' 9825 RegistrationStatus DomainStatus `json:"registrationStatus,omitempty"` 9826 // ProvisioningState - READ-ONLY; Domain provisioning state. Possible values include: 'ProvisioningStateSucceeded', 'ProvisioningStateFailed', 'ProvisioningStateCanceled', 'ProvisioningStateInProgress', 'ProvisioningStateDeleting' 9827 ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` 9828 // NameServers - READ-ONLY; Name servers. 9829 NameServers *[]string `json:"nameServers,omitempty"` 9830 // Privacy - <code>true</code> if domain privacy is enabled for this domain; otherwise, <code>false</code>. 9831 Privacy *bool `json:"privacy,omitempty"` 9832 // CreatedTime - READ-ONLY; Domain creation timestamp. 9833 CreatedTime *date.Time `json:"createdTime,omitempty"` 9834 // ExpirationTime - READ-ONLY; Domain expiration timestamp. 9835 ExpirationTime *date.Time `json:"expirationTime,omitempty"` 9836 // LastRenewedTime - READ-ONLY; Timestamp when the domain was renewed last time. 9837 LastRenewedTime *date.Time `json:"lastRenewedTime,omitempty"` 9838 // AutoRenew - <code>true</code> if the domain should be automatically renewed; otherwise, <code>false</code>. 9839 AutoRenew *bool `json:"autoRenew,omitempty"` 9840 // ReadyForDNSRecordManagement - READ-ONLY; <code>true</code> if Azure can assign this domain to App Service apps; otherwise, <code>false</code>. This value will be <code>true</code> if domain registration status is active and 9841 // it is hosted on name servers Azure has programmatic access to. 9842 ReadyForDNSRecordManagement *bool `json:"readyForDnsRecordManagement,omitempty"` 9843 // ManagedHostNames - READ-ONLY; All hostnames derived from the domain and assigned to Azure resources. 9844 ManagedHostNames *[]HostName `json:"managedHostNames,omitempty"` 9845 // Consent - Legal agreement consent. 9846 Consent *DomainPurchaseConsent `json:"consent,omitempty"` 9847 // DomainNotRenewableReasons - READ-ONLY; Reasons why domain is not renewable. 9848 DomainNotRenewableReasons *[]string `json:"domainNotRenewableReasons,omitempty"` 9849 // DNSType - Current DNS type. Possible values include: 'AzureDNS', 'DefaultDomainRegistrarDNS' 9850 DNSType DNSType `json:"dnsType,omitempty"` 9851 // DNSZoneID - Azure DNS Zone to use 9852 DNSZoneID *string `json:"dnsZoneId,omitempty"` 9853 // TargetDNSType - Target DNS type (would be used for migration). Possible values include: 'AzureDNS', 'DefaultDomainRegistrarDNS' 9854 TargetDNSType DNSType `json:"targetDnsType,omitempty"` 9855 AuthCode *string `json:"authCode,omitempty"` 9856} 9857 9858// MarshalJSON is the custom marshaler for DomainProperties. 9859func (d DomainProperties) MarshalJSON() ([]byte, error) { 9860 objectMap := make(map[string]interface{}) 9861 if d.ContactAdmin != nil { 9862 objectMap["contactAdmin"] = d.ContactAdmin 9863 } 9864 if d.ContactBilling != nil { 9865 objectMap["contactBilling"] = d.ContactBilling 9866 } 9867 if d.ContactRegistrant != nil { 9868 objectMap["contactRegistrant"] = d.ContactRegistrant 9869 } 9870 if d.ContactTech != nil { 9871 objectMap["contactTech"] = d.ContactTech 9872 } 9873 if d.Privacy != nil { 9874 objectMap["privacy"] = d.Privacy 9875 } 9876 if d.AutoRenew != nil { 9877 objectMap["autoRenew"] = d.AutoRenew 9878 } 9879 if d.Consent != nil { 9880 objectMap["consent"] = d.Consent 9881 } 9882 if d.DNSType != "" { 9883 objectMap["dnsType"] = d.DNSType 9884 } 9885 if d.DNSZoneID != nil { 9886 objectMap["dnsZoneId"] = d.DNSZoneID 9887 } 9888 if d.TargetDNSType != "" { 9889 objectMap["targetDnsType"] = d.TargetDNSType 9890 } 9891 if d.AuthCode != nil { 9892 objectMap["authCode"] = d.AuthCode 9893 } 9894 return json.Marshal(objectMap) 9895} 9896 9897// DomainPurchaseConsent domain purchase consent object, representing acceptance of applicable legal 9898// agreements. 9899type DomainPurchaseConsent struct { 9900 // AgreementKeys - List of applicable legal agreement keys. This list can be retrieved using ListLegalAgreements API under <code>TopLevelDomain</code> resource. 9901 AgreementKeys *[]string `json:"agreementKeys,omitempty"` 9902 // AgreedBy - Client IP address. 9903 AgreedBy *string `json:"agreedBy,omitempty"` 9904 // AgreedAt - Timestamp when the agreements were accepted. 9905 AgreedAt *date.Time `json:"agreedAt,omitempty"` 9906} 9907 9908// DomainRecommendationSearchParameters domain recommendation search parameters. 9909type DomainRecommendationSearchParameters struct { 9910 // Keywords - Keywords to be used for generating domain recommendations. 9911 Keywords *string `json:"keywords,omitempty"` 9912 // MaxDomainRecommendations - Maximum number of recommendations. 9913 MaxDomainRecommendations *int32 `json:"maxDomainRecommendations,omitempty"` 9914} 9915 9916// DomainsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a long-running 9917// operation. 9918type DomainsCreateOrUpdateFuture struct { 9919 azure.FutureAPI 9920 // Result returns the result of the asynchronous operation. 9921 // If the operation has not completed it will return an error. 9922 Result func(DomainsClient) (Domain, error) 9923} 9924 9925// UnmarshalJSON is the custom unmarshaller for CreateFuture. 9926func (future *DomainsCreateOrUpdateFuture) UnmarshalJSON(body []byte) error { 9927 var azFuture azure.Future 9928 if err := json.Unmarshal(body, &azFuture); err != nil { 9929 return err 9930 } 9931 future.FutureAPI = &azFuture 9932 future.Result = future.result 9933 return nil 9934} 9935 9936// result is the default implementation for DomainsCreateOrUpdateFuture.Result. 9937func (future *DomainsCreateOrUpdateFuture) result(client DomainsClient) (d Domain, err error) { 9938 var done bool 9939 done, err = future.DoneWithContext(context.Background(), client) 9940 if err != nil { 9941 err = autorest.NewErrorWithError(err, "web.DomainsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") 9942 return 9943 } 9944 if !done { 9945 d.Response.Response = future.Response() 9946 err = azure.NewAsyncOpIncompleteError("web.DomainsCreateOrUpdateFuture") 9947 return 9948 } 9949 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 9950 if d.Response.Response, err = future.GetResult(sender); err == nil && d.Response.Response.StatusCode != http.StatusNoContent { 9951 d, err = client.CreateOrUpdateResponder(d.Response.Response) 9952 if err != nil { 9953 err = autorest.NewErrorWithError(err, "web.DomainsCreateOrUpdateFuture", "Result", d.Response.Response, "Failure responding to request") 9954 } 9955 } 9956 return 9957} 9958 9959// EnabledConfig enabled configuration. 9960type EnabledConfig struct { 9961 // Enabled - True if configuration is enabled, false if it is disabled and null if configuration is not set. 9962 Enabled *bool `json:"enabled,omitempty"` 9963} 9964 9965// EndpointDependency a domain name that a service is reached at, including details of the current 9966// connection status. 9967type EndpointDependency struct { 9968 // DomainName - The domain name of the dependency. 9969 DomainName *string `json:"domainName,omitempty"` 9970 // EndpointDetails - The IP Addresses and Ports used when connecting to DomainName. 9971 EndpointDetails *[]EndpointDetail `json:"endpointDetails,omitempty"` 9972} 9973 9974// EndpointDetail current TCP connectivity information from the App Service Environment to a single 9975// endpoint. 9976type EndpointDetail struct { 9977 // IPAddress - An IP Address that Domain Name currently resolves to. 9978 IPAddress *string `json:"ipAddress,omitempty"` 9979 // Port - The port an endpoint is connected to. 9980 Port *int32 `json:"port,omitempty"` 9981 // Latency - The time in milliseconds it takes for a TCP connection to be created from the App Service Environment to this IpAddress at this Port. 9982 Latency *float64 `json:"latency,omitempty"` 9983 // IsAccessable - Whether it is possible to create a TCP connection from the App Service Environment to this IpAddress at this Port. 9984 IsAccessable *bool `json:"isAccessable,omitempty"` 9985} 9986 9987// ErrorEntity body of the error response returned from the API. 9988type ErrorEntity struct { 9989 // ExtendedCode - Type of error. 9990 ExtendedCode *string `json:"extendedCode,omitempty"` 9991 // MessageTemplate - Message template. 9992 MessageTemplate *string `json:"messageTemplate,omitempty"` 9993 // Parameters - Parameters for the template. 9994 Parameters *[]string `json:"parameters,omitempty"` 9995 // InnerErrors - Inner errors. 9996 InnerErrors *[]ErrorEntity `json:"innerErrors,omitempty"` 9997 // Code - Basic error code. 9998 Code *string `json:"code,omitempty"` 9999 // Message - Any details of the error. 10000 Message *string `json:"message,omitempty"` 10001} 10002 10003// Experiments routing rules in production experiments. 10004type Experiments struct { 10005 // RampUpRules - List of ramp-up rules. 10006 RampUpRules *[]RampUpRule `json:"rampUpRules,omitempty"` 10007} 10008 10009// FileSystemApplicationLogsConfig application logs to file system configuration. 10010type FileSystemApplicationLogsConfig struct { 10011 // Level - Log level. Possible values include: 'Off', 'Verbose', 'Information', 'Warning', 'Error' 10012 Level LogLevel `json:"level,omitempty"` 10013} 10014 10015// FileSystemHTTPLogsConfig http logs to file system configuration. 10016type FileSystemHTTPLogsConfig struct { 10017 // RetentionInMb - Maximum size in megabytes that http log files can use. 10018 // When reached old log files will be removed to make space for new ones. 10019 // Value can range between 25 and 100. 10020 RetentionInMb *int32 `json:"retentionInMb,omitempty"` 10021 // RetentionInDays - Retention in days. 10022 // Remove files older than X days. 10023 // 0 or lower means no retention. 10024 RetentionInDays *int32 `json:"retentionInDays,omitempty"` 10025 // Enabled - True if configuration is enabled, false if it is disabled and null if configuration is not set. 10026 Enabled *bool `json:"enabled,omitempty"` 10027} 10028 10029// FunctionEnvelope function information. 10030type FunctionEnvelope struct { 10031 autorest.Response `json:"-"` 10032 // FunctionEnvelopeProperties - FunctionEnvelope resource specific properties 10033 *FunctionEnvelopeProperties `json:"properties,omitempty"` 10034 // ID - READ-ONLY; Resource Id. 10035 ID *string `json:"id,omitempty"` 10036 // Name - READ-ONLY; Resource Name. 10037 Name *string `json:"name,omitempty"` 10038 // Kind - Kind of resource. 10039 Kind *string `json:"kind,omitempty"` 10040 // Type - READ-ONLY; Resource type. 10041 Type *string `json:"type,omitempty"` 10042} 10043 10044// MarshalJSON is the custom marshaler for FunctionEnvelope. 10045func (fe FunctionEnvelope) MarshalJSON() ([]byte, error) { 10046 objectMap := make(map[string]interface{}) 10047 if fe.FunctionEnvelopeProperties != nil { 10048 objectMap["properties"] = fe.FunctionEnvelopeProperties 10049 } 10050 if fe.Kind != nil { 10051 objectMap["kind"] = fe.Kind 10052 } 10053 return json.Marshal(objectMap) 10054} 10055 10056// UnmarshalJSON is the custom unmarshaler for FunctionEnvelope struct. 10057func (fe *FunctionEnvelope) UnmarshalJSON(body []byte) error { 10058 var m map[string]*json.RawMessage 10059 err := json.Unmarshal(body, &m) 10060 if err != nil { 10061 return err 10062 } 10063 for k, v := range m { 10064 switch k { 10065 case "properties": 10066 if v != nil { 10067 var functionEnvelopeProperties FunctionEnvelopeProperties 10068 err = json.Unmarshal(*v, &functionEnvelopeProperties) 10069 if err != nil { 10070 return err 10071 } 10072 fe.FunctionEnvelopeProperties = &functionEnvelopeProperties 10073 } 10074 case "id": 10075 if v != nil { 10076 var ID string 10077 err = json.Unmarshal(*v, &ID) 10078 if err != nil { 10079 return err 10080 } 10081 fe.ID = &ID 10082 } 10083 case "name": 10084 if v != nil { 10085 var name string 10086 err = json.Unmarshal(*v, &name) 10087 if err != nil { 10088 return err 10089 } 10090 fe.Name = &name 10091 } 10092 case "kind": 10093 if v != nil { 10094 var kind string 10095 err = json.Unmarshal(*v, &kind) 10096 if err != nil { 10097 return err 10098 } 10099 fe.Kind = &kind 10100 } 10101 case "type": 10102 if v != nil { 10103 var typeVar string 10104 err = json.Unmarshal(*v, &typeVar) 10105 if err != nil { 10106 return err 10107 } 10108 fe.Type = &typeVar 10109 } 10110 } 10111 } 10112 10113 return nil 10114} 10115 10116// FunctionEnvelopeCollection collection of Kudu function information elements. 10117type FunctionEnvelopeCollection struct { 10118 autorest.Response `json:"-"` 10119 // Value - Collection of resources. 10120 Value *[]FunctionEnvelope `json:"value,omitempty"` 10121 // NextLink - READ-ONLY; Link to next page of resources. 10122 NextLink *string `json:"nextLink,omitempty"` 10123} 10124 10125// MarshalJSON is the custom marshaler for FunctionEnvelopeCollection. 10126func (fec FunctionEnvelopeCollection) MarshalJSON() ([]byte, error) { 10127 objectMap := make(map[string]interface{}) 10128 if fec.Value != nil { 10129 objectMap["value"] = fec.Value 10130 } 10131 return json.Marshal(objectMap) 10132} 10133 10134// FunctionEnvelopeCollectionIterator provides access to a complete listing of FunctionEnvelope values. 10135type FunctionEnvelopeCollectionIterator struct { 10136 i int 10137 page FunctionEnvelopeCollectionPage 10138} 10139 10140// NextWithContext advances to the next value. If there was an error making 10141// the request the iterator does not advance and the error is returned. 10142func (iter *FunctionEnvelopeCollectionIterator) NextWithContext(ctx context.Context) (err error) { 10143 if tracing.IsEnabled() { 10144 ctx = tracing.StartSpan(ctx, fqdn+"/FunctionEnvelopeCollectionIterator.NextWithContext") 10145 defer func() { 10146 sc := -1 10147 if iter.Response().Response.Response != nil { 10148 sc = iter.Response().Response.Response.StatusCode 10149 } 10150 tracing.EndSpan(ctx, sc, err) 10151 }() 10152 } 10153 iter.i++ 10154 if iter.i < len(iter.page.Values()) { 10155 return nil 10156 } 10157 err = iter.page.NextWithContext(ctx) 10158 if err != nil { 10159 iter.i-- 10160 return err 10161 } 10162 iter.i = 0 10163 return nil 10164} 10165 10166// Next advances to the next value. If there was an error making 10167// the request the iterator does not advance and the error is returned. 10168// Deprecated: Use NextWithContext() instead. 10169func (iter *FunctionEnvelopeCollectionIterator) Next() error { 10170 return iter.NextWithContext(context.Background()) 10171} 10172 10173// NotDone returns true if the enumeration should be started or is not yet complete. 10174func (iter FunctionEnvelopeCollectionIterator) NotDone() bool { 10175 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 10176} 10177 10178// Response returns the raw server response from the last page request. 10179func (iter FunctionEnvelopeCollectionIterator) Response() FunctionEnvelopeCollection { 10180 return iter.page.Response() 10181} 10182 10183// Value returns the current value or a zero-initialized value if the 10184// iterator has advanced beyond the end of the collection. 10185func (iter FunctionEnvelopeCollectionIterator) Value() FunctionEnvelope { 10186 if !iter.page.NotDone() { 10187 return FunctionEnvelope{} 10188 } 10189 return iter.page.Values()[iter.i] 10190} 10191 10192// Creates a new instance of the FunctionEnvelopeCollectionIterator type. 10193func NewFunctionEnvelopeCollectionIterator(page FunctionEnvelopeCollectionPage) FunctionEnvelopeCollectionIterator { 10194 return FunctionEnvelopeCollectionIterator{page: page} 10195} 10196 10197// IsEmpty returns true if the ListResult contains no values. 10198func (fec FunctionEnvelopeCollection) IsEmpty() bool { 10199 return fec.Value == nil || len(*fec.Value) == 0 10200} 10201 10202// hasNextLink returns true if the NextLink is not empty. 10203func (fec FunctionEnvelopeCollection) hasNextLink() bool { 10204 return fec.NextLink != nil && len(*fec.NextLink) != 0 10205} 10206 10207// functionEnvelopeCollectionPreparer prepares a request to retrieve the next set of results. 10208// It returns nil if no more results exist. 10209func (fec FunctionEnvelopeCollection) functionEnvelopeCollectionPreparer(ctx context.Context) (*http.Request, error) { 10210 if !fec.hasNextLink() { 10211 return nil, nil 10212 } 10213 return autorest.Prepare((&http.Request{}).WithContext(ctx), 10214 autorest.AsJSON(), 10215 autorest.AsGet(), 10216 autorest.WithBaseURL(to.String(fec.NextLink))) 10217} 10218 10219// FunctionEnvelopeCollectionPage contains a page of FunctionEnvelope values. 10220type FunctionEnvelopeCollectionPage struct { 10221 fn func(context.Context, FunctionEnvelopeCollection) (FunctionEnvelopeCollection, error) 10222 fec FunctionEnvelopeCollection 10223} 10224 10225// NextWithContext advances to the next page of values. If there was an error making 10226// the request the page does not advance and the error is returned. 10227func (page *FunctionEnvelopeCollectionPage) NextWithContext(ctx context.Context) (err error) { 10228 if tracing.IsEnabled() { 10229 ctx = tracing.StartSpan(ctx, fqdn+"/FunctionEnvelopeCollectionPage.NextWithContext") 10230 defer func() { 10231 sc := -1 10232 if page.Response().Response.Response != nil { 10233 sc = page.Response().Response.Response.StatusCode 10234 } 10235 tracing.EndSpan(ctx, sc, err) 10236 }() 10237 } 10238 for { 10239 next, err := page.fn(ctx, page.fec) 10240 if err != nil { 10241 return err 10242 } 10243 page.fec = next 10244 if !next.hasNextLink() || !next.IsEmpty() { 10245 break 10246 } 10247 } 10248 return nil 10249} 10250 10251// Next advances to the next page of values. If there was an error making 10252// the request the page does not advance and the error is returned. 10253// Deprecated: Use NextWithContext() instead. 10254func (page *FunctionEnvelopeCollectionPage) Next() error { 10255 return page.NextWithContext(context.Background()) 10256} 10257 10258// NotDone returns true if the page enumeration should be started or is not yet complete. 10259func (page FunctionEnvelopeCollectionPage) NotDone() bool { 10260 return !page.fec.IsEmpty() 10261} 10262 10263// Response returns the raw server response from the last page request. 10264func (page FunctionEnvelopeCollectionPage) Response() FunctionEnvelopeCollection { 10265 return page.fec 10266} 10267 10268// Values returns the slice of values for the current page or nil if there are no values. 10269func (page FunctionEnvelopeCollectionPage) Values() []FunctionEnvelope { 10270 if page.fec.IsEmpty() { 10271 return nil 10272 } 10273 return *page.fec.Value 10274} 10275 10276// Creates a new instance of the FunctionEnvelopeCollectionPage type. 10277func NewFunctionEnvelopeCollectionPage(cur FunctionEnvelopeCollection, getNextPage func(context.Context, FunctionEnvelopeCollection) (FunctionEnvelopeCollection, error)) FunctionEnvelopeCollectionPage { 10278 return FunctionEnvelopeCollectionPage{ 10279 fn: getNextPage, 10280 fec: cur, 10281 } 10282} 10283 10284// FunctionEnvelopeProperties functionEnvelope resource specific properties 10285type FunctionEnvelopeProperties struct { 10286 // FunctionAppID - Function App ID. 10287 FunctionAppID *string `json:"function_app_id,omitempty"` 10288 // ScriptRootPathHref - Script root path URI. 10289 ScriptRootPathHref *string `json:"script_root_path_href,omitempty"` 10290 // ScriptHref - Script URI. 10291 ScriptHref *string `json:"script_href,omitempty"` 10292 // ConfigHref - Config URI. 10293 ConfigHref *string `json:"config_href,omitempty"` 10294 // TestDataHref - Test data URI. 10295 TestDataHref *string `json:"test_data_href,omitempty"` 10296 // SecretsFileHref - Secrets file URI. 10297 SecretsFileHref *string `json:"secrets_file_href,omitempty"` 10298 // Href - Function URI. 10299 Href *string `json:"href,omitempty"` 10300 // Config - Config information. 10301 Config interface{} `json:"config,omitempty"` 10302 // Files - File list. 10303 Files map[string]*string `json:"files"` 10304 // TestData - Test data used when testing via the Azure Portal. 10305 TestData *string `json:"test_data,omitempty"` 10306 // InvokeURLTemplate - The invocation URL 10307 InvokeURLTemplate *string `json:"invoke_url_template,omitempty"` 10308 // Language - The function language 10309 Language *string `json:"language,omitempty"` 10310 // IsDisabled - Value indicating whether the function is disabled 10311 IsDisabled *bool `json:"isDisabled,omitempty"` 10312} 10313 10314// MarshalJSON is the custom marshaler for FunctionEnvelopeProperties. 10315func (fe FunctionEnvelopeProperties) MarshalJSON() ([]byte, error) { 10316 objectMap := make(map[string]interface{}) 10317 if fe.FunctionAppID != nil { 10318 objectMap["function_app_id"] = fe.FunctionAppID 10319 } 10320 if fe.ScriptRootPathHref != nil { 10321 objectMap["script_root_path_href"] = fe.ScriptRootPathHref 10322 } 10323 if fe.ScriptHref != nil { 10324 objectMap["script_href"] = fe.ScriptHref 10325 } 10326 if fe.ConfigHref != nil { 10327 objectMap["config_href"] = fe.ConfigHref 10328 } 10329 if fe.TestDataHref != nil { 10330 objectMap["test_data_href"] = fe.TestDataHref 10331 } 10332 if fe.SecretsFileHref != nil { 10333 objectMap["secrets_file_href"] = fe.SecretsFileHref 10334 } 10335 if fe.Href != nil { 10336 objectMap["href"] = fe.Href 10337 } 10338 if fe.Config != nil { 10339 objectMap["config"] = fe.Config 10340 } 10341 if fe.Files != nil { 10342 objectMap["files"] = fe.Files 10343 } 10344 if fe.TestData != nil { 10345 objectMap["test_data"] = fe.TestData 10346 } 10347 if fe.InvokeURLTemplate != nil { 10348 objectMap["invoke_url_template"] = fe.InvokeURLTemplate 10349 } 10350 if fe.Language != nil { 10351 objectMap["language"] = fe.Language 10352 } 10353 if fe.IsDisabled != nil { 10354 objectMap["isDisabled"] = fe.IsDisabled 10355 } 10356 return json.Marshal(objectMap) 10357} 10358 10359// FunctionSecrets function secrets. 10360type FunctionSecrets struct { 10361 autorest.Response `json:"-"` 10362 // FunctionSecretsProperties - FunctionSecrets resource specific properties 10363 *FunctionSecretsProperties `json:"properties,omitempty"` 10364 // ID - READ-ONLY; Resource Id. 10365 ID *string `json:"id,omitempty"` 10366 // Name - READ-ONLY; Resource Name. 10367 Name *string `json:"name,omitempty"` 10368 // Kind - Kind of resource. 10369 Kind *string `json:"kind,omitempty"` 10370 // Type - READ-ONLY; Resource type. 10371 Type *string `json:"type,omitempty"` 10372} 10373 10374// MarshalJSON is the custom marshaler for FunctionSecrets. 10375func (fs FunctionSecrets) MarshalJSON() ([]byte, error) { 10376 objectMap := make(map[string]interface{}) 10377 if fs.FunctionSecretsProperties != nil { 10378 objectMap["properties"] = fs.FunctionSecretsProperties 10379 } 10380 if fs.Kind != nil { 10381 objectMap["kind"] = fs.Kind 10382 } 10383 return json.Marshal(objectMap) 10384} 10385 10386// UnmarshalJSON is the custom unmarshaler for FunctionSecrets struct. 10387func (fs *FunctionSecrets) UnmarshalJSON(body []byte) error { 10388 var m map[string]*json.RawMessage 10389 err := json.Unmarshal(body, &m) 10390 if err != nil { 10391 return err 10392 } 10393 for k, v := range m { 10394 switch k { 10395 case "properties": 10396 if v != nil { 10397 var functionSecretsProperties FunctionSecretsProperties 10398 err = json.Unmarshal(*v, &functionSecretsProperties) 10399 if err != nil { 10400 return err 10401 } 10402 fs.FunctionSecretsProperties = &functionSecretsProperties 10403 } 10404 case "id": 10405 if v != nil { 10406 var ID string 10407 err = json.Unmarshal(*v, &ID) 10408 if err != nil { 10409 return err 10410 } 10411 fs.ID = &ID 10412 } 10413 case "name": 10414 if v != nil { 10415 var name string 10416 err = json.Unmarshal(*v, &name) 10417 if err != nil { 10418 return err 10419 } 10420 fs.Name = &name 10421 } 10422 case "kind": 10423 if v != nil { 10424 var kind string 10425 err = json.Unmarshal(*v, &kind) 10426 if err != nil { 10427 return err 10428 } 10429 fs.Kind = &kind 10430 } 10431 case "type": 10432 if v != nil { 10433 var typeVar string 10434 err = json.Unmarshal(*v, &typeVar) 10435 if err != nil { 10436 return err 10437 } 10438 fs.Type = &typeVar 10439 } 10440 } 10441 } 10442 10443 return nil 10444} 10445 10446// FunctionSecretsProperties functionSecrets resource specific properties 10447type FunctionSecretsProperties struct { 10448 // Key - Secret key. 10449 Key *string `json:"key,omitempty"` 10450 // TriggerURL - Trigger URL. 10451 TriggerURL *string `json:"trigger_url,omitempty"` 10452} 10453 10454// GeoDistribution a global distribution definition. 10455type GeoDistribution struct { 10456 // Location - Location. 10457 Location *string `json:"location,omitempty"` 10458 // NumberOfWorkers - NumberOfWorkers. 10459 NumberOfWorkers *int32 `json:"numberOfWorkers,omitempty"` 10460} 10461 10462// GeoRegion geographical region. 10463type GeoRegion struct { 10464 // GeoRegionProperties - GeoRegion resource specific properties 10465 *GeoRegionProperties `json:"properties,omitempty"` 10466 // ID - READ-ONLY; Resource Id. 10467 ID *string `json:"id,omitempty"` 10468 // Name - READ-ONLY; Resource Name. 10469 Name *string `json:"name,omitempty"` 10470 // Kind - Kind of resource. 10471 Kind *string `json:"kind,omitempty"` 10472 // Type - READ-ONLY; Resource type. 10473 Type *string `json:"type,omitempty"` 10474} 10475 10476// MarshalJSON is the custom marshaler for GeoRegion. 10477func (gr GeoRegion) MarshalJSON() ([]byte, error) { 10478 objectMap := make(map[string]interface{}) 10479 if gr.GeoRegionProperties != nil { 10480 objectMap["properties"] = gr.GeoRegionProperties 10481 } 10482 if gr.Kind != nil { 10483 objectMap["kind"] = gr.Kind 10484 } 10485 return json.Marshal(objectMap) 10486} 10487 10488// UnmarshalJSON is the custom unmarshaler for GeoRegion struct. 10489func (gr *GeoRegion) UnmarshalJSON(body []byte) error { 10490 var m map[string]*json.RawMessage 10491 err := json.Unmarshal(body, &m) 10492 if err != nil { 10493 return err 10494 } 10495 for k, v := range m { 10496 switch k { 10497 case "properties": 10498 if v != nil { 10499 var geoRegionProperties GeoRegionProperties 10500 err = json.Unmarshal(*v, &geoRegionProperties) 10501 if err != nil { 10502 return err 10503 } 10504 gr.GeoRegionProperties = &geoRegionProperties 10505 } 10506 case "id": 10507 if v != nil { 10508 var ID string 10509 err = json.Unmarshal(*v, &ID) 10510 if err != nil { 10511 return err 10512 } 10513 gr.ID = &ID 10514 } 10515 case "name": 10516 if v != nil { 10517 var name string 10518 err = json.Unmarshal(*v, &name) 10519 if err != nil { 10520 return err 10521 } 10522 gr.Name = &name 10523 } 10524 case "kind": 10525 if v != nil { 10526 var kind string 10527 err = json.Unmarshal(*v, &kind) 10528 if err != nil { 10529 return err 10530 } 10531 gr.Kind = &kind 10532 } 10533 case "type": 10534 if v != nil { 10535 var typeVar string 10536 err = json.Unmarshal(*v, &typeVar) 10537 if err != nil { 10538 return err 10539 } 10540 gr.Type = &typeVar 10541 } 10542 } 10543 } 10544 10545 return nil 10546} 10547 10548// GeoRegionCollection collection of geographical regions. 10549type GeoRegionCollection struct { 10550 autorest.Response `json:"-"` 10551 // Value - Collection of resources. 10552 Value *[]GeoRegion `json:"value,omitempty"` 10553 // NextLink - READ-ONLY; Link to next page of resources. 10554 NextLink *string `json:"nextLink,omitempty"` 10555} 10556 10557// MarshalJSON is the custom marshaler for GeoRegionCollection. 10558func (grc GeoRegionCollection) MarshalJSON() ([]byte, error) { 10559 objectMap := make(map[string]interface{}) 10560 if grc.Value != nil { 10561 objectMap["value"] = grc.Value 10562 } 10563 return json.Marshal(objectMap) 10564} 10565 10566// GeoRegionCollectionIterator provides access to a complete listing of GeoRegion values. 10567type GeoRegionCollectionIterator struct { 10568 i int 10569 page GeoRegionCollectionPage 10570} 10571 10572// NextWithContext advances to the next value. If there was an error making 10573// the request the iterator does not advance and the error is returned. 10574func (iter *GeoRegionCollectionIterator) NextWithContext(ctx context.Context) (err error) { 10575 if tracing.IsEnabled() { 10576 ctx = tracing.StartSpan(ctx, fqdn+"/GeoRegionCollectionIterator.NextWithContext") 10577 defer func() { 10578 sc := -1 10579 if iter.Response().Response.Response != nil { 10580 sc = iter.Response().Response.Response.StatusCode 10581 } 10582 tracing.EndSpan(ctx, sc, err) 10583 }() 10584 } 10585 iter.i++ 10586 if iter.i < len(iter.page.Values()) { 10587 return nil 10588 } 10589 err = iter.page.NextWithContext(ctx) 10590 if err != nil { 10591 iter.i-- 10592 return err 10593 } 10594 iter.i = 0 10595 return nil 10596} 10597 10598// Next advances to the next value. If there was an error making 10599// the request the iterator does not advance and the error is returned. 10600// Deprecated: Use NextWithContext() instead. 10601func (iter *GeoRegionCollectionIterator) Next() error { 10602 return iter.NextWithContext(context.Background()) 10603} 10604 10605// NotDone returns true if the enumeration should be started or is not yet complete. 10606func (iter GeoRegionCollectionIterator) NotDone() bool { 10607 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 10608} 10609 10610// Response returns the raw server response from the last page request. 10611func (iter GeoRegionCollectionIterator) Response() GeoRegionCollection { 10612 return iter.page.Response() 10613} 10614 10615// Value returns the current value or a zero-initialized value if the 10616// iterator has advanced beyond the end of the collection. 10617func (iter GeoRegionCollectionIterator) Value() GeoRegion { 10618 if !iter.page.NotDone() { 10619 return GeoRegion{} 10620 } 10621 return iter.page.Values()[iter.i] 10622} 10623 10624// Creates a new instance of the GeoRegionCollectionIterator type. 10625func NewGeoRegionCollectionIterator(page GeoRegionCollectionPage) GeoRegionCollectionIterator { 10626 return GeoRegionCollectionIterator{page: page} 10627} 10628 10629// IsEmpty returns true if the ListResult contains no values. 10630func (grc GeoRegionCollection) IsEmpty() bool { 10631 return grc.Value == nil || len(*grc.Value) == 0 10632} 10633 10634// hasNextLink returns true if the NextLink is not empty. 10635func (grc GeoRegionCollection) hasNextLink() bool { 10636 return grc.NextLink != nil && len(*grc.NextLink) != 0 10637} 10638 10639// geoRegionCollectionPreparer prepares a request to retrieve the next set of results. 10640// It returns nil if no more results exist. 10641func (grc GeoRegionCollection) geoRegionCollectionPreparer(ctx context.Context) (*http.Request, error) { 10642 if !grc.hasNextLink() { 10643 return nil, nil 10644 } 10645 return autorest.Prepare((&http.Request{}).WithContext(ctx), 10646 autorest.AsJSON(), 10647 autorest.AsGet(), 10648 autorest.WithBaseURL(to.String(grc.NextLink))) 10649} 10650 10651// GeoRegionCollectionPage contains a page of GeoRegion values. 10652type GeoRegionCollectionPage struct { 10653 fn func(context.Context, GeoRegionCollection) (GeoRegionCollection, error) 10654 grc GeoRegionCollection 10655} 10656 10657// NextWithContext advances to the next page of values. If there was an error making 10658// the request the page does not advance and the error is returned. 10659func (page *GeoRegionCollectionPage) NextWithContext(ctx context.Context) (err error) { 10660 if tracing.IsEnabled() { 10661 ctx = tracing.StartSpan(ctx, fqdn+"/GeoRegionCollectionPage.NextWithContext") 10662 defer func() { 10663 sc := -1 10664 if page.Response().Response.Response != nil { 10665 sc = page.Response().Response.Response.StatusCode 10666 } 10667 tracing.EndSpan(ctx, sc, err) 10668 }() 10669 } 10670 for { 10671 next, err := page.fn(ctx, page.grc) 10672 if err != nil { 10673 return err 10674 } 10675 page.grc = next 10676 if !next.hasNextLink() || !next.IsEmpty() { 10677 break 10678 } 10679 } 10680 return nil 10681} 10682 10683// Next advances to the next page of values. If there was an error making 10684// the request the page does not advance and the error is returned. 10685// Deprecated: Use NextWithContext() instead. 10686func (page *GeoRegionCollectionPage) Next() error { 10687 return page.NextWithContext(context.Background()) 10688} 10689 10690// NotDone returns true if the page enumeration should be started or is not yet complete. 10691func (page GeoRegionCollectionPage) NotDone() bool { 10692 return !page.grc.IsEmpty() 10693} 10694 10695// Response returns the raw server response from the last page request. 10696func (page GeoRegionCollectionPage) Response() GeoRegionCollection { 10697 return page.grc 10698} 10699 10700// Values returns the slice of values for the current page or nil if there are no values. 10701func (page GeoRegionCollectionPage) Values() []GeoRegion { 10702 if page.grc.IsEmpty() { 10703 return nil 10704 } 10705 return *page.grc.Value 10706} 10707 10708// Creates a new instance of the GeoRegionCollectionPage type. 10709func NewGeoRegionCollectionPage(cur GeoRegionCollection, getNextPage func(context.Context, GeoRegionCollection) (GeoRegionCollection, error)) GeoRegionCollectionPage { 10710 return GeoRegionCollectionPage{ 10711 fn: getNextPage, 10712 grc: cur, 10713 } 10714} 10715 10716// GeoRegionProperties geoRegion resource specific properties 10717type GeoRegionProperties struct { 10718 // Description - READ-ONLY; Region description. 10719 Description *string `json:"description,omitempty"` 10720 // DisplayName - READ-ONLY; Display name for region. 10721 DisplayName *string `json:"displayName,omitempty"` 10722} 10723 10724// MarshalJSON is the custom marshaler for GeoRegionProperties. 10725func (gr GeoRegionProperties) MarshalJSON() ([]byte, error) { 10726 objectMap := make(map[string]interface{}) 10727 return json.Marshal(objectMap) 10728} 10729 10730// GlobalCsmSkuDescription a Global SKU Description. 10731type GlobalCsmSkuDescription struct { 10732 // Name - Name of the resource SKU. 10733 Name *string `json:"name,omitempty"` 10734 // Tier - Service Tier of the resource SKU. 10735 Tier *string `json:"tier,omitempty"` 10736 // Size - Size specifier of the resource SKU. 10737 Size *string `json:"size,omitempty"` 10738 // Family - Family code of the resource SKU. 10739 Family *string `json:"family,omitempty"` 10740 // Capacity - Min, max, and default scale values of the SKU. 10741 Capacity *SkuCapacity `json:"capacity,omitempty"` 10742 // Locations - Locations of the SKU. 10743 Locations *[]string `json:"locations,omitempty"` 10744 // Capabilities - Capabilities of the SKU, e.g., is traffic manager enabled? 10745 Capabilities *[]Capability `json:"capabilities,omitempty"` 10746} 10747 10748// HandlerMapping the IIS handler mappings used to define which handler processes HTTP requests with 10749// certain extension. 10750// For example, it is used to configure php-cgi.exe process to handle all HTTP requests with *.php 10751// extension. 10752type HandlerMapping struct { 10753 // Extension - Requests with this extension will be handled using the specified FastCGI application. 10754 Extension *string `json:"extension,omitempty"` 10755 // ScriptProcessor - The absolute path to the FastCGI application. 10756 ScriptProcessor *string `json:"scriptProcessor,omitempty"` 10757 // Arguments - Command-line arguments to be passed to the script processor. 10758 Arguments *string `json:"arguments,omitempty"` 10759} 10760 10761// HostingEnvironmentDeploymentInfo information needed to create resources on an App Service Environment. 10762type HostingEnvironmentDeploymentInfo struct { 10763 // Name - Name of the App Service Environment. 10764 Name *string `json:"name,omitempty"` 10765 // Location - Location of the App Service Environment. 10766 Location *string `json:"location,omitempty"` 10767} 10768 10769// HostingEnvironmentDiagnostics diagnostics for an App Service Environment. 10770type HostingEnvironmentDiagnostics struct { 10771 autorest.Response `json:"-"` 10772 // Name - Name/identifier of the diagnostics. 10773 Name *string `json:"name,omitempty"` 10774 // DiagnosicsOutput - Diagnostics output. 10775 DiagnosicsOutput *string `json:"diagnosicsOutput,omitempty"` 10776} 10777 10778// HostingEnvironmentProfile specification for an App Service Environment to use for this resource. 10779type HostingEnvironmentProfile struct { 10780 // ID - Resource ID of the App Service Environment. 10781 ID *string `json:"id,omitempty"` 10782 // Name - READ-ONLY; Name of the App Service Environment. 10783 Name *string `json:"name,omitempty"` 10784 // Type - READ-ONLY; Resource type of the App Service Environment. 10785 Type *string `json:"type,omitempty"` 10786} 10787 10788// MarshalJSON is the custom marshaler for HostingEnvironmentProfile. 10789func (hep HostingEnvironmentProfile) MarshalJSON() ([]byte, error) { 10790 objectMap := make(map[string]interface{}) 10791 if hep.ID != nil { 10792 objectMap["id"] = hep.ID 10793 } 10794 return json.Marshal(objectMap) 10795} 10796 10797// HostKeys functions host level keys. 10798type HostKeys struct { 10799 autorest.Response `json:"-"` 10800 // MasterKey - Secret key. 10801 MasterKey *string `json:"masterKey,omitempty"` 10802 // FunctionKeys - Host level function keys. 10803 FunctionKeys map[string]*string `json:"functionKeys"` 10804 // SystemKeys - System keys. 10805 SystemKeys map[string]*string `json:"systemKeys"` 10806} 10807 10808// MarshalJSON is the custom marshaler for HostKeys. 10809func (hk HostKeys) MarshalJSON() ([]byte, error) { 10810 objectMap := make(map[string]interface{}) 10811 if hk.MasterKey != nil { 10812 objectMap["masterKey"] = hk.MasterKey 10813 } 10814 if hk.FunctionKeys != nil { 10815 objectMap["functionKeys"] = hk.FunctionKeys 10816 } 10817 if hk.SystemKeys != nil { 10818 objectMap["systemKeys"] = hk.SystemKeys 10819 } 10820 return json.Marshal(objectMap) 10821} 10822 10823// HostName details of a hostname derived from a domain. 10824type HostName struct { 10825 // Name - Name of the hostname. 10826 Name *string `json:"name,omitempty"` 10827 // SiteNames - List of apps the hostname is assigned to. This list will have more than one app only if the hostname is pointing to a Traffic Manager. 10828 SiteNames *[]string `json:"siteNames,omitempty"` 10829 // AzureResourceName - Name of the Azure resource the hostname is assigned to. If it is assigned to a Traffic Manager then it will be the Traffic Manager name otherwise it will be the app name. 10830 AzureResourceName *string `json:"azureResourceName,omitempty"` 10831 // AzureResourceType - Type of the Azure resource the hostname is assigned to. Possible values include: 'Website', 'TrafficManager' 10832 AzureResourceType AzureResourceType `json:"azureResourceType,omitempty"` 10833 // CustomHostNameDNSRecordType - Type of the DNS record. Possible values include: 'CName', 'A' 10834 CustomHostNameDNSRecordType CustomHostNameDNSRecordType `json:"customHostNameDnsRecordType,omitempty"` 10835 // HostNameType - Type of the hostname. Possible values include: 'Verified', 'Managed' 10836 HostNameType HostNameType `json:"hostNameType,omitempty"` 10837} 10838 10839// HostNameBinding a hostname binding object. 10840type HostNameBinding struct { 10841 autorest.Response `json:"-"` 10842 // HostNameBindingProperties - HostNameBinding resource specific properties 10843 *HostNameBindingProperties `json:"properties,omitempty"` 10844 // ID - READ-ONLY; Resource Id. 10845 ID *string `json:"id,omitempty"` 10846 // Name - READ-ONLY; Resource Name. 10847 Name *string `json:"name,omitempty"` 10848 // Kind - Kind of resource. 10849 Kind *string `json:"kind,omitempty"` 10850 // Type - READ-ONLY; Resource type. 10851 Type *string `json:"type,omitempty"` 10852} 10853 10854// MarshalJSON is the custom marshaler for HostNameBinding. 10855func (hnb HostNameBinding) MarshalJSON() ([]byte, error) { 10856 objectMap := make(map[string]interface{}) 10857 if hnb.HostNameBindingProperties != nil { 10858 objectMap["properties"] = hnb.HostNameBindingProperties 10859 } 10860 if hnb.Kind != nil { 10861 objectMap["kind"] = hnb.Kind 10862 } 10863 return json.Marshal(objectMap) 10864} 10865 10866// UnmarshalJSON is the custom unmarshaler for HostNameBinding struct. 10867func (hnb *HostNameBinding) UnmarshalJSON(body []byte) error { 10868 var m map[string]*json.RawMessage 10869 err := json.Unmarshal(body, &m) 10870 if err != nil { 10871 return err 10872 } 10873 for k, v := range m { 10874 switch k { 10875 case "properties": 10876 if v != nil { 10877 var hostNameBindingProperties HostNameBindingProperties 10878 err = json.Unmarshal(*v, &hostNameBindingProperties) 10879 if err != nil { 10880 return err 10881 } 10882 hnb.HostNameBindingProperties = &hostNameBindingProperties 10883 } 10884 case "id": 10885 if v != nil { 10886 var ID string 10887 err = json.Unmarshal(*v, &ID) 10888 if err != nil { 10889 return err 10890 } 10891 hnb.ID = &ID 10892 } 10893 case "name": 10894 if v != nil { 10895 var name string 10896 err = json.Unmarshal(*v, &name) 10897 if err != nil { 10898 return err 10899 } 10900 hnb.Name = &name 10901 } 10902 case "kind": 10903 if v != nil { 10904 var kind string 10905 err = json.Unmarshal(*v, &kind) 10906 if err != nil { 10907 return err 10908 } 10909 hnb.Kind = &kind 10910 } 10911 case "type": 10912 if v != nil { 10913 var typeVar string 10914 err = json.Unmarshal(*v, &typeVar) 10915 if err != nil { 10916 return err 10917 } 10918 hnb.Type = &typeVar 10919 } 10920 } 10921 } 10922 10923 return nil 10924} 10925 10926// HostNameBindingCollection collection of hostname bindings. 10927type HostNameBindingCollection struct { 10928 autorest.Response `json:"-"` 10929 // Value - Collection of resources. 10930 Value *[]HostNameBinding `json:"value,omitempty"` 10931 // NextLink - READ-ONLY; Link to next page of resources. 10932 NextLink *string `json:"nextLink,omitempty"` 10933} 10934 10935// MarshalJSON is the custom marshaler for HostNameBindingCollection. 10936func (hnbc HostNameBindingCollection) MarshalJSON() ([]byte, error) { 10937 objectMap := make(map[string]interface{}) 10938 if hnbc.Value != nil { 10939 objectMap["value"] = hnbc.Value 10940 } 10941 return json.Marshal(objectMap) 10942} 10943 10944// HostNameBindingCollectionIterator provides access to a complete listing of HostNameBinding values. 10945type HostNameBindingCollectionIterator struct { 10946 i int 10947 page HostNameBindingCollectionPage 10948} 10949 10950// NextWithContext advances to the next value. If there was an error making 10951// the request the iterator does not advance and the error is returned. 10952func (iter *HostNameBindingCollectionIterator) NextWithContext(ctx context.Context) (err error) { 10953 if tracing.IsEnabled() { 10954 ctx = tracing.StartSpan(ctx, fqdn+"/HostNameBindingCollectionIterator.NextWithContext") 10955 defer func() { 10956 sc := -1 10957 if iter.Response().Response.Response != nil { 10958 sc = iter.Response().Response.Response.StatusCode 10959 } 10960 tracing.EndSpan(ctx, sc, err) 10961 }() 10962 } 10963 iter.i++ 10964 if iter.i < len(iter.page.Values()) { 10965 return nil 10966 } 10967 err = iter.page.NextWithContext(ctx) 10968 if err != nil { 10969 iter.i-- 10970 return err 10971 } 10972 iter.i = 0 10973 return nil 10974} 10975 10976// Next advances to the next value. If there was an error making 10977// the request the iterator does not advance and the error is returned. 10978// Deprecated: Use NextWithContext() instead. 10979func (iter *HostNameBindingCollectionIterator) Next() error { 10980 return iter.NextWithContext(context.Background()) 10981} 10982 10983// NotDone returns true if the enumeration should be started or is not yet complete. 10984func (iter HostNameBindingCollectionIterator) NotDone() bool { 10985 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 10986} 10987 10988// Response returns the raw server response from the last page request. 10989func (iter HostNameBindingCollectionIterator) Response() HostNameBindingCollection { 10990 return iter.page.Response() 10991} 10992 10993// Value returns the current value or a zero-initialized value if the 10994// iterator has advanced beyond the end of the collection. 10995func (iter HostNameBindingCollectionIterator) Value() HostNameBinding { 10996 if !iter.page.NotDone() { 10997 return HostNameBinding{} 10998 } 10999 return iter.page.Values()[iter.i] 11000} 11001 11002// Creates a new instance of the HostNameBindingCollectionIterator type. 11003func NewHostNameBindingCollectionIterator(page HostNameBindingCollectionPage) HostNameBindingCollectionIterator { 11004 return HostNameBindingCollectionIterator{page: page} 11005} 11006 11007// IsEmpty returns true if the ListResult contains no values. 11008func (hnbc HostNameBindingCollection) IsEmpty() bool { 11009 return hnbc.Value == nil || len(*hnbc.Value) == 0 11010} 11011 11012// hasNextLink returns true if the NextLink is not empty. 11013func (hnbc HostNameBindingCollection) hasNextLink() bool { 11014 return hnbc.NextLink != nil && len(*hnbc.NextLink) != 0 11015} 11016 11017// hostNameBindingCollectionPreparer prepares a request to retrieve the next set of results. 11018// It returns nil if no more results exist. 11019func (hnbc HostNameBindingCollection) hostNameBindingCollectionPreparer(ctx context.Context) (*http.Request, error) { 11020 if !hnbc.hasNextLink() { 11021 return nil, nil 11022 } 11023 return autorest.Prepare((&http.Request{}).WithContext(ctx), 11024 autorest.AsJSON(), 11025 autorest.AsGet(), 11026 autorest.WithBaseURL(to.String(hnbc.NextLink))) 11027} 11028 11029// HostNameBindingCollectionPage contains a page of HostNameBinding values. 11030type HostNameBindingCollectionPage struct { 11031 fn func(context.Context, HostNameBindingCollection) (HostNameBindingCollection, error) 11032 hnbc HostNameBindingCollection 11033} 11034 11035// NextWithContext advances to the next page of values. If there was an error making 11036// the request the page does not advance and the error is returned. 11037func (page *HostNameBindingCollectionPage) NextWithContext(ctx context.Context) (err error) { 11038 if tracing.IsEnabled() { 11039 ctx = tracing.StartSpan(ctx, fqdn+"/HostNameBindingCollectionPage.NextWithContext") 11040 defer func() { 11041 sc := -1 11042 if page.Response().Response.Response != nil { 11043 sc = page.Response().Response.Response.StatusCode 11044 } 11045 tracing.EndSpan(ctx, sc, err) 11046 }() 11047 } 11048 for { 11049 next, err := page.fn(ctx, page.hnbc) 11050 if err != nil { 11051 return err 11052 } 11053 page.hnbc = next 11054 if !next.hasNextLink() || !next.IsEmpty() { 11055 break 11056 } 11057 } 11058 return nil 11059} 11060 11061// Next advances to the next page of values. If there was an error making 11062// the request the page does not advance and the error is returned. 11063// Deprecated: Use NextWithContext() instead. 11064func (page *HostNameBindingCollectionPage) Next() error { 11065 return page.NextWithContext(context.Background()) 11066} 11067 11068// NotDone returns true if the page enumeration should be started or is not yet complete. 11069func (page HostNameBindingCollectionPage) NotDone() bool { 11070 return !page.hnbc.IsEmpty() 11071} 11072 11073// Response returns the raw server response from the last page request. 11074func (page HostNameBindingCollectionPage) Response() HostNameBindingCollection { 11075 return page.hnbc 11076} 11077 11078// Values returns the slice of values for the current page or nil if there are no values. 11079func (page HostNameBindingCollectionPage) Values() []HostNameBinding { 11080 if page.hnbc.IsEmpty() { 11081 return nil 11082 } 11083 return *page.hnbc.Value 11084} 11085 11086// Creates a new instance of the HostNameBindingCollectionPage type. 11087func NewHostNameBindingCollectionPage(cur HostNameBindingCollection, getNextPage func(context.Context, HostNameBindingCollection) (HostNameBindingCollection, error)) HostNameBindingCollectionPage { 11088 return HostNameBindingCollectionPage{ 11089 fn: getNextPage, 11090 hnbc: cur, 11091 } 11092} 11093 11094// HostNameBindingProperties hostNameBinding resource specific properties 11095type HostNameBindingProperties struct { 11096 // SiteName - App Service app name. 11097 SiteName *string `json:"siteName,omitempty"` 11098 // DomainID - Fully qualified ARM domain resource URI. 11099 DomainID *string `json:"domainId,omitempty"` 11100 // AzureResourceName - Azure resource name. 11101 AzureResourceName *string `json:"azureResourceName,omitempty"` 11102 // AzureResourceType - Azure resource type. Possible values include: 'Website', 'TrafficManager' 11103 AzureResourceType AzureResourceType `json:"azureResourceType,omitempty"` 11104 // CustomHostNameDNSRecordType - Custom DNS record type. Possible values include: 'CName', 'A' 11105 CustomHostNameDNSRecordType CustomHostNameDNSRecordType `json:"customHostNameDnsRecordType,omitempty"` 11106 // HostNameType - Hostname type. Possible values include: 'Verified', 'Managed' 11107 HostNameType HostNameType `json:"hostNameType,omitempty"` 11108 // SslState - SSL type. Possible values include: 'SslStateDisabled', 'SslStateSniEnabled', 'SslStateIPBasedEnabled' 11109 SslState SslState `json:"sslState,omitempty"` 11110 // Thumbprint - SSL certificate thumbprint 11111 Thumbprint *string `json:"thumbprint,omitempty"` 11112 // VirtualIP - READ-ONLY; Virtual IP address assigned to the hostname if IP based SSL is enabled. 11113 VirtualIP *string `json:"virtualIP,omitempty"` 11114} 11115 11116// MarshalJSON is the custom marshaler for HostNameBindingProperties. 11117func (hnb HostNameBindingProperties) MarshalJSON() ([]byte, error) { 11118 objectMap := make(map[string]interface{}) 11119 if hnb.SiteName != nil { 11120 objectMap["siteName"] = hnb.SiteName 11121 } 11122 if hnb.DomainID != nil { 11123 objectMap["domainId"] = hnb.DomainID 11124 } 11125 if hnb.AzureResourceName != nil { 11126 objectMap["azureResourceName"] = hnb.AzureResourceName 11127 } 11128 if hnb.AzureResourceType != "" { 11129 objectMap["azureResourceType"] = hnb.AzureResourceType 11130 } 11131 if hnb.CustomHostNameDNSRecordType != "" { 11132 objectMap["customHostNameDnsRecordType"] = hnb.CustomHostNameDNSRecordType 11133 } 11134 if hnb.HostNameType != "" { 11135 objectMap["hostNameType"] = hnb.HostNameType 11136 } 11137 if hnb.SslState != "" { 11138 objectMap["sslState"] = hnb.SslState 11139 } 11140 if hnb.Thumbprint != nil { 11141 objectMap["thumbprint"] = hnb.Thumbprint 11142 } 11143 return json.Marshal(objectMap) 11144} 11145 11146// HostNameSslState SSL-enabled hostname. 11147type HostNameSslState struct { 11148 // Name - Hostname. 11149 Name *string `json:"name,omitempty"` 11150 // SslState - SSL type. Possible values include: 'SslStateDisabled', 'SslStateSniEnabled', 'SslStateIPBasedEnabled' 11151 SslState SslState `json:"sslState,omitempty"` 11152 // VirtualIP - Virtual IP address assigned to the hostname if IP based SSL is enabled. 11153 VirtualIP *string `json:"virtualIP,omitempty"` 11154 // Thumbprint - SSL certificate thumbprint. 11155 Thumbprint *string `json:"thumbprint,omitempty"` 11156 // ToUpdate - Set to <code>true</code> to update existing hostname. 11157 ToUpdate *bool `json:"toUpdate,omitempty"` 11158 // HostType - Indicates whether the hostname is a standard or repository hostname. Possible values include: 'HostTypeStandard', 'HostTypeRepository' 11159 HostType HostType `json:"hostType,omitempty"` 11160} 11161 11162// HTTPLogsConfig http logs configuration. 11163type HTTPLogsConfig struct { 11164 // FileSystem - Http logs to file system configuration. 11165 FileSystem *FileSystemHTTPLogsConfig `json:"fileSystem,omitempty"` 11166 // AzureBlobStorage - Http logs to azure blob storage configuration. 11167 AzureBlobStorage *AzureBlobStorageHTTPLogsConfig `json:"azureBlobStorage,omitempty"` 11168} 11169 11170// HybridConnection hybrid Connection contract. This is used to configure a Hybrid Connection. 11171type HybridConnection struct { 11172 autorest.Response `json:"-"` 11173 // HybridConnectionProperties - HybridConnection resource specific properties 11174 *HybridConnectionProperties `json:"properties,omitempty"` 11175 // ID - READ-ONLY; Resource Id. 11176 ID *string `json:"id,omitempty"` 11177 // Name - READ-ONLY; Resource Name. 11178 Name *string `json:"name,omitempty"` 11179 // Kind - Kind of resource. 11180 Kind *string `json:"kind,omitempty"` 11181 // Type - READ-ONLY; Resource type. 11182 Type *string `json:"type,omitempty"` 11183} 11184 11185// MarshalJSON is the custom marshaler for HybridConnection. 11186func (hc HybridConnection) MarshalJSON() ([]byte, error) { 11187 objectMap := make(map[string]interface{}) 11188 if hc.HybridConnectionProperties != nil { 11189 objectMap["properties"] = hc.HybridConnectionProperties 11190 } 11191 if hc.Kind != nil { 11192 objectMap["kind"] = hc.Kind 11193 } 11194 return json.Marshal(objectMap) 11195} 11196 11197// UnmarshalJSON is the custom unmarshaler for HybridConnection struct. 11198func (hc *HybridConnection) UnmarshalJSON(body []byte) error { 11199 var m map[string]*json.RawMessage 11200 err := json.Unmarshal(body, &m) 11201 if err != nil { 11202 return err 11203 } 11204 for k, v := range m { 11205 switch k { 11206 case "properties": 11207 if v != nil { 11208 var hybridConnectionProperties HybridConnectionProperties 11209 err = json.Unmarshal(*v, &hybridConnectionProperties) 11210 if err != nil { 11211 return err 11212 } 11213 hc.HybridConnectionProperties = &hybridConnectionProperties 11214 } 11215 case "id": 11216 if v != nil { 11217 var ID string 11218 err = json.Unmarshal(*v, &ID) 11219 if err != nil { 11220 return err 11221 } 11222 hc.ID = &ID 11223 } 11224 case "name": 11225 if v != nil { 11226 var name string 11227 err = json.Unmarshal(*v, &name) 11228 if err != nil { 11229 return err 11230 } 11231 hc.Name = &name 11232 } 11233 case "kind": 11234 if v != nil { 11235 var kind string 11236 err = json.Unmarshal(*v, &kind) 11237 if err != nil { 11238 return err 11239 } 11240 hc.Kind = &kind 11241 } 11242 case "type": 11243 if v != nil { 11244 var typeVar string 11245 err = json.Unmarshal(*v, &typeVar) 11246 if err != nil { 11247 return err 11248 } 11249 hc.Type = &typeVar 11250 } 11251 } 11252 } 11253 11254 return nil 11255} 11256 11257// HybridConnectionCollection collection of hostname bindings. 11258type HybridConnectionCollection struct { 11259 autorest.Response `json:"-"` 11260 // Value - Collection of resources. 11261 Value *[]HybridConnection `json:"value,omitempty"` 11262 // NextLink - READ-ONLY; Link to next page of resources. 11263 NextLink *string `json:"nextLink,omitempty"` 11264} 11265 11266// MarshalJSON is the custom marshaler for HybridConnectionCollection. 11267func (hcc HybridConnectionCollection) MarshalJSON() ([]byte, error) { 11268 objectMap := make(map[string]interface{}) 11269 if hcc.Value != nil { 11270 objectMap["value"] = hcc.Value 11271 } 11272 return json.Marshal(objectMap) 11273} 11274 11275// HybridConnectionCollectionIterator provides access to a complete listing of HybridConnection values. 11276type HybridConnectionCollectionIterator struct { 11277 i int 11278 page HybridConnectionCollectionPage 11279} 11280 11281// NextWithContext advances to the next value. If there was an error making 11282// the request the iterator does not advance and the error is returned. 11283func (iter *HybridConnectionCollectionIterator) NextWithContext(ctx context.Context) (err error) { 11284 if tracing.IsEnabled() { 11285 ctx = tracing.StartSpan(ctx, fqdn+"/HybridConnectionCollectionIterator.NextWithContext") 11286 defer func() { 11287 sc := -1 11288 if iter.Response().Response.Response != nil { 11289 sc = iter.Response().Response.Response.StatusCode 11290 } 11291 tracing.EndSpan(ctx, sc, err) 11292 }() 11293 } 11294 iter.i++ 11295 if iter.i < len(iter.page.Values()) { 11296 return nil 11297 } 11298 err = iter.page.NextWithContext(ctx) 11299 if err != nil { 11300 iter.i-- 11301 return err 11302 } 11303 iter.i = 0 11304 return nil 11305} 11306 11307// Next advances to the next value. If there was an error making 11308// the request the iterator does not advance and the error is returned. 11309// Deprecated: Use NextWithContext() instead. 11310func (iter *HybridConnectionCollectionIterator) Next() error { 11311 return iter.NextWithContext(context.Background()) 11312} 11313 11314// NotDone returns true if the enumeration should be started or is not yet complete. 11315func (iter HybridConnectionCollectionIterator) NotDone() bool { 11316 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 11317} 11318 11319// Response returns the raw server response from the last page request. 11320func (iter HybridConnectionCollectionIterator) Response() HybridConnectionCollection { 11321 return iter.page.Response() 11322} 11323 11324// Value returns the current value or a zero-initialized value if the 11325// iterator has advanced beyond the end of the collection. 11326func (iter HybridConnectionCollectionIterator) Value() HybridConnection { 11327 if !iter.page.NotDone() { 11328 return HybridConnection{} 11329 } 11330 return iter.page.Values()[iter.i] 11331} 11332 11333// Creates a new instance of the HybridConnectionCollectionIterator type. 11334func NewHybridConnectionCollectionIterator(page HybridConnectionCollectionPage) HybridConnectionCollectionIterator { 11335 return HybridConnectionCollectionIterator{page: page} 11336} 11337 11338// IsEmpty returns true if the ListResult contains no values. 11339func (hcc HybridConnectionCollection) IsEmpty() bool { 11340 return hcc.Value == nil || len(*hcc.Value) == 0 11341} 11342 11343// hasNextLink returns true if the NextLink is not empty. 11344func (hcc HybridConnectionCollection) hasNextLink() bool { 11345 return hcc.NextLink != nil && len(*hcc.NextLink) != 0 11346} 11347 11348// hybridConnectionCollectionPreparer prepares a request to retrieve the next set of results. 11349// It returns nil if no more results exist. 11350func (hcc HybridConnectionCollection) hybridConnectionCollectionPreparer(ctx context.Context) (*http.Request, error) { 11351 if !hcc.hasNextLink() { 11352 return nil, nil 11353 } 11354 return autorest.Prepare((&http.Request{}).WithContext(ctx), 11355 autorest.AsJSON(), 11356 autorest.AsGet(), 11357 autorest.WithBaseURL(to.String(hcc.NextLink))) 11358} 11359 11360// HybridConnectionCollectionPage contains a page of HybridConnection values. 11361type HybridConnectionCollectionPage struct { 11362 fn func(context.Context, HybridConnectionCollection) (HybridConnectionCollection, error) 11363 hcc HybridConnectionCollection 11364} 11365 11366// NextWithContext advances to the next page of values. If there was an error making 11367// the request the page does not advance and the error is returned. 11368func (page *HybridConnectionCollectionPage) NextWithContext(ctx context.Context) (err error) { 11369 if tracing.IsEnabled() { 11370 ctx = tracing.StartSpan(ctx, fqdn+"/HybridConnectionCollectionPage.NextWithContext") 11371 defer func() { 11372 sc := -1 11373 if page.Response().Response.Response != nil { 11374 sc = page.Response().Response.Response.StatusCode 11375 } 11376 tracing.EndSpan(ctx, sc, err) 11377 }() 11378 } 11379 for { 11380 next, err := page.fn(ctx, page.hcc) 11381 if err != nil { 11382 return err 11383 } 11384 page.hcc = next 11385 if !next.hasNextLink() || !next.IsEmpty() { 11386 break 11387 } 11388 } 11389 return nil 11390} 11391 11392// Next advances to the next page of values. If there was an error making 11393// the request the page does not advance and the error is returned. 11394// Deprecated: Use NextWithContext() instead. 11395func (page *HybridConnectionCollectionPage) Next() error { 11396 return page.NextWithContext(context.Background()) 11397} 11398 11399// NotDone returns true if the page enumeration should be started or is not yet complete. 11400func (page HybridConnectionCollectionPage) NotDone() bool { 11401 return !page.hcc.IsEmpty() 11402} 11403 11404// Response returns the raw server response from the last page request. 11405func (page HybridConnectionCollectionPage) Response() HybridConnectionCollection { 11406 return page.hcc 11407} 11408 11409// Values returns the slice of values for the current page or nil if there are no values. 11410func (page HybridConnectionCollectionPage) Values() []HybridConnection { 11411 if page.hcc.IsEmpty() { 11412 return nil 11413 } 11414 return *page.hcc.Value 11415} 11416 11417// Creates a new instance of the HybridConnectionCollectionPage type. 11418func NewHybridConnectionCollectionPage(cur HybridConnectionCollection, getNextPage func(context.Context, HybridConnectionCollection) (HybridConnectionCollection, error)) HybridConnectionCollectionPage { 11419 return HybridConnectionCollectionPage{ 11420 fn: getNextPage, 11421 hcc: cur, 11422 } 11423} 11424 11425// HybridConnectionKey hybrid Connection key contract. This has the send key name and value for a Hybrid 11426// Connection. 11427type HybridConnectionKey struct { 11428 autorest.Response `json:"-"` 11429 // HybridConnectionKeyProperties - HybridConnectionKey resource specific properties 11430 *HybridConnectionKeyProperties `json:"properties,omitempty"` 11431 // ID - READ-ONLY; Resource Id. 11432 ID *string `json:"id,omitempty"` 11433 // Name - READ-ONLY; Resource Name. 11434 Name *string `json:"name,omitempty"` 11435 // Kind - Kind of resource. 11436 Kind *string `json:"kind,omitempty"` 11437 // Type - READ-ONLY; Resource type. 11438 Type *string `json:"type,omitempty"` 11439} 11440 11441// MarshalJSON is the custom marshaler for HybridConnectionKey. 11442func (hck HybridConnectionKey) MarshalJSON() ([]byte, error) { 11443 objectMap := make(map[string]interface{}) 11444 if hck.HybridConnectionKeyProperties != nil { 11445 objectMap["properties"] = hck.HybridConnectionKeyProperties 11446 } 11447 if hck.Kind != nil { 11448 objectMap["kind"] = hck.Kind 11449 } 11450 return json.Marshal(objectMap) 11451} 11452 11453// UnmarshalJSON is the custom unmarshaler for HybridConnectionKey struct. 11454func (hck *HybridConnectionKey) UnmarshalJSON(body []byte) error { 11455 var m map[string]*json.RawMessage 11456 err := json.Unmarshal(body, &m) 11457 if err != nil { 11458 return err 11459 } 11460 for k, v := range m { 11461 switch k { 11462 case "properties": 11463 if v != nil { 11464 var hybridConnectionKeyProperties HybridConnectionKeyProperties 11465 err = json.Unmarshal(*v, &hybridConnectionKeyProperties) 11466 if err != nil { 11467 return err 11468 } 11469 hck.HybridConnectionKeyProperties = &hybridConnectionKeyProperties 11470 } 11471 case "id": 11472 if v != nil { 11473 var ID string 11474 err = json.Unmarshal(*v, &ID) 11475 if err != nil { 11476 return err 11477 } 11478 hck.ID = &ID 11479 } 11480 case "name": 11481 if v != nil { 11482 var name string 11483 err = json.Unmarshal(*v, &name) 11484 if err != nil { 11485 return err 11486 } 11487 hck.Name = &name 11488 } 11489 case "kind": 11490 if v != nil { 11491 var kind string 11492 err = json.Unmarshal(*v, &kind) 11493 if err != nil { 11494 return err 11495 } 11496 hck.Kind = &kind 11497 } 11498 case "type": 11499 if v != nil { 11500 var typeVar string 11501 err = json.Unmarshal(*v, &typeVar) 11502 if err != nil { 11503 return err 11504 } 11505 hck.Type = &typeVar 11506 } 11507 } 11508 } 11509 11510 return nil 11511} 11512 11513// HybridConnectionKeyProperties hybridConnectionKey resource specific properties 11514type HybridConnectionKeyProperties struct { 11515 // SendKeyName - READ-ONLY; The name of the send key. 11516 SendKeyName *string `json:"sendKeyName,omitempty"` 11517 // SendKeyValue - READ-ONLY; The value of the send key. 11518 SendKeyValue *string `json:"sendKeyValue,omitempty"` 11519} 11520 11521// MarshalJSON is the custom marshaler for HybridConnectionKeyProperties. 11522func (hck HybridConnectionKeyProperties) MarshalJSON() ([]byte, error) { 11523 objectMap := make(map[string]interface{}) 11524 return json.Marshal(objectMap) 11525} 11526 11527// HybridConnectionLimits hybrid Connection limits contract. This is used to return the plan limits of 11528// Hybrid Connections. 11529type HybridConnectionLimits struct { 11530 autorest.Response `json:"-"` 11531 // HybridConnectionLimitsProperties - HybridConnectionLimits resource specific properties 11532 *HybridConnectionLimitsProperties `json:"properties,omitempty"` 11533 // ID - READ-ONLY; Resource Id. 11534 ID *string `json:"id,omitempty"` 11535 // Name - READ-ONLY; Resource Name. 11536 Name *string `json:"name,omitempty"` 11537 // Kind - Kind of resource. 11538 Kind *string `json:"kind,omitempty"` 11539 // Type - READ-ONLY; Resource type. 11540 Type *string `json:"type,omitempty"` 11541} 11542 11543// MarshalJSON is the custom marshaler for HybridConnectionLimits. 11544func (hcl HybridConnectionLimits) MarshalJSON() ([]byte, error) { 11545 objectMap := make(map[string]interface{}) 11546 if hcl.HybridConnectionLimitsProperties != nil { 11547 objectMap["properties"] = hcl.HybridConnectionLimitsProperties 11548 } 11549 if hcl.Kind != nil { 11550 objectMap["kind"] = hcl.Kind 11551 } 11552 return json.Marshal(objectMap) 11553} 11554 11555// UnmarshalJSON is the custom unmarshaler for HybridConnectionLimits struct. 11556func (hcl *HybridConnectionLimits) UnmarshalJSON(body []byte) error { 11557 var m map[string]*json.RawMessage 11558 err := json.Unmarshal(body, &m) 11559 if err != nil { 11560 return err 11561 } 11562 for k, v := range m { 11563 switch k { 11564 case "properties": 11565 if v != nil { 11566 var hybridConnectionLimitsProperties HybridConnectionLimitsProperties 11567 err = json.Unmarshal(*v, &hybridConnectionLimitsProperties) 11568 if err != nil { 11569 return err 11570 } 11571 hcl.HybridConnectionLimitsProperties = &hybridConnectionLimitsProperties 11572 } 11573 case "id": 11574 if v != nil { 11575 var ID string 11576 err = json.Unmarshal(*v, &ID) 11577 if err != nil { 11578 return err 11579 } 11580 hcl.ID = &ID 11581 } 11582 case "name": 11583 if v != nil { 11584 var name string 11585 err = json.Unmarshal(*v, &name) 11586 if err != nil { 11587 return err 11588 } 11589 hcl.Name = &name 11590 } 11591 case "kind": 11592 if v != nil { 11593 var kind string 11594 err = json.Unmarshal(*v, &kind) 11595 if err != nil { 11596 return err 11597 } 11598 hcl.Kind = &kind 11599 } 11600 case "type": 11601 if v != nil { 11602 var typeVar string 11603 err = json.Unmarshal(*v, &typeVar) 11604 if err != nil { 11605 return err 11606 } 11607 hcl.Type = &typeVar 11608 } 11609 } 11610 } 11611 11612 return nil 11613} 11614 11615// HybridConnectionLimitsProperties hybridConnectionLimits resource specific properties 11616type HybridConnectionLimitsProperties struct { 11617 // Current - READ-ONLY; The current number of Hybrid Connections. 11618 Current *int32 `json:"current,omitempty"` 11619 // Maximum - READ-ONLY; The maximum number of Hybrid Connections allowed. 11620 Maximum *int32 `json:"maximum,omitempty"` 11621} 11622 11623// MarshalJSON is the custom marshaler for HybridConnectionLimitsProperties. 11624func (hcl HybridConnectionLimitsProperties) MarshalJSON() ([]byte, error) { 11625 objectMap := make(map[string]interface{}) 11626 return json.Marshal(objectMap) 11627} 11628 11629// HybridConnectionProperties hybridConnection resource specific properties 11630type HybridConnectionProperties struct { 11631 // ServiceBusNamespace - The name of the Service Bus namespace. 11632 ServiceBusNamespace *string `json:"serviceBusNamespace,omitempty"` 11633 // RelayName - The name of the Service Bus relay. 11634 RelayName *string `json:"relayName,omitempty"` 11635 // RelayArmURI - The ARM URI to the Service Bus relay. 11636 RelayArmURI *string `json:"relayArmUri,omitempty"` 11637 // Hostname - The hostname of the endpoint. 11638 Hostname *string `json:"hostname,omitempty"` 11639 // Port - The port of the endpoint. 11640 Port *int32 `json:"port,omitempty"` 11641 // SendKeyName - The name of the Service Bus key which has Send permissions. This is used to authenticate to Service Bus. 11642 SendKeyName *string `json:"sendKeyName,omitempty"` 11643 // SendKeyValue - The value of the Service Bus key. This is used to authenticate to Service Bus. In ARM this key will not be returned 11644 // normally, use the POST /listKeys API instead. 11645 SendKeyValue *string `json:"sendKeyValue,omitempty"` 11646 // ServiceBusSuffix - The suffix for the service bus endpoint. By default this is .servicebus.windows.net 11647 ServiceBusSuffix *string `json:"serviceBusSuffix,omitempty"` 11648} 11649 11650// Identifier a domain specific resource identifier. 11651type Identifier struct { 11652 autorest.Response `json:"-"` 11653 // IdentifierProperties - Identifier resource specific properties 11654 *IdentifierProperties `json:"properties,omitempty"` 11655 // ID - READ-ONLY; Resource Id. 11656 ID *string `json:"id,omitempty"` 11657 // Name - READ-ONLY; Resource Name. 11658 Name *string `json:"name,omitempty"` 11659 // Kind - Kind of resource. 11660 Kind *string `json:"kind,omitempty"` 11661 // Type - READ-ONLY; Resource type. 11662 Type *string `json:"type,omitempty"` 11663} 11664 11665// MarshalJSON is the custom marshaler for Identifier. 11666func (i Identifier) MarshalJSON() ([]byte, error) { 11667 objectMap := make(map[string]interface{}) 11668 if i.IdentifierProperties != nil { 11669 objectMap["properties"] = i.IdentifierProperties 11670 } 11671 if i.Kind != nil { 11672 objectMap["kind"] = i.Kind 11673 } 11674 return json.Marshal(objectMap) 11675} 11676 11677// UnmarshalJSON is the custom unmarshaler for Identifier struct. 11678func (i *Identifier) UnmarshalJSON(body []byte) error { 11679 var m map[string]*json.RawMessage 11680 err := json.Unmarshal(body, &m) 11681 if err != nil { 11682 return err 11683 } 11684 for k, v := range m { 11685 switch k { 11686 case "properties": 11687 if v != nil { 11688 var identifierProperties IdentifierProperties 11689 err = json.Unmarshal(*v, &identifierProperties) 11690 if err != nil { 11691 return err 11692 } 11693 i.IdentifierProperties = &identifierProperties 11694 } 11695 case "id": 11696 if v != nil { 11697 var ID string 11698 err = json.Unmarshal(*v, &ID) 11699 if err != nil { 11700 return err 11701 } 11702 i.ID = &ID 11703 } 11704 case "name": 11705 if v != nil { 11706 var name string 11707 err = json.Unmarshal(*v, &name) 11708 if err != nil { 11709 return err 11710 } 11711 i.Name = &name 11712 } 11713 case "kind": 11714 if v != nil { 11715 var kind string 11716 err = json.Unmarshal(*v, &kind) 11717 if err != nil { 11718 return err 11719 } 11720 i.Kind = &kind 11721 } 11722 case "type": 11723 if v != nil { 11724 var typeVar string 11725 err = json.Unmarshal(*v, &typeVar) 11726 if err != nil { 11727 return err 11728 } 11729 i.Type = &typeVar 11730 } 11731 } 11732 } 11733 11734 return nil 11735} 11736 11737// IdentifierCollection collection of identifiers. 11738type IdentifierCollection struct { 11739 autorest.Response `json:"-"` 11740 // Value - Collection of resources. 11741 Value *[]Identifier `json:"value,omitempty"` 11742 // NextLink - READ-ONLY; Link to next page of resources. 11743 NextLink *string `json:"nextLink,omitempty"` 11744} 11745 11746// MarshalJSON is the custom marshaler for IdentifierCollection. 11747func (ic IdentifierCollection) MarshalJSON() ([]byte, error) { 11748 objectMap := make(map[string]interface{}) 11749 if ic.Value != nil { 11750 objectMap["value"] = ic.Value 11751 } 11752 return json.Marshal(objectMap) 11753} 11754 11755// IdentifierCollectionIterator provides access to a complete listing of Identifier values. 11756type IdentifierCollectionIterator struct { 11757 i int 11758 page IdentifierCollectionPage 11759} 11760 11761// NextWithContext advances to the next value. If there was an error making 11762// the request the iterator does not advance and the error is returned. 11763func (iter *IdentifierCollectionIterator) NextWithContext(ctx context.Context) (err error) { 11764 if tracing.IsEnabled() { 11765 ctx = tracing.StartSpan(ctx, fqdn+"/IdentifierCollectionIterator.NextWithContext") 11766 defer func() { 11767 sc := -1 11768 if iter.Response().Response.Response != nil { 11769 sc = iter.Response().Response.Response.StatusCode 11770 } 11771 tracing.EndSpan(ctx, sc, err) 11772 }() 11773 } 11774 iter.i++ 11775 if iter.i < len(iter.page.Values()) { 11776 return nil 11777 } 11778 err = iter.page.NextWithContext(ctx) 11779 if err != nil { 11780 iter.i-- 11781 return err 11782 } 11783 iter.i = 0 11784 return nil 11785} 11786 11787// Next advances to the next value. If there was an error making 11788// the request the iterator does not advance and the error is returned. 11789// Deprecated: Use NextWithContext() instead. 11790func (iter *IdentifierCollectionIterator) Next() error { 11791 return iter.NextWithContext(context.Background()) 11792} 11793 11794// NotDone returns true if the enumeration should be started or is not yet complete. 11795func (iter IdentifierCollectionIterator) NotDone() bool { 11796 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 11797} 11798 11799// Response returns the raw server response from the last page request. 11800func (iter IdentifierCollectionIterator) Response() IdentifierCollection { 11801 return iter.page.Response() 11802} 11803 11804// Value returns the current value or a zero-initialized value if the 11805// iterator has advanced beyond the end of the collection. 11806func (iter IdentifierCollectionIterator) Value() Identifier { 11807 if !iter.page.NotDone() { 11808 return Identifier{} 11809 } 11810 return iter.page.Values()[iter.i] 11811} 11812 11813// Creates a new instance of the IdentifierCollectionIterator type. 11814func NewIdentifierCollectionIterator(page IdentifierCollectionPage) IdentifierCollectionIterator { 11815 return IdentifierCollectionIterator{page: page} 11816} 11817 11818// IsEmpty returns true if the ListResult contains no values. 11819func (ic IdentifierCollection) IsEmpty() bool { 11820 return ic.Value == nil || len(*ic.Value) == 0 11821} 11822 11823// hasNextLink returns true if the NextLink is not empty. 11824func (ic IdentifierCollection) hasNextLink() bool { 11825 return ic.NextLink != nil && len(*ic.NextLink) != 0 11826} 11827 11828// identifierCollectionPreparer prepares a request to retrieve the next set of results. 11829// It returns nil if no more results exist. 11830func (ic IdentifierCollection) identifierCollectionPreparer(ctx context.Context) (*http.Request, error) { 11831 if !ic.hasNextLink() { 11832 return nil, nil 11833 } 11834 return autorest.Prepare((&http.Request{}).WithContext(ctx), 11835 autorest.AsJSON(), 11836 autorest.AsGet(), 11837 autorest.WithBaseURL(to.String(ic.NextLink))) 11838} 11839 11840// IdentifierCollectionPage contains a page of Identifier values. 11841type IdentifierCollectionPage struct { 11842 fn func(context.Context, IdentifierCollection) (IdentifierCollection, error) 11843 ic IdentifierCollection 11844} 11845 11846// NextWithContext advances to the next page of values. If there was an error making 11847// the request the page does not advance and the error is returned. 11848func (page *IdentifierCollectionPage) NextWithContext(ctx context.Context) (err error) { 11849 if tracing.IsEnabled() { 11850 ctx = tracing.StartSpan(ctx, fqdn+"/IdentifierCollectionPage.NextWithContext") 11851 defer func() { 11852 sc := -1 11853 if page.Response().Response.Response != nil { 11854 sc = page.Response().Response.Response.StatusCode 11855 } 11856 tracing.EndSpan(ctx, sc, err) 11857 }() 11858 } 11859 for { 11860 next, err := page.fn(ctx, page.ic) 11861 if err != nil { 11862 return err 11863 } 11864 page.ic = next 11865 if !next.hasNextLink() || !next.IsEmpty() { 11866 break 11867 } 11868 } 11869 return nil 11870} 11871 11872// Next advances to the next page of values. If there was an error making 11873// the request the page does not advance and the error is returned. 11874// Deprecated: Use NextWithContext() instead. 11875func (page *IdentifierCollectionPage) Next() error { 11876 return page.NextWithContext(context.Background()) 11877} 11878 11879// NotDone returns true if the page enumeration should be started or is not yet complete. 11880func (page IdentifierCollectionPage) NotDone() bool { 11881 return !page.ic.IsEmpty() 11882} 11883 11884// Response returns the raw server response from the last page request. 11885func (page IdentifierCollectionPage) Response() IdentifierCollection { 11886 return page.ic 11887} 11888 11889// Values returns the slice of values for the current page or nil if there are no values. 11890func (page IdentifierCollectionPage) Values() []Identifier { 11891 if page.ic.IsEmpty() { 11892 return nil 11893 } 11894 return *page.ic.Value 11895} 11896 11897// Creates a new instance of the IdentifierCollectionPage type. 11898func NewIdentifierCollectionPage(cur IdentifierCollection, getNextPage func(context.Context, IdentifierCollection) (IdentifierCollection, error)) IdentifierCollectionPage { 11899 return IdentifierCollectionPage{ 11900 fn: getNextPage, 11901 ic: cur, 11902 } 11903} 11904 11905// IdentifierProperties identifier resource specific properties 11906type IdentifierProperties struct { 11907 // ID - String representation of the identity. 11908 ID *string `json:"id,omitempty"` 11909} 11910 11911// InboundEnvironmentEndpoint the IP Addresses and Ports that require inbound network access to and within 11912// the subnet of the App Service Environment. 11913type InboundEnvironmentEndpoint struct { 11914 // Description - Short text describing the purpose of the network traffic. 11915 Description *string `json:"description,omitempty"` 11916 // Endpoints - The IP addresses that network traffic will originate from in cidr notation. 11917 Endpoints *[]string `json:"endpoints,omitempty"` 11918 // Ports - The ports that network traffic will arrive to the App Service Environment at. 11919 Ports *[]string `json:"ports,omitempty"` 11920} 11921 11922// InboundEnvironmentEndpointCollection collection of Inbound Environment Endpoints 11923type InboundEnvironmentEndpointCollection struct { 11924 autorest.Response `json:"-"` 11925 // Value - Collection of resources. 11926 Value *[]InboundEnvironmentEndpoint `json:"value,omitempty"` 11927 // NextLink - READ-ONLY; Link to next page of resources. 11928 NextLink *string `json:"nextLink,omitempty"` 11929} 11930 11931// MarshalJSON is the custom marshaler for InboundEnvironmentEndpointCollection. 11932func (ieec InboundEnvironmentEndpointCollection) MarshalJSON() ([]byte, error) { 11933 objectMap := make(map[string]interface{}) 11934 if ieec.Value != nil { 11935 objectMap["value"] = ieec.Value 11936 } 11937 return json.Marshal(objectMap) 11938} 11939 11940// InboundEnvironmentEndpointCollectionIterator provides access to a complete listing of 11941// InboundEnvironmentEndpoint values. 11942type InboundEnvironmentEndpointCollectionIterator struct { 11943 i int 11944 page InboundEnvironmentEndpointCollectionPage 11945} 11946 11947// NextWithContext advances to the next value. If there was an error making 11948// the request the iterator does not advance and the error is returned. 11949func (iter *InboundEnvironmentEndpointCollectionIterator) NextWithContext(ctx context.Context) (err error) { 11950 if tracing.IsEnabled() { 11951 ctx = tracing.StartSpan(ctx, fqdn+"/InboundEnvironmentEndpointCollectionIterator.NextWithContext") 11952 defer func() { 11953 sc := -1 11954 if iter.Response().Response.Response != nil { 11955 sc = iter.Response().Response.Response.StatusCode 11956 } 11957 tracing.EndSpan(ctx, sc, err) 11958 }() 11959 } 11960 iter.i++ 11961 if iter.i < len(iter.page.Values()) { 11962 return nil 11963 } 11964 err = iter.page.NextWithContext(ctx) 11965 if err != nil { 11966 iter.i-- 11967 return err 11968 } 11969 iter.i = 0 11970 return nil 11971} 11972 11973// Next advances to the next value. If there was an error making 11974// the request the iterator does not advance and the error is returned. 11975// Deprecated: Use NextWithContext() instead. 11976func (iter *InboundEnvironmentEndpointCollectionIterator) Next() error { 11977 return iter.NextWithContext(context.Background()) 11978} 11979 11980// NotDone returns true if the enumeration should be started or is not yet complete. 11981func (iter InboundEnvironmentEndpointCollectionIterator) NotDone() bool { 11982 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 11983} 11984 11985// Response returns the raw server response from the last page request. 11986func (iter InboundEnvironmentEndpointCollectionIterator) Response() InboundEnvironmentEndpointCollection { 11987 return iter.page.Response() 11988} 11989 11990// Value returns the current value or a zero-initialized value if the 11991// iterator has advanced beyond the end of the collection. 11992func (iter InboundEnvironmentEndpointCollectionIterator) Value() InboundEnvironmentEndpoint { 11993 if !iter.page.NotDone() { 11994 return InboundEnvironmentEndpoint{} 11995 } 11996 return iter.page.Values()[iter.i] 11997} 11998 11999// Creates a new instance of the InboundEnvironmentEndpointCollectionIterator type. 12000func NewInboundEnvironmentEndpointCollectionIterator(page InboundEnvironmentEndpointCollectionPage) InboundEnvironmentEndpointCollectionIterator { 12001 return InboundEnvironmentEndpointCollectionIterator{page: page} 12002} 12003 12004// IsEmpty returns true if the ListResult contains no values. 12005func (ieec InboundEnvironmentEndpointCollection) IsEmpty() bool { 12006 return ieec.Value == nil || len(*ieec.Value) == 0 12007} 12008 12009// hasNextLink returns true if the NextLink is not empty. 12010func (ieec InboundEnvironmentEndpointCollection) hasNextLink() bool { 12011 return ieec.NextLink != nil && len(*ieec.NextLink) != 0 12012} 12013 12014// inboundEnvironmentEndpointCollectionPreparer prepares a request to retrieve the next set of results. 12015// It returns nil if no more results exist. 12016func (ieec InboundEnvironmentEndpointCollection) inboundEnvironmentEndpointCollectionPreparer(ctx context.Context) (*http.Request, error) { 12017 if !ieec.hasNextLink() { 12018 return nil, nil 12019 } 12020 return autorest.Prepare((&http.Request{}).WithContext(ctx), 12021 autorest.AsJSON(), 12022 autorest.AsGet(), 12023 autorest.WithBaseURL(to.String(ieec.NextLink))) 12024} 12025 12026// InboundEnvironmentEndpointCollectionPage contains a page of InboundEnvironmentEndpoint values. 12027type InboundEnvironmentEndpointCollectionPage struct { 12028 fn func(context.Context, InboundEnvironmentEndpointCollection) (InboundEnvironmentEndpointCollection, error) 12029 ieec InboundEnvironmentEndpointCollection 12030} 12031 12032// NextWithContext advances to the next page of values. If there was an error making 12033// the request the page does not advance and the error is returned. 12034func (page *InboundEnvironmentEndpointCollectionPage) NextWithContext(ctx context.Context) (err error) { 12035 if tracing.IsEnabled() { 12036 ctx = tracing.StartSpan(ctx, fqdn+"/InboundEnvironmentEndpointCollectionPage.NextWithContext") 12037 defer func() { 12038 sc := -1 12039 if page.Response().Response.Response != nil { 12040 sc = page.Response().Response.Response.StatusCode 12041 } 12042 tracing.EndSpan(ctx, sc, err) 12043 }() 12044 } 12045 for { 12046 next, err := page.fn(ctx, page.ieec) 12047 if err != nil { 12048 return err 12049 } 12050 page.ieec = next 12051 if !next.hasNextLink() || !next.IsEmpty() { 12052 break 12053 } 12054 } 12055 return nil 12056} 12057 12058// Next advances to the next page of values. If there was an error making 12059// the request the page does not advance and the error is returned. 12060// Deprecated: Use NextWithContext() instead. 12061func (page *InboundEnvironmentEndpointCollectionPage) Next() error { 12062 return page.NextWithContext(context.Background()) 12063} 12064 12065// NotDone returns true if the page enumeration should be started or is not yet complete. 12066func (page InboundEnvironmentEndpointCollectionPage) NotDone() bool { 12067 return !page.ieec.IsEmpty() 12068} 12069 12070// Response returns the raw server response from the last page request. 12071func (page InboundEnvironmentEndpointCollectionPage) Response() InboundEnvironmentEndpointCollection { 12072 return page.ieec 12073} 12074 12075// Values returns the slice of values for the current page or nil if there are no values. 12076func (page InboundEnvironmentEndpointCollectionPage) Values() []InboundEnvironmentEndpoint { 12077 if page.ieec.IsEmpty() { 12078 return nil 12079 } 12080 return *page.ieec.Value 12081} 12082 12083// Creates a new instance of the InboundEnvironmentEndpointCollectionPage type. 12084func NewInboundEnvironmentEndpointCollectionPage(cur InboundEnvironmentEndpointCollection, getNextPage func(context.Context, InboundEnvironmentEndpointCollection) (InboundEnvironmentEndpointCollection, error)) InboundEnvironmentEndpointCollectionPage { 12085 return InboundEnvironmentEndpointCollectionPage{ 12086 fn: getNextPage, 12087 ieec: cur, 12088 } 12089} 12090 12091// IPSecurityRestriction IP security restriction on an app. 12092type IPSecurityRestriction struct { 12093 // IPAddress - IP address the security restriction is valid for. 12094 // It can be in form of pure ipv4 address (required SubnetMask property) or 12095 // CIDR notation such as ipv4/mask (leading bit match). For CIDR, 12096 // SubnetMask property must not be specified. 12097 IPAddress *string `json:"ipAddress,omitempty"` 12098 // SubnetMask - Subnet mask for the range of IP addresses the restriction is valid for. 12099 SubnetMask *string `json:"subnetMask,omitempty"` 12100 // VnetSubnetResourceID - Virtual network resource id 12101 VnetSubnetResourceID *string `json:"vnetSubnetResourceId,omitempty"` 12102 // VnetTrafficTag - (internal) Vnet traffic tag 12103 VnetTrafficTag *int32 `json:"vnetTrafficTag,omitempty"` 12104 // SubnetTrafficTag - (internal) Subnet traffic tag 12105 SubnetTrafficTag *int32 `json:"subnetTrafficTag,omitempty"` 12106 // Action - Allow or Deny access for this IP range. 12107 Action *string `json:"action,omitempty"` 12108 // Tag - Defines what this IP filter will be used for. This is to support IP filtering on proxies. Possible values include: 'Default', 'XffProxy' 12109 Tag IPFilterTag `json:"tag,omitempty"` 12110 // Priority - Priority of IP restriction rule. 12111 Priority *int32 `json:"priority,omitempty"` 12112 // Name - IP restriction rule name. 12113 Name *string `json:"name,omitempty"` 12114 // Description - IP restriction rule description. 12115 Description *string `json:"description,omitempty"` 12116} 12117 12118// Job web Job Information. 12119type Job struct { 12120 autorest.Response `json:"-"` 12121 // JobProperties - WebJob resource specific properties 12122 *JobProperties `json:"properties,omitempty"` 12123 // ID - READ-ONLY; Resource Id. 12124 ID *string `json:"id,omitempty"` 12125 // Name - READ-ONLY; Resource Name. 12126 Name *string `json:"name,omitempty"` 12127 // Kind - Kind of resource. 12128 Kind *string `json:"kind,omitempty"` 12129 // Type - READ-ONLY; Resource type. 12130 Type *string `json:"type,omitempty"` 12131} 12132 12133// MarshalJSON is the custom marshaler for Job. 12134func (j Job) MarshalJSON() ([]byte, error) { 12135 objectMap := make(map[string]interface{}) 12136 if j.JobProperties != nil { 12137 objectMap["properties"] = j.JobProperties 12138 } 12139 if j.Kind != nil { 12140 objectMap["kind"] = j.Kind 12141 } 12142 return json.Marshal(objectMap) 12143} 12144 12145// UnmarshalJSON is the custom unmarshaler for Job struct. 12146func (j *Job) UnmarshalJSON(body []byte) error { 12147 var m map[string]*json.RawMessage 12148 err := json.Unmarshal(body, &m) 12149 if err != nil { 12150 return err 12151 } 12152 for k, v := range m { 12153 switch k { 12154 case "properties": 12155 if v != nil { 12156 var jobProperties JobProperties 12157 err = json.Unmarshal(*v, &jobProperties) 12158 if err != nil { 12159 return err 12160 } 12161 j.JobProperties = &jobProperties 12162 } 12163 case "id": 12164 if v != nil { 12165 var ID string 12166 err = json.Unmarshal(*v, &ID) 12167 if err != nil { 12168 return err 12169 } 12170 j.ID = &ID 12171 } 12172 case "name": 12173 if v != nil { 12174 var name string 12175 err = json.Unmarshal(*v, &name) 12176 if err != nil { 12177 return err 12178 } 12179 j.Name = &name 12180 } 12181 case "kind": 12182 if v != nil { 12183 var kind string 12184 err = json.Unmarshal(*v, &kind) 12185 if err != nil { 12186 return err 12187 } 12188 j.Kind = &kind 12189 } 12190 case "type": 12191 if v != nil { 12192 var typeVar string 12193 err = json.Unmarshal(*v, &typeVar) 12194 if err != nil { 12195 return err 12196 } 12197 j.Type = &typeVar 12198 } 12199 } 12200 } 12201 12202 return nil 12203} 12204 12205// JobCollection collection of Kudu web job information elements. 12206type JobCollection struct { 12207 autorest.Response `json:"-"` 12208 // Value - Collection of resources. 12209 Value *[]Job `json:"value,omitempty"` 12210 // NextLink - READ-ONLY; Link to next page of resources. 12211 NextLink *string `json:"nextLink,omitempty"` 12212} 12213 12214// MarshalJSON is the custom marshaler for JobCollection. 12215func (jc JobCollection) MarshalJSON() ([]byte, error) { 12216 objectMap := make(map[string]interface{}) 12217 if jc.Value != nil { 12218 objectMap["value"] = jc.Value 12219 } 12220 return json.Marshal(objectMap) 12221} 12222 12223// JobCollectionIterator provides access to a complete listing of Job values. 12224type JobCollectionIterator struct { 12225 i int 12226 page JobCollectionPage 12227} 12228 12229// NextWithContext advances to the next value. If there was an error making 12230// the request the iterator does not advance and the error is returned. 12231func (iter *JobCollectionIterator) NextWithContext(ctx context.Context) (err error) { 12232 if tracing.IsEnabled() { 12233 ctx = tracing.StartSpan(ctx, fqdn+"/JobCollectionIterator.NextWithContext") 12234 defer func() { 12235 sc := -1 12236 if iter.Response().Response.Response != nil { 12237 sc = iter.Response().Response.Response.StatusCode 12238 } 12239 tracing.EndSpan(ctx, sc, err) 12240 }() 12241 } 12242 iter.i++ 12243 if iter.i < len(iter.page.Values()) { 12244 return nil 12245 } 12246 err = iter.page.NextWithContext(ctx) 12247 if err != nil { 12248 iter.i-- 12249 return err 12250 } 12251 iter.i = 0 12252 return nil 12253} 12254 12255// Next advances to the next value. If there was an error making 12256// the request the iterator does not advance and the error is returned. 12257// Deprecated: Use NextWithContext() instead. 12258func (iter *JobCollectionIterator) Next() error { 12259 return iter.NextWithContext(context.Background()) 12260} 12261 12262// NotDone returns true if the enumeration should be started or is not yet complete. 12263func (iter JobCollectionIterator) NotDone() bool { 12264 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 12265} 12266 12267// Response returns the raw server response from the last page request. 12268func (iter JobCollectionIterator) Response() JobCollection { 12269 return iter.page.Response() 12270} 12271 12272// Value returns the current value or a zero-initialized value if the 12273// iterator has advanced beyond the end of the collection. 12274func (iter JobCollectionIterator) Value() Job { 12275 if !iter.page.NotDone() { 12276 return Job{} 12277 } 12278 return iter.page.Values()[iter.i] 12279} 12280 12281// Creates a new instance of the JobCollectionIterator type. 12282func NewJobCollectionIterator(page JobCollectionPage) JobCollectionIterator { 12283 return JobCollectionIterator{page: page} 12284} 12285 12286// IsEmpty returns true if the ListResult contains no values. 12287func (jc JobCollection) IsEmpty() bool { 12288 return jc.Value == nil || len(*jc.Value) == 0 12289} 12290 12291// hasNextLink returns true if the NextLink is not empty. 12292func (jc JobCollection) hasNextLink() bool { 12293 return jc.NextLink != nil && len(*jc.NextLink) != 0 12294} 12295 12296// jobCollectionPreparer prepares a request to retrieve the next set of results. 12297// It returns nil if no more results exist. 12298func (jc JobCollection) jobCollectionPreparer(ctx context.Context) (*http.Request, error) { 12299 if !jc.hasNextLink() { 12300 return nil, nil 12301 } 12302 return autorest.Prepare((&http.Request{}).WithContext(ctx), 12303 autorest.AsJSON(), 12304 autorest.AsGet(), 12305 autorest.WithBaseURL(to.String(jc.NextLink))) 12306} 12307 12308// JobCollectionPage contains a page of Job values. 12309type JobCollectionPage struct { 12310 fn func(context.Context, JobCollection) (JobCollection, error) 12311 jc JobCollection 12312} 12313 12314// NextWithContext advances to the next page of values. If there was an error making 12315// the request the page does not advance and the error is returned. 12316func (page *JobCollectionPage) NextWithContext(ctx context.Context) (err error) { 12317 if tracing.IsEnabled() { 12318 ctx = tracing.StartSpan(ctx, fqdn+"/JobCollectionPage.NextWithContext") 12319 defer func() { 12320 sc := -1 12321 if page.Response().Response.Response != nil { 12322 sc = page.Response().Response.Response.StatusCode 12323 } 12324 tracing.EndSpan(ctx, sc, err) 12325 }() 12326 } 12327 for { 12328 next, err := page.fn(ctx, page.jc) 12329 if err != nil { 12330 return err 12331 } 12332 page.jc = next 12333 if !next.hasNextLink() || !next.IsEmpty() { 12334 break 12335 } 12336 } 12337 return nil 12338} 12339 12340// Next advances to the next page of values. If there was an error making 12341// the request the page does not advance and the error is returned. 12342// Deprecated: Use NextWithContext() instead. 12343func (page *JobCollectionPage) Next() error { 12344 return page.NextWithContext(context.Background()) 12345} 12346 12347// NotDone returns true if the page enumeration should be started or is not yet complete. 12348func (page JobCollectionPage) NotDone() bool { 12349 return !page.jc.IsEmpty() 12350} 12351 12352// Response returns the raw server response from the last page request. 12353func (page JobCollectionPage) Response() JobCollection { 12354 return page.jc 12355} 12356 12357// Values returns the slice of values for the current page or nil if there are no values. 12358func (page JobCollectionPage) Values() []Job { 12359 if page.jc.IsEmpty() { 12360 return nil 12361 } 12362 return *page.jc.Value 12363} 12364 12365// Creates a new instance of the JobCollectionPage type. 12366func NewJobCollectionPage(cur JobCollection, getNextPage func(context.Context, JobCollection) (JobCollection, error)) JobCollectionPage { 12367 return JobCollectionPage{ 12368 fn: getNextPage, 12369 jc: cur, 12370 } 12371} 12372 12373// JobProperties webJob resource specific properties 12374type JobProperties struct { 12375 // RunCommand - Run command. 12376 RunCommand *string `json:"run_command,omitempty"` 12377 // URL - Job URL. 12378 URL *string `json:"url,omitempty"` 12379 // ExtraInfoURL - Extra Info URL. 12380 ExtraInfoURL *string `json:"extra_info_url,omitempty"` 12381 // WebJobType - Job type. Possible values include: 'Continuous', 'Triggered' 12382 WebJobType JobType `json:"web_job_type,omitempty"` 12383 // Error - Error information. 12384 Error *string `json:"error,omitempty"` 12385 // UsingSdk - Using SDK? 12386 UsingSdk *bool `json:"using_sdk,omitempty"` 12387 // Settings - Job settings. 12388 Settings map[string]interface{} `json:"settings"` 12389} 12390 12391// MarshalJSON is the custom marshaler for JobProperties. 12392func (j JobProperties) MarshalJSON() ([]byte, error) { 12393 objectMap := make(map[string]interface{}) 12394 if j.RunCommand != nil { 12395 objectMap["run_command"] = j.RunCommand 12396 } 12397 if j.URL != nil { 12398 objectMap["url"] = j.URL 12399 } 12400 if j.ExtraInfoURL != nil { 12401 objectMap["extra_info_url"] = j.ExtraInfoURL 12402 } 12403 if j.WebJobType != "" { 12404 objectMap["web_job_type"] = j.WebJobType 12405 } 12406 if j.Error != nil { 12407 objectMap["error"] = j.Error 12408 } 12409 if j.UsingSdk != nil { 12410 objectMap["using_sdk"] = j.UsingSdk 12411 } 12412 if j.Settings != nil { 12413 objectMap["settings"] = j.Settings 12414 } 12415 return json.Marshal(objectMap) 12416} 12417 12418// KeyInfo function key info. 12419type KeyInfo struct { 12420 autorest.Response `json:"-"` 12421 // Name - Key name 12422 Name *string `json:"name,omitempty"` 12423 // Value - Key value 12424 Value *string `json:"value,omitempty"` 12425} 12426 12427// ListCapability ... 12428type ListCapability struct { 12429 autorest.Response `json:"-"` 12430 Value *[]Capability `json:"value,omitempty"` 12431} 12432 12433// ListCertificateEmail ... 12434type ListCertificateEmail struct { 12435 autorest.Response `json:"-"` 12436 Value *[]CertificateEmail `json:"value,omitempty"` 12437} 12438 12439// ListCertificateOrderAction ... 12440type ListCertificateOrderAction struct { 12441 autorest.Response `json:"-"` 12442 Value *[]CertificateOrderAction `json:"value,omitempty"` 12443} 12444 12445// ListHostingEnvironmentDiagnostics ... 12446type ListHostingEnvironmentDiagnostics struct { 12447 autorest.Response `json:"-"` 12448 Value *[]HostingEnvironmentDiagnostics `json:"value,omitempty"` 12449} 12450 12451// ListNetworkTrace ... 12452type ListNetworkTrace struct { 12453 autorest.Response `json:"-"` 12454 Value *[]NetworkTrace `json:"value,omitempty"` 12455} 12456 12457// ListOperation ... 12458type ListOperation struct { 12459 autorest.Response `json:"-"` 12460 Value *[]Operation `json:"value,omitempty"` 12461} 12462 12463// ListVnetInfo ... 12464type ListVnetInfo struct { 12465 autorest.Response `json:"-"` 12466 Value *[]VnetInfo `json:"value,omitempty"` 12467} 12468 12469// ListVnetRoute ... 12470type ListVnetRoute struct { 12471 autorest.Response `json:"-"` 12472 Value *[]VnetRoute `json:"value,omitempty"` 12473} 12474 12475// LocalizableString localizable string object containing the name and a localized value. 12476type LocalizableString struct { 12477 // Value - Non-localized name. 12478 Value *string `json:"value,omitempty"` 12479 // LocalizedValue - Localized name. 12480 LocalizedValue *string `json:"localizedValue,omitempty"` 12481} 12482 12483// LogSpecification log Definition of a single resource metric. 12484type LogSpecification struct { 12485 Name *string `json:"name,omitempty"` 12486 DisplayName *string `json:"displayName,omitempty"` 12487 BlobDuration *string `json:"blobDuration,omitempty"` 12488} 12489 12490// ManagedServiceIdentity managed service identity. 12491type ManagedServiceIdentity struct { 12492 // Type - Type of managed service identity. Possible values include: 'ManagedServiceIdentityTypeSystemAssigned', 'ManagedServiceIdentityTypeUserAssigned', 'ManagedServiceIdentityTypeSystemAssignedUserAssigned', 'ManagedServiceIdentityTypeNone' 12493 Type ManagedServiceIdentityType `json:"type,omitempty"` 12494 // TenantID - READ-ONLY; Tenant of managed service identity. 12495 TenantID *string `json:"tenantId,omitempty"` 12496 // PrincipalID - READ-ONLY; Principal Id of managed service identity. 12497 PrincipalID *string `json:"principalId,omitempty"` 12498 // UserAssignedIdentities - The list of user assigned identities associated with the resource. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName} 12499 UserAssignedIdentities map[string]*ManagedServiceIdentityUserAssignedIdentitiesValue `json:"userAssignedIdentities"` 12500} 12501 12502// MarshalJSON is the custom marshaler for ManagedServiceIdentity. 12503func (msi ManagedServiceIdentity) MarshalJSON() ([]byte, error) { 12504 objectMap := make(map[string]interface{}) 12505 if msi.Type != "" { 12506 objectMap["type"] = msi.Type 12507 } 12508 if msi.UserAssignedIdentities != nil { 12509 objectMap["userAssignedIdentities"] = msi.UserAssignedIdentities 12510 } 12511 return json.Marshal(objectMap) 12512} 12513 12514// ManagedServiceIdentityUserAssignedIdentitiesValue ... 12515type ManagedServiceIdentityUserAssignedIdentitiesValue struct { 12516 // PrincipalID - READ-ONLY; Principal Id of user assigned identity 12517 PrincipalID *string `json:"principalId,omitempty"` 12518 // ClientID - READ-ONLY; Client Id of user assigned identity 12519 ClientID *string `json:"clientId,omitempty"` 12520} 12521 12522// MarshalJSON is the custom marshaler for ManagedServiceIdentityUserAssignedIdentitiesValue. 12523func (msiAiv ManagedServiceIdentityUserAssignedIdentitiesValue) MarshalJSON() ([]byte, error) { 12524 objectMap := make(map[string]interface{}) 12525 return json.Marshal(objectMap) 12526} 12527 12528// MetricAvailabilily metric availability and retention. 12529type MetricAvailabilily struct { 12530 // TimeGrain - Time grain. 12531 TimeGrain *string `json:"timeGrain,omitempty"` 12532 // Retention - Retention period for the current time grain. 12533 Retention *string `json:"retention,omitempty"` 12534} 12535 12536// MetricAvailability retention policy of a resource metric. 12537type MetricAvailability struct { 12538 TimeGrain *string `json:"timeGrain,omitempty"` 12539 BlobDuration *string `json:"blobDuration,omitempty"` 12540} 12541 12542// MetricDefinition metadata for a metric. 12543type MetricDefinition struct { 12544 autorest.Response `json:"-"` 12545 // MetricDefinitionProperties - MetricDefinition resource specific properties 12546 *MetricDefinitionProperties `json:"properties,omitempty"` 12547 // ID - READ-ONLY; Resource Id. 12548 ID *string `json:"id,omitempty"` 12549 // Name - READ-ONLY; Resource Name. 12550 Name *string `json:"name,omitempty"` 12551 // Kind - Kind of resource. 12552 Kind *string `json:"kind,omitempty"` 12553 // Type - READ-ONLY; Resource type. 12554 Type *string `json:"type,omitempty"` 12555} 12556 12557// MarshalJSON is the custom marshaler for MetricDefinition. 12558func (md MetricDefinition) MarshalJSON() ([]byte, error) { 12559 objectMap := make(map[string]interface{}) 12560 if md.MetricDefinitionProperties != nil { 12561 objectMap["properties"] = md.MetricDefinitionProperties 12562 } 12563 if md.Kind != nil { 12564 objectMap["kind"] = md.Kind 12565 } 12566 return json.Marshal(objectMap) 12567} 12568 12569// UnmarshalJSON is the custom unmarshaler for MetricDefinition struct. 12570func (md *MetricDefinition) UnmarshalJSON(body []byte) error { 12571 var m map[string]*json.RawMessage 12572 err := json.Unmarshal(body, &m) 12573 if err != nil { 12574 return err 12575 } 12576 for k, v := range m { 12577 switch k { 12578 case "properties": 12579 if v != nil { 12580 var metricDefinitionProperties MetricDefinitionProperties 12581 err = json.Unmarshal(*v, &metricDefinitionProperties) 12582 if err != nil { 12583 return err 12584 } 12585 md.MetricDefinitionProperties = &metricDefinitionProperties 12586 } 12587 case "id": 12588 if v != nil { 12589 var ID string 12590 err = json.Unmarshal(*v, &ID) 12591 if err != nil { 12592 return err 12593 } 12594 md.ID = &ID 12595 } 12596 case "name": 12597 if v != nil { 12598 var name string 12599 err = json.Unmarshal(*v, &name) 12600 if err != nil { 12601 return err 12602 } 12603 md.Name = &name 12604 } 12605 case "kind": 12606 if v != nil { 12607 var kind string 12608 err = json.Unmarshal(*v, &kind) 12609 if err != nil { 12610 return err 12611 } 12612 md.Kind = &kind 12613 } 12614 case "type": 12615 if v != nil { 12616 var typeVar string 12617 err = json.Unmarshal(*v, &typeVar) 12618 if err != nil { 12619 return err 12620 } 12621 md.Type = &typeVar 12622 } 12623 } 12624 } 12625 12626 return nil 12627} 12628 12629// MetricDefinitionProperties metricDefinition resource specific properties 12630type MetricDefinitionProperties struct { 12631 // Unit - READ-ONLY; Unit of the metric. 12632 Unit *string `json:"unit,omitempty"` 12633 // PrimaryAggregationType - READ-ONLY; Primary aggregation type. 12634 PrimaryAggregationType *string `json:"primaryAggregationType,omitempty"` 12635 // MetricAvailabilities - READ-ONLY; List of time grains supported for the metric together with retention period. 12636 MetricAvailabilities *[]MetricAvailabilily `json:"metricAvailabilities,omitempty"` 12637 // DisplayName - READ-ONLY; Friendly name shown in the UI. 12638 DisplayName *string `json:"displayName,omitempty"` 12639} 12640 12641// MarshalJSON is the custom marshaler for MetricDefinitionProperties. 12642func (md MetricDefinitionProperties) MarshalJSON() ([]byte, error) { 12643 objectMap := make(map[string]interface{}) 12644 return json.Marshal(objectMap) 12645} 12646 12647// MetricSpecification definition of a single resource metric. 12648type MetricSpecification struct { 12649 Name *string `json:"name,omitempty"` 12650 DisplayName *string `json:"displayName,omitempty"` 12651 DisplayDescription *string `json:"displayDescription,omitempty"` 12652 Unit *string `json:"unit,omitempty"` 12653 AggregationType *string `json:"aggregationType,omitempty"` 12654 SupportsInstanceLevelAggregation *bool `json:"supportsInstanceLevelAggregation,omitempty"` 12655 EnableRegionalMdmAccount *bool `json:"enableRegionalMdmAccount,omitempty"` 12656 SourceMdmAccount *string `json:"sourceMdmAccount,omitempty"` 12657 SourceMdmNamespace *string `json:"sourceMdmNamespace,omitempty"` 12658 MetricFilterPattern *string `json:"metricFilterPattern,omitempty"` 12659 FillGapWithZero *bool `json:"fillGapWithZero,omitempty"` 12660 IsInternal *bool `json:"isInternal,omitempty"` 12661 Dimensions *[]Dimension `json:"dimensions,omitempty"` 12662 Category *string `json:"category,omitempty"` 12663 Availabilities *[]MetricAvailability `json:"availabilities,omitempty"` 12664} 12665 12666// MigrateMySQLRequest mySQL migration request. 12667type MigrateMySQLRequest struct { 12668 // MigrateMySQLRequestProperties - MigrateMySqlRequest resource specific properties 12669 *MigrateMySQLRequestProperties `json:"properties,omitempty"` 12670 // ID - READ-ONLY; Resource Id. 12671 ID *string `json:"id,omitempty"` 12672 // Name - READ-ONLY; Resource Name. 12673 Name *string `json:"name,omitempty"` 12674 // Kind - Kind of resource. 12675 Kind *string `json:"kind,omitempty"` 12676 // Type - READ-ONLY; Resource type. 12677 Type *string `json:"type,omitempty"` 12678} 12679 12680// MarshalJSON is the custom marshaler for MigrateMySQLRequest. 12681func (mmsr MigrateMySQLRequest) MarshalJSON() ([]byte, error) { 12682 objectMap := make(map[string]interface{}) 12683 if mmsr.MigrateMySQLRequestProperties != nil { 12684 objectMap["properties"] = mmsr.MigrateMySQLRequestProperties 12685 } 12686 if mmsr.Kind != nil { 12687 objectMap["kind"] = mmsr.Kind 12688 } 12689 return json.Marshal(objectMap) 12690} 12691 12692// UnmarshalJSON is the custom unmarshaler for MigrateMySQLRequest struct. 12693func (mmsr *MigrateMySQLRequest) UnmarshalJSON(body []byte) error { 12694 var m map[string]*json.RawMessage 12695 err := json.Unmarshal(body, &m) 12696 if err != nil { 12697 return err 12698 } 12699 for k, v := range m { 12700 switch k { 12701 case "properties": 12702 if v != nil { 12703 var migrateMySQLRequestProperties MigrateMySQLRequestProperties 12704 err = json.Unmarshal(*v, &migrateMySQLRequestProperties) 12705 if err != nil { 12706 return err 12707 } 12708 mmsr.MigrateMySQLRequestProperties = &migrateMySQLRequestProperties 12709 } 12710 case "id": 12711 if v != nil { 12712 var ID string 12713 err = json.Unmarshal(*v, &ID) 12714 if err != nil { 12715 return err 12716 } 12717 mmsr.ID = &ID 12718 } 12719 case "name": 12720 if v != nil { 12721 var name string 12722 err = json.Unmarshal(*v, &name) 12723 if err != nil { 12724 return err 12725 } 12726 mmsr.Name = &name 12727 } 12728 case "kind": 12729 if v != nil { 12730 var kind string 12731 err = json.Unmarshal(*v, &kind) 12732 if err != nil { 12733 return err 12734 } 12735 mmsr.Kind = &kind 12736 } 12737 case "type": 12738 if v != nil { 12739 var typeVar string 12740 err = json.Unmarshal(*v, &typeVar) 12741 if err != nil { 12742 return err 12743 } 12744 mmsr.Type = &typeVar 12745 } 12746 } 12747 } 12748 12749 return nil 12750} 12751 12752// MigrateMySQLRequestProperties migrateMySqlRequest resource specific properties 12753type MigrateMySQLRequestProperties struct { 12754 // ConnectionString - Connection string to the remote MySQL database. 12755 ConnectionString *string `json:"connectionString,omitempty"` 12756 // MigrationType - The type of migration operation to be done. Possible values include: 'LocalToRemote', 'RemoteToLocal' 12757 MigrationType MySQLMigrationType `json:"migrationType,omitempty"` 12758} 12759 12760// MigrateMySQLStatus mySQL migration status. 12761type MigrateMySQLStatus struct { 12762 autorest.Response `json:"-"` 12763 // MigrateMySQLStatusProperties - MigrateMySqlStatus resource specific properties 12764 *MigrateMySQLStatusProperties `json:"properties,omitempty"` 12765 // ID - READ-ONLY; Resource Id. 12766 ID *string `json:"id,omitempty"` 12767 // Name - READ-ONLY; Resource Name. 12768 Name *string `json:"name,omitempty"` 12769 // Kind - Kind of resource. 12770 Kind *string `json:"kind,omitempty"` 12771 // Type - READ-ONLY; Resource type. 12772 Type *string `json:"type,omitempty"` 12773} 12774 12775// MarshalJSON is the custom marshaler for MigrateMySQLStatus. 12776func (mmss MigrateMySQLStatus) MarshalJSON() ([]byte, error) { 12777 objectMap := make(map[string]interface{}) 12778 if mmss.MigrateMySQLStatusProperties != nil { 12779 objectMap["properties"] = mmss.MigrateMySQLStatusProperties 12780 } 12781 if mmss.Kind != nil { 12782 objectMap["kind"] = mmss.Kind 12783 } 12784 return json.Marshal(objectMap) 12785} 12786 12787// UnmarshalJSON is the custom unmarshaler for MigrateMySQLStatus struct. 12788func (mmss *MigrateMySQLStatus) UnmarshalJSON(body []byte) error { 12789 var m map[string]*json.RawMessage 12790 err := json.Unmarshal(body, &m) 12791 if err != nil { 12792 return err 12793 } 12794 for k, v := range m { 12795 switch k { 12796 case "properties": 12797 if v != nil { 12798 var migrateMySQLStatusProperties MigrateMySQLStatusProperties 12799 err = json.Unmarshal(*v, &migrateMySQLStatusProperties) 12800 if err != nil { 12801 return err 12802 } 12803 mmss.MigrateMySQLStatusProperties = &migrateMySQLStatusProperties 12804 } 12805 case "id": 12806 if v != nil { 12807 var ID string 12808 err = json.Unmarshal(*v, &ID) 12809 if err != nil { 12810 return err 12811 } 12812 mmss.ID = &ID 12813 } 12814 case "name": 12815 if v != nil { 12816 var name string 12817 err = json.Unmarshal(*v, &name) 12818 if err != nil { 12819 return err 12820 } 12821 mmss.Name = &name 12822 } 12823 case "kind": 12824 if v != nil { 12825 var kind string 12826 err = json.Unmarshal(*v, &kind) 12827 if err != nil { 12828 return err 12829 } 12830 mmss.Kind = &kind 12831 } 12832 case "type": 12833 if v != nil { 12834 var typeVar string 12835 err = json.Unmarshal(*v, &typeVar) 12836 if err != nil { 12837 return err 12838 } 12839 mmss.Type = &typeVar 12840 } 12841 } 12842 } 12843 12844 return nil 12845} 12846 12847// MigrateMySQLStatusProperties migrateMySqlStatus resource specific properties 12848type MigrateMySQLStatusProperties struct { 12849 // MigrationOperationStatus - READ-ONLY; Status of the migration task. Possible values include: 'OperationStatusInProgress', 'OperationStatusFailed', 'OperationStatusSucceeded', 'OperationStatusTimedOut', 'OperationStatusCreated' 12850 MigrationOperationStatus OperationStatus `json:"migrationOperationStatus,omitempty"` 12851 // OperationID - READ-ONLY; Operation ID for the migration task. 12852 OperationID *string `json:"operationId,omitempty"` 12853 // LocalMySQLEnabled - READ-ONLY; True if the web app has in app MySql enabled 12854 LocalMySQLEnabled *bool `json:"localMySqlEnabled,omitempty"` 12855} 12856 12857// MarshalJSON is the custom marshaler for MigrateMySQLStatusProperties. 12858func (mmss MigrateMySQLStatusProperties) MarshalJSON() ([]byte, error) { 12859 objectMap := make(map[string]interface{}) 12860 return json.Marshal(objectMap) 12861} 12862 12863// MSDeploy mSDeploy ARM PUT information 12864type MSDeploy struct { 12865 // MSDeployCore - Core resource properties 12866 *MSDeployCore `json:"properties,omitempty"` 12867 // ID - READ-ONLY; Resource Id. 12868 ID *string `json:"id,omitempty"` 12869 // Name - READ-ONLY; Resource Name. 12870 Name *string `json:"name,omitempty"` 12871 // Kind - Kind of resource. 12872 Kind *string `json:"kind,omitempty"` 12873 // Type - READ-ONLY; Resource type. 12874 Type *string `json:"type,omitempty"` 12875} 12876 12877// MarshalJSON is the custom marshaler for MSDeploy. 12878func (md MSDeploy) MarshalJSON() ([]byte, error) { 12879 objectMap := make(map[string]interface{}) 12880 if md.MSDeployCore != nil { 12881 objectMap["properties"] = md.MSDeployCore 12882 } 12883 if md.Kind != nil { 12884 objectMap["kind"] = md.Kind 12885 } 12886 return json.Marshal(objectMap) 12887} 12888 12889// UnmarshalJSON is the custom unmarshaler for MSDeploy struct. 12890func (md *MSDeploy) UnmarshalJSON(body []byte) error { 12891 var m map[string]*json.RawMessage 12892 err := json.Unmarshal(body, &m) 12893 if err != nil { 12894 return err 12895 } 12896 for k, v := range m { 12897 switch k { 12898 case "properties": 12899 if v != nil { 12900 var mSDeployCore MSDeployCore 12901 err = json.Unmarshal(*v, &mSDeployCore) 12902 if err != nil { 12903 return err 12904 } 12905 md.MSDeployCore = &mSDeployCore 12906 } 12907 case "id": 12908 if v != nil { 12909 var ID string 12910 err = json.Unmarshal(*v, &ID) 12911 if err != nil { 12912 return err 12913 } 12914 md.ID = &ID 12915 } 12916 case "name": 12917 if v != nil { 12918 var name string 12919 err = json.Unmarshal(*v, &name) 12920 if err != nil { 12921 return err 12922 } 12923 md.Name = &name 12924 } 12925 case "kind": 12926 if v != nil { 12927 var kind string 12928 err = json.Unmarshal(*v, &kind) 12929 if err != nil { 12930 return err 12931 } 12932 md.Kind = &kind 12933 } 12934 case "type": 12935 if v != nil { 12936 var typeVar string 12937 err = json.Unmarshal(*v, &typeVar) 12938 if err != nil { 12939 return err 12940 } 12941 md.Type = &typeVar 12942 } 12943 } 12944 } 12945 12946 return nil 12947} 12948 12949// MSDeployCore mSDeploy ARM PUT core information 12950type MSDeployCore struct { 12951 // PackageURI - Package URI 12952 PackageURI *string `json:"packageUri,omitempty"` 12953 // ConnectionString - SQL Connection String 12954 ConnectionString *string `json:"connectionString,omitempty"` 12955 // DbType - Database Type 12956 DbType *string `json:"dbType,omitempty"` 12957 // SetParametersXMLFileURI - URI of MSDeploy Parameters file. Must not be set if SetParameters is used. 12958 SetParametersXMLFileURI *string `json:"setParametersXmlFileUri,omitempty"` 12959 // SetParameters - MSDeploy Parameters. Must not be set if SetParametersXmlFileUri is used. 12960 SetParameters map[string]*string `json:"setParameters"` 12961 // SkipAppData - Controls whether the MSDeploy operation skips the App_Data directory. 12962 // If set to <code>true</code>, the existing App_Data directory on the destination 12963 // will not be deleted, and any App_Data directory in the source will be ignored. 12964 // Setting is <code>false</code> by default. 12965 SkipAppData *bool `json:"skipAppData,omitempty"` 12966 // AppOffline - Sets the AppOffline rule while the MSDeploy operation executes. 12967 // Setting is <code>false</code> by default. 12968 AppOffline *bool `json:"appOffline,omitempty"` 12969} 12970 12971// MarshalJSON is the custom marshaler for MSDeployCore. 12972func (mdc MSDeployCore) MarshalJSON() ([]byte, error) { 12973 objectMap := make(map[string]interface{}) 12974 if mdc.PackageURI != nil { 12975 objectMap["packageUri"] = mdc.PackageURI 12976 } 12977 if mdc.ConnectionString != nil { 12978 objectMap["connectionString"] = mdc.ConnectionString 12979 } 12980 if mdc.DbType != nil { 12981 objectMap["dbType"] = mdc.DbType 12982 } 12983 if mdc.SetParametersXMLFileURI != nil { 12984 objectMap["setParametersXmlFileUri"] = mdc.SetParametersXMLFileURI 12985 } 12986 if mdc.SetParameters != nil { 12987 objectMap["setParameters"] = mdc.SetParameters 12988 } 12989 if mdc.SkipAppData != nil { 12990 objectMap["skipAppData"] = mdc.SkipAppData 12991 } 12992 if mdc.AppOffline != nil { 12993 objectMap["appOffline"] = mdc.AppOffline 12994 } 12995 return json.Marshal(objectMap) 12996} 12997 12998// MSDeployLog mSDeploy log 12999type MSDeployLog struct { 13000 autorest.Response `json:"-"` 13001 // MSDeployLogProperties - MSDeployLog resource specific properties 13002 *MSDeployLogProperties `json:"properties,omitempty"` 13003 // ID - READ-ONLY; Resource Id. 13004 ID *string `json:"id,omitempty"` 13005 // Name - READ-ONLY; Resource Name. 13006 Name *string `json:"name,omitempty"` 13007 // Kind - Kind of resource. 13008 Kind *string `json:"kind,omitempty"` 13009 // Type - READ-ONLY; Resource type. 13010 Type *string `json:"type,omitempty"` 13011} 13012 13013// MarshalJSON is the custom marshaler for MSDeployLog. 13014func (mdl MSDeployLog) MarshalJSON() ([]byte, error) { 13015 objectMap := make(map[string]interface{}) 13016 if mdl.MSDeployLogProperties != nil { 13017 objectMap["properties"] = mdl.MSDeployLogProperties 13018 } 13019 if mdl.Kind != nil { 13020 objectMap["kind"] = mdl.Kind 13021 } 13022 return json.Marshal(objectMap) 13023} 13024 13025// UnmarshalJSON is the custom unmarshaler for MSDeployLog struct. 13026func (mdl *MSDeployLog) UnmarshalJSON(body []byte) error { 13027 var m map[string]*json.RawMessage 13028 err := json.Unmarshal(body, &m) 13029 if err != nil { 13030 return err 13031 } 13032 for k, v := range m { 13033 switch k { 13034 case "properties": 13035 if v != nil { 13036 var mSDeployLogProperties MSDeployLogProperties 13037 err = json.Unmarshal(*v, &mSDeployLogProperties) 13038 if err != nil { 13039 return err 13040 } 13041 mdl.MSDeployLogProperties = &mSDeployLogProperties 13042 } 13043 case "id": 13044 if v != nil { 13045 var ID string 13046 err = json.Unmarshal(*v, &ID) 13047 if err != nil { 13048 return err 13049 } 13050 mdl.ID = &ID 13051 } 13052 case "name": 13053 if v != nil { 13054 var name string 13055 err = json.Unmarshal(*v, &name) 13056 if err != nil { 13057 return err 13058 } 13059 mdl.Name = &name 13060 } 13061 case "kind": 13062 if v != nil { 13063 var kind string 13064 err = json.Unmarshal(*v, &kind) 13065 if err != nil { 13066 return err 13067 } 13068 mdl.Kind = &kind 13069 } 13070 case "type": 13071 if v != nil { 13072 var typeVar string 13073 err = json.Unmarshal(*v, &typeVar) 13074 if err != nil { 13075 return err 13076 } 13077 mdl.Type = &typeVar 13078 } 13079 } 13080 } 13081 13082 return nil 13083} 13084 13085// MSDeployLogEntry mSDeploy log entry 13086type MSDeployLogEntry struct { 13087 // Time - READ-ONLY; Timestamp of log entry 13088 Time *date.Time `json:"time,omitempty"` 13089 // Type - READ-ONLY; Log entry type. Possible values include: 'MSDeployLogEntryTypeMessage', 'MSDeployLogEntryTypeWarning', 'MSDeployLogEntryTypeError' 13090 Type MSDeployLogEntryType `json:"type,omitempty"` 13091 // Message - READ-ONLY; Log entry message 13092 Message *string `json:"message,omitempty"` 13093} 13094 13095// MarshalJSON is the custom marshaler for MSDeployLogEntry. 13096func (mdle MSDeployLogEntry) MarshalJSON() ([]byte, error) { 13097 objectMap := make(map[string]interface{}) 13098 return json.Marshal(objectMap) 13099} 13100 13101// MSDeployLogProperties mSDeployLog resource specific properties 13102type MSDeployLogProperties struct { 13103 // Entries - READ-ONLY; List of log entry messages 13104 Entries *[]MSDeployLogEntry `json:"entries,omitempty"` 13105} 13106 13107// MarshalJSON is the custom marshaler for MSDeployLogProperties. 13108func (mdl MSDeployLogProperties) MarshalJSON() ([]byte, error) { 13109 objectMap := make(map[string]interface{}) 13110 return json.Marshal(objectMap) 13111} 13112 13113// MSDeployStatus mSDeploy ARM response 13114type MSDeployStatus struct { 13115 autorest.Response `json:"-"` 13116 // MSDeployStatusProperties - MSDeployStatus resource specific properties 13117 *MSDeployStatusProperties `json:"properties,omitempty"` 13118 // ID - READ-ONLY; Resource Id. 13119 ID *string `json:"id,omitempty"` 13120 // Name - READ-ONLY; Resource Name. 13121 Name *string `json:"name,omitempty"` 13122 // Kind - Kind of resource. 13123 Kind *string `json:"kind,omitempty"` 13124 // Type - READ-ONLY; Resource type. 13125 Type *string `json:"type,omitempty"` 13126} 13127 13128// MarshalJSON is the custom marshaler for MSDeployStatus. 13129func (mds MSDeployStatus) MarshalJSON() ([]byte, error) { 13130 objectMap := make(map[string]interface{}) 13131 if mds.MSDeployStatusProperties != nil { 13132 objectMap["properties"] = mds.MSDeployStatusProperties 13133 } 13134 if mds.Kind != nil { 13135 objectMap["kind"] = mds.Kind 13136 } 13137 return json.Marshal(objectMap) 13138} 13139 13140// UnmarshalJSON is the custom unmarshaler for MSDeployStatus struct. 13141func (mds *MSDeployStatus) UnmarshalJSON(body []byte) error { 13142 var m map[string]*json.RawMessage 13143 err := json.Unmarshal(body, &m) 13144 if err != nil { 13145 return err 13146 } 13147 for k, v := range m { 13148 switch k { 13149 case "properties": 13150 if v != nil { 13151 var mSDeployStatusProperties MSDeployStatusProperties 13152 err = json.Unmarshal(*v, &mSDeployStatusProperties) 13153 if err != nil { 13154 return err 13155 } 13156 mds.MSDeployStatusProperties = &mSDeployStatusProperties 13157 } 13158 case "id": 13159 if v != nil { 13160 var ID string 13161 err = json.Unmarshal(*v, &ID) 13162 if err != nil { 13163 return err 13164 } 13165 mds.ID = &ID 13166 } 13167 case "name": 13168 if v != nil { 13169 var name string 13170 err = json.Unmarshal(*v, &name) 13171 if err != nil { 13172 return err 13173 } 13174 mds.Name = &name 13175 } 13176 case "kind": 13177 if v != nil { 13178 var kind string 13179 err = json.Unmarshal(*v, &kind) 13180 if err != nil { 13181 return err 13182 } 13183 mds.Kind = &kind 13184 } 13185 case "type": 13186 if v != nil { 13187 var typeVar string 13188 err = json.Unmarshal(*v, &typeVar) 13189 if err != nil { 13190 return err 13191 } 13192 mds.Type = &typeVar 13193 } 13194 } 13195 } 13196 13197 return nil 13198} 13199 13200// MSDeployStatusProperties mSDeployStatus resource specific properties 13201type MSDeployStatusProperties struct { 13202 // Deployer - READ-ONLY; Username of deployer 13203 Deployer *string `json:"deployer,omitempty"` 13204 // ProvisioningState - READ-ONLY; Provisioning state. Possible values include: 'MSDeployProvisioningStateAccepted', 'MSDeployProvisioningStateRunning', 'MSDeployProvisioningStateSucceeded', 'MSDeployProvisioningStateFailed', 'MSDeployProvisioningStateCanceled' 13205 ProvisioningState MSDeployProvisioningState `json:"provisioningState,omitempty"` 13206 // StartTime - READ-ONLY; Start time of deploy operation 13207 StartTime *date.Time `json:"startTime,omitempty"` 13208 // EndTime - READ-ONLY; End time of deploy operation 13209 EndTime *date.Time `json:"endTime,omitempty"` 13210 // Complete - READ-ONLY; Whether the deployment operation has completed 13211 Complete *bool `json:"complete,omitempty"` 13212} 13213 13214// MarshalJSON is the custom marshaler for MSDeployStatusProperties. 13215func (mds MSDeployStatusProperties) MarshalJSON() ([]byte, error) { 13216 objectMap := make(map[string]interface{}) 13217 return json.Marshal(objectMap) 13218} 13219 13220// NameIdentifier identifies an object. 13221type NameIdentifier struct { 13222 // Name - Name of the object. 13223 Name *string `json:"name,omitempty"` 13224} 13225 13226// NameIdentifierCollection collection of domain name identifiers. 13227type NameIdentifierCollection struct { 13228 autorest.Response `json:"-"` 13229 // Value - Collection of resources. 13230 Value *[]NameIdentifier `json:"value,omitempty"` 13231 // NextLink - READ-ONLY; Link to next page of resources. 13232 NextLink *string `json:"nextLink,omitempty"` 13233} 13234 13235// MarshalJSON is the custom marshaler for NameIdentifierCollection. 13236func (nic NameIdentifierCollection) MarshalJSON() ([]byte, error) { 13237 objectMap := make(map[string]interface{}) 13238 if nic.Value != nil { 13239 objectMap["value"] = nic.Value 13240 } 13241 return json.Marshal(objectMap) 13242} 13243 13244// NameIdentifierCollectionIterator provides access to a complete listing of NameIdentifier values. 13245type NameIdentifierCollectionIterator struct { 13246 i int 13247 page NameIdentifierCollectionPage 13248} 13249 13250// NextWithContext advances to the next value. If there was an error making 13251// the request the iterator does not advance and the error is returned. 13252func (iter *NameIdentifierCollectionIterator) NextWithContext(ctx context.Context) (err error) { 13253 if tracing.IsEnabled() { 13254 ctx = tracing.StartSpan(ctx, fqdn+"/NameIdentifierCollectionIterator.NextWithContext") 13255 defer func() { 13256 sc := -1 13257 if iter.Response().Response.Response != nil { 13258 sc = iter.Response().Response.Response.StatusCode 13259 } 13260 tracing.EndSpan(ctx, sc, err) 13261 }() 13262 } 13263 iter.i++ 13264 if iter.i < len(iter.page.Values()) { 13265 return nil 13266 } 13267 err = iter.page.NextWithContext(ctx) 13268 if err != nil { 13269 iter.i-- 13270 return err 13271 } 13272 iter.i = 0 13273 return nil 13274} 13275 13276// Next advances to the next value. If there was an error making 13277// the request the iterator does not advance and the error is returned. 13278// Deprecated: Use NextWithContext() instead. 13279func (iter *NameIdentifierCollectionIterator) Next() error { 13280 return iter.NextWithContext(context.Background()) 13281} 13282 13283// NotDone returns true if the enumeration should be started or is not yet complete. 13284func (iter NameIdentifierCollectionIterator) NotDone() bool { 13285 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 13286} 13287 13288// Response returns the raw server response from the last page request. 13289func (iter NameIdentifierCollectionIterator) Response() NameIdentifierCollection { 13290 return iter.page.Response() 13291} 13292 13293// Value returns the current value or a zero-initialized value if the 13294// iterator has advanced beyond the end of the collection. 13295func (iter NameIdentifierCollectionIterator) Value() NameIdentifier { 13296 if !iter.page.NotDone() { 13297 return NameIdentifier{} 13298 } 13299 return iter.page.Values()[iter.i] 13300} 13301 13302// Creates a new instance of the NameIdentifierCollectionIterator type. 13303func NewNameIdentifierCollectionIterator(page NameIdentifierCollectionPage) NameIdentifierCollectionIterator { 13304 return NameIdentifierCollectionIterator{page: page} 13305} 13306 13307// IsEmpty returns true if the ListResult contains no values. 13308func (nic NameIdentifierCollection) IsEmpty() bool { 13309 return nic.Value == nil || len(*nic.Value) == 0 13310} 13311 13312// hasNextLink returns true if the NextLink is not empty. 13313func (nic NameIdentifierCollection) hasNextLink() bool { 13314 return nic.NextLink != nil && len(*nic.NextLink) != 0 13315} 13316 13317// nameIdentifierCollectionPreparer prepares a request to retrieve the next set of results. 13318// It returns nil if no more results exist. 13319func (nic NameIdentifierCollection) nameIdentifierCollectionPreparer(ctx context.Context) (*http.Request, error) { 13320 if !nic.hasNextLink() { 13321 return nil, nil 13322 } 13323 return autorest.Prepare((&http.Request{}).WithContext(ctx), 13324 autorest.AsJSON(), 13325 autorest.AsGet(), 13326 autorest.WithBaseURL(to.String(nic.NextLink))) 13327} 13328 13329// NameIdentifierCollectionPage contains a page of NameIdentifier values. 13330type NameIdentifierCollectionPage struct { 13331 fn func(context.Context, NameIdentifierCollection) (NameIdentifierCollection, error) 13332 nic NameIdentifierCollection 13333} 13334 13335// NextWithContext advances to the next page of values. If there was an error making 13336// the request the page does not advance and the error is returned. 13337func (page *NameIdentifierCollectionPage) NextWithContext(ctx context.Context) (err error) { 13338 if tracing.IsEnabled() { 13339 ctx = tracing.StartSpan(ctx, fqdn+"/NameIdentifierCollectionPage.NextWithContext") 13340 defer func() { 13341 sc := -1 13342 if page.Response().Response.Response != nil { 13343 sc = page.Response().Response.Response.StatusCode 13344 } 13345 tracing.EndSpan(ctx, sc, err) 13346 }() 13347 } 13348 for { 13349 next, err := page.fn(ctx, page.nic) 13350 if err != nil { 13351 return err 13352 } 13353 page.nic = next 13354 if !next.hasNextLink() || !next.IsEmpty() { 13355 break 13356 } 13357 } 13358 return nil 13359} 13360 13361// Next advances to the next page of values. If there was an error making 13362// the request the page does not advance and the error is returned. 13363// Deprecated: Use NextWithContext() instead. 13364func (page *NameIdentifierCollectionPage) Next() error { 13365 return page.NextWithContext(context.Background()) 13366} 13367 13368// NotDone returns true if the page enumeration should be started or is not yet complete. 13369func (page NameIdentifierCollectionPage) NotDone() bool { 13370 return !page.nic.IsEmpty() 13371} 13372 13373// Response returns the raw server response from the last page request. 13374func (page NameIdentifierCollectionPage) Response() NameIdentifierCollection { 13375 return page.nic 13376} 13377 13378// Values returns the slice of values for the current page or nil if there are no values. 13379func (page NameIdentifierCollectionPage) Values() []NameIdentifier { 13380 if page.nic.IsEmpty() { 13381 return nil 13382 } 13383 return *page.nic.Value 13384} 13385 13386// Creates a new instance of the NameIdentifierCollectionPage type. 13387func NewNameIdentifierCollectionPage(cur NameIdentifierCollection, getNextPage func(context.Context, NameIdentifierCollection) (NameIdentifierCollection, error)) NameIdentifierCollectionPage { 13388 return NameIdentifierCollectionPage{ 13389 fn: getNextPage, 13390 nic: cur, 13391 } 13392} 13393 13394// NameValuePair name value pair. 13395type NameValuePair struct { 13396 // Name - Pair name. 13397 Name *string `json:"name,omitempty"` 13398 // Value - Pair value. 13399 Value *string `json:"value,omitempty"` 13400} 13401 13402// NetworkAccessControlEntry network access control entry. 13403type NetworkAccessControlEntry struct { 13404 // Action - Action object. Possible values include: 'Permit', 'Deny' 13405 Action AccessControlEntryAction `json:"action,omitempty"` 13406 // Description - Description of network access control entry. 13407 Description *string `json:"description,omitempty"` 13408 // Order - Order of precedence. 13409 Order *int32 `json:"order,omitempty"` 13410 // RemoteSubnet - Remote subnet. 13411 RemoteSubnet *string `json:"remoteSubnet,omitempty"` 13412} 13413 13414// NetworkFeatures full view of network features for an app (presently VNET integration and Hybrid 13415// Connections). 13416type NetworkFeatures struct { 13417 autorest.Response `json:"-"` 13418 // NetworkFeaturesProperties - NetworkFeatures resource specific properties 13419 *NetworkFeaturesProperties `json:"properties,omitempty"` 13420 // ID - READ-ONLY; Resource Id. 13421 ID *string `json:"id,omitempty"` 13422 // Name - READ-ONLY; Resource Name. 13423 Name *string `json:"name,omitempty"` 13424 // Kind - Kind of resource. 13425 Kind *string `json:"kind,omitempty"` 13426 // Type - READ-ONLY; Resource type. 13427 Type *string `json:"type,omitempty"` 13428} 13429 13430// MarshalJSON is the custom marshaler for NetworkFeatures. 13431func (nf NetworkFeatures) MarshalJSON() ([]byte, error) { 13432 objectMap := make(map[string]interface{}) 13433 if nf.NetworkFeaturesProperties != nil { 13434 objectMap["properties"] = nf.NetworkFeaturesProperties 13435 } 13436 if nf.Kind != nil { 13437 objectMap["kind"] = nf.Kind 13438 } 13439 return json.Marshal(objectMap) 13440} 13441 13442// UnmarshalJSON is the custom unmarshaler for NetworkFeatures struct. 13443func (nf *NetworkFeatures) UnmarshalJSON(body []byte) error { 13444 var m map[string]*json.RawMessage 13445 err := json.Unmarshal(body, &m) 13446 if err != nil { 13447 return err 13448 } 13449 for k, v := range m { 13450 switch k { 13451 case "properties": 13452 if v != nil { 13453 var networkFeaturesProperties NetworkFeaturesProperties 13454 err = json.Unmarshal(*v, &networkFeaturesProperties) 13455 if err != nil { 13456 return err 13457 } 13458 nf.NetworkFeaturesProperties = &networkFeaturesProperties 13459 } 13460 case "id": 13461 if v != nil { 13462 var ID string 13463 err = json.Unmarshal(*v, &ID) 13464 if err != nil { 13465 return err 13466 } 13467 nf.ID = &ID 13468 } 13469 case "name": 13470 if v != nil { 13471 var name string 13472 err = json.Unmarshal(*v, &name) 13473 if err != nil { 13474 return err 13475 } 13476 nf.Name = &name 13477 } 13478 case "kind": 13479 if v != nil { 13480 var kind string 13481 err = json.Unmarshal(*v, &kind) 13482 if err != nil { 13483 return err 13484 } 13485 nf.Kind = &kind 13486 } 13487 case "type": 13488 if v != nil { 13489 var typeVar string 13490 err = json.Unmarshal(*v, &typeVar) 13491 if err != nil { 13492 return err 13493 } 13494 nf.Type = &typeVar 13495 } 13496 } 13497 } 13498 13499 return nil 13500} 13501 13502// NetworkFeaturesProperties networkFeatures resource specific properties 13503type NetworkFeaturesProperties struct { 13504 // VirtualNetworkName - READ-ONLY; The Virtual Network name. 13505 VirtualNetworkName *string `json:"virtualNetworkName,omitempty"` 13506 // VirtualNetworkConnection - READ-ONLY; The Virtual Network summary view. 13507 VirtualNetworkConnection *VnetInfo `json:"virtualNetworkConnection,omitempty"` 13508 // HybridConnections - READ-ONLY; The Hybrid Connections summary view. 13509 HybridConnections *[]RelayServiceConnectionEntity `json:"hybridConnections,omitempty"` 13510 // HybridConnectionsV2 - READ-ONLY; The Hybrid Connection V2 (Service Bus) view. 13511 HybridConnectionsV2 *[]HybridConnection `json:"hybridConnectionsV2,omitempty"` 13512} 13513 13514// MarshalJSON is the custom marshaler for NetworkFeaturesProperties. 13515func (nf NetworkFeaturesProperties) MarshalJSON() ([]byte, error) { 13516 objectMap := make(map[string]interface{}) 13517 return json.Marshal(objectMap) 13518} 13519 13520// NetworkTrace network trace 13521type NetworkTrace struct { 13522 // Path - Local file path for the captured network trace file. 13523 Path *string `json:"path,omitempty"` 13524 // Status - Current status of the network trace operation, same as Operation.Status (InProgress/Succeeded/Failed). 13525 Status *string `json:"status,omitempty"` 13526 // Message - Detailed message of a network trace operation, e.g. error message in case of failure. 13527 Message *string `json:"message,omitempty"` 13528} 13529 13530// Operation an operation on a resource. 13531type Operation struct { 13532 autorest.Response `json:"-"` 13533 // ID - Operation ID. 13534 ID *string `json:"id,omitempty"` 13535 // Name - Operation name. 13536 Name *string `json:"name,omitempty"` 13537 // Status - The current status of the operation. Possible values include: 'OperationStatusInProgress', 'OperationStatusFailed', 'OperationStatusSucceeded', 'OperationStatusTimedOut', 'OperationStatusCreated' 13538 Status OperationStatus `json:"status,omitempty"` 13539 // Errors - Any errors associate with the operation. 13540 Errors *[]ErrorEntity `json:"errors,omitempty"` 13541 // CreatedTime - Time when operation has started. 13542 CreatedTime *date.Time `json:"createdTime,omitempty"` 13543 // ModifiedTime - Time when operation has been updated. 13544 ModifiedTime *date.Time `json:"modifiedTime,omitempty"` 13545 // ExpirationTime - Time when operation will expire. 13546 ExpirationTime *date.Time `json:"expirationTime,omitempty"` 13547 // GeoMasterOperationID - Applicable only for stamp operation ids. 13548 GeoMasterOperationID *uuid.UUID `json:"geoMasterOperationId,omitempty"` 13549} 13550 13551// OutboundEnvironmentEndpoint endpoints accessed for a common purpose that the App Service Environment 13552// requires outbound network access to. 13553type OutboundEnvironmentEndpoint struct { 13554 // Category - The type of service accessed by the App Service Environment, e.g., Azure Storage, Azure SQL Database, and Azure Active Directory. 13555 Category *string `json:"category,omitempty"` 13556 // Endpoints - The endpoints that the App Service Environment reaches the service at. 13557 Endpoints *[]EndpointDependency `json:"endpoints,omitempty"` 13558} 13559 13560// OutboundEnvironmentEndpointCollection collection of Outbound Environment Endpoints 13561type OutboundEnvironmentEndpointCollection struct { 13562 autorest.Response `json:"-"` 13563 // Value - Collection of resources. 13564 Value *[]OutboundEnvironmentEndpoint `json:"value,omitempty"` 13565 // NextLink - READ-ONLY; Link to next page of resources. 13566 NextLink *string `json:"nextLink,omitempty"` 13567} 13568 13569// MarshalJSON is the custom marshaler for OutboundEnvironmentEndpointCollection. 13570func (oeec OutboundEnvironmentEndpointCollection) MarshalJSON() ([]byte, error) { 13571 objectMap := make(map[string]interface{}) 13572 if oeec.Value != nil { 13573 objectMap["value"] = oeec.Value 13574 } 13575 return json.Marshal(objectMap) 13576} 13577 13578// OutboundEnvironmentEndpointCollectionIterator provides access to a complete listing of 13579// OutboundEnvironmentEndpoint values. 13580type OutboundEnvironmentEndpointCollectionIterator struct { 13581 i int 13582 page OutboundEnvironmentEndpointCollectionPage 13583} 13584 13585// NextWithContext advances to the next value. If there was an error making 13586// the request the iterator does not advance and the error is returned. 13587func (iter *OutboundEnvironmentEndpointCollectionIterator) NextWithContext(ctx context.Context) (err error) { 13588 if tracing.IsEnabled() { 13589 ctx = tracing.StartSpan(ctx, fqdn+"/OutboundEnvironmentEndpointCollectionIterator.NextWithContext") 13590 defer func() { 13591 sc := -1 13592 if iter.Response().Response.Response != nil { 13593 sc = iter.Response().Response.Response.StatusCode 13594 } 13595 tracing.EndSpan(ctx, sc, err) 13596 }() 13597 } 13598 iter.i++ 13599 if iter.i < len(iter.page.Values()) { 13600 return nil 13601 } 13602 err = iter.page.NextWithContext(ctx) 13603 if err != nil { 13604 iter.i-- 13605 return err 13606 } 13607 iter.i = 0 13608 return nil 13609} 13610 13611// Next advances to the next value. If there was an error making 13612// the request the iterator does not advance and the error is returned. 13613// Deprecated: Use NextWithContext() instead. 13614func (iter *OutboundEnvironmentEndpointCollectionIterator) Next() error { 13615 return iter.NextWithContext(context.Background()) 13616} 13617 13618// NotDone returns true if the enumeration should be started or is not yet complete. 13619func (iter OutboundEnvironmentEndpointCollectionIterator) NotDone() bool { 13620 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 13621} 13622 13623// Response returns the raw server response from the last page request. 13624func (iter OutboundEnvironmentEndpointCollectionIterator) Response() OutboundEnvironmentEndpointCollection { 13625 return iter.page.Response() 13626} 13627 13628// Value returns the current value or a zero-initialized value if the 13629// iterator has advanced beyond the end of the collection. 13630func (iter OutboundEnvironmentEndpointCollectionIterator) Value() OutboundEnvironmentEndpoint { 13631 if !iter.page.NotDone() { 13632 return OutboundEnvironmentEndpoint{} 13633 } 13634 return iter.page.Values()[iter.i] 13635} 13636 13637// Creates a new instance of the OutboundEnvironmentEndpointCollectionIterator type. 13638func NewOutboundEnvironmentEndpointCollectionIterator(page OutboundEnvironmentEndpointCollectionPage) OutboundEnvironmentEndpointCollectionIterator { 13639 return OutboundEnvironmentEndpointCollectionIterator{page: page} 13640} 13641 13642// IsEmpty returns true if the ListResult contains no values. 13643func (oeec OutboundEnvironmentEndpointCollection) IsEmpty() bool { 13644 return oeec.Value == nil || len(*oeec.Value) == 0 13645} 13646 13647// hasNextLink returns true if the NextLink is not empty. 13648func (oeec OutboundEnvironmentEndpointCollection) hasNextLink() bool { 13649 return oeec.NextLink != nil && len(*oeec.NextLink) != 0 13650} 13651 13652// outboundEnvironmentEndpointCollectionPreparer prepares a request to retrieve the next set of results. 13653// It returns nil if no more results exist. 13654func (oeec OutboundEnvironmentEndpointCollection) outboundEnvironmentEndpointCollectionPreparer(ctx context.Context) (*http.Request, error) { 13655 if !oeec.hasNextLink() { 13656 return nil, nil 13657 } 13658 return autorest.Prepare((&http.Request{}).WithContext(ctx), 13659 autorest.AsJSON(), 13660 autorest.AsGet(), 13661 autorest.WithBaseURL(to.String(oeec.NextLink))) 13662} 13663 13664// OutboundEnvironmentEndpointCollectionPage contains a page of OutboundEnvironmentEndpoint values. 13665type OutboundEnvironmentEndpointCollectionPage struct { 13666 fn func(context.Context, OutboundEnvironmentEndpointCollection) (OutboundEnvironmentEndpointCollection, error) 13667 oeec OutboundEnvironmentEndpointCollection 13668} 13669 13670// NextWithContext advances to the next page of values. If there was an error making 13671// the request the page does not advance and the error is returned. 13672func (page *OutboundEnvironmentEndpointCollectionPage) NextWithContext(ctx context.Context) (err error) { 13673 if tracing.IsEnabled() { 13674 ctx = tracing.StartSpan(ctx, fqdn+"/OutboundEnvironmentEndpointCollectionPage.NextWithContext") 13675 defer func() { 13676 sc := -1 13677 if page.Response().Response.Response != nil { 13678 sc = page.Response().Response.Response.StatusCode 13679 } 13680 tracing.EndSpan(ctx, sc, err) 13681 }() 13682 } 13683 for { 13684 next, err := page.fn(ctx, page.oeec) 13685 if err != nil { 13686 return err 13687 } 13688 page.oeec = next 13689 if !next.hasNextLink() || !next.IsEmpty() { 13690 break 13691 } 13692 } 13693 return nil 13694} 13695 13696// Next advances to the next page of values. If there was an error making 13697// the request the page does not advance and the error is returned. 13698// Deprecated: Use NextWithContext() instead. 13699func (page *OutboundEnvironmentEndpointCollectionPage) Next() error { 13700 return page.NextWithContext(context.Background()) 13701} 13702 13703// NotDone returns true if the page enumeration should be started or is not yet complete. 13704func (page OutboundEnvironmentEndpointCollectionPage) NotDone() bool { 13705 return !page.oeec.IsEmpty() 13706} 13707 13708// Response returns the raw server response from the last page request. 13709func (page OutboundEnvironmentEndpointCollectionPage) Response() OutboundEnvironmentEndpointCollection { 13710 return page.oeec 13711} 13712 13713// Values returns the slice of values for the current page or nil if there are no values. 13714func (page OutboundEnvironmentEndpointCollectionPage) Values() []OutboundEnvironmentEndpoint { 13715 if page.oeec.IsEmpty() { 13716 return nil 13717 } 13718 return *page.oeec.Value 13719} 13720 13721// Creates a new instance of the OutboundEnvironmentEndpointCollectionPage type. 13722func NewOutboundEnvironmentEndpointCollectionPage(cur OutboundEnvironmentEndpointCollection, getNextPage func(context.Context, OutboundEnvironmentEndpointCollection) (OutboundEnvironmentEndpointCollection, error)) OutboundEnvironmentEndpointCollectionPage { 13723 return OutboundEnvironmentEndpointCollectionPage{ 13724 fn: getNextPage, 13725 oeec: cur, 13726 } 13727} 13728 13729// PerfMonCounterCollection collection of performance monitor counters. 13730type PerfMonCounterCollection struct { 13731 autorest.Response `json:"-"` 13732 // Value - Collection of resources. 13733 Value *[]PerfMonResponse `json:"value,omitempty"` 13734 // NextLink - READ-ONLY; Link to next page of resources. 13735 NextLink *string `json:"nextLink,omitempty"` 13736} 13737 13738// MarshalJSON is the custom marshaler for PerfMonCounterCollection. 13739func (pmcc PerfMonCounterCollection) MarshalJSON() ([]byte, error) { 13740 objectMap := make(map[string]interface{}) 13741 if pmcc.Value != nil { 13742 objectMap["value"] = pmcc.Value 13743 } 13744 return json.Marshal(objectMap) 13745} 13746 13747// PerfMonCounterCollectionIterator provides access to a complete listing of PerfMonResponse values. 13748type PerfMonCounterCollectionIterator struct { 13749 i int 13750 page PerfMonCounterCollectionPage 13751} 13752 13753// NextWithContext advances to the next value. If there was an error making 13754// the request the iterator does not advance and the error is returned. 13755func (iter *PerfMonCounterCollectionIterator) NextWithContext(ctx context.Context) (err error) { 13756 if tracing.IsEnabled() { 13757 ctx = tracing.StartSpan(ctx, fqdn+"/PerfMonCounterCollectionIterator.NextWithContext") 13758 defer func() { 13759 sc := -1 13760 if iter.Response().Response.Response != nil { 13761 sc = iter.Response().Response.Response.StatusCode 13762 } 13763 tracing.EndSpan(ctx, sc, err) 13764 }() 13765 } 13766 iter.i++ 13767 if iter.i < len(iter.page.Values()) { 13768 return nil 13769 } 13770 err = iter.page.NextWithContext(ctx) 13771 if err != nil { 13772 iter.i-- 13773 return err 13774 } 13775 iter.i = 0 13776 return nil 13777} 13778 13779// Next advances to the next value. If there was an error making 13780// the request the iterator does not advance and the error is returned. 13781// Deprecated: Use NextWithContext() instead. 13782func (iter *PerfMonCounterCollectionIterator) Next() error { 13783 return iter.NextWithContext(context.Background()) 13784} 13785 13786// NotDone returns true if the enumeration should be started or is not yet complete. 13787func (iter PerfMonCounterCollectionIterator) NotDone() bool { 13788 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 13789} 13790 13791// Response returns the raw server response from the last page request. 13792func (iter PerfMonCounterCollectionIterator) Response() PerfMonCounterCollection { 13793 return iter.page.Response() 13794} 13795 13796// Value returns the current value or a zero-initialized value if the 13797// iterator has advanced beyond the end of the collection. 13798func (iter PerfMonCounterCollectionIterator) Value() PerfMonResponse { 13799 if !iter.page.NotDone() { 13800 return PerfMonResponse{} 13801 } 13802 return iter.page.Values()[iter.i] 13803} 13804 13805// Creates a new instance of the PerfMonCounterCollectionIterator type. 13806func NewPerfMonCounterCollectionIterator(page PerfMonCounterCollectionPage) PerfMonCounterCollectionIterator { 13807 return PerfMonCounterCollectionIterator{page: page} 13808} 13809 13810// IsEmpty returns true if the ListResult contains no values. 13811func (pmcc PerfMonCounterCollection) IsEmpty() bool { 13812 return pmcc.Value == nil || len(*pmcc.Value) == 0 13813} 13814 13815// hasNextLink returns true if the NextLink is not empty. 13816func (pmcc PerfMonCounterCollection) hasNextLink() bool { 13817 return pmcc.NextLink != nil && len(*pmcc.NextLink) != 0 13818} 13819 13820// perfMonCounterCollectionPreparer prepares a request to retrieve the next set of results. 13821// It returns nil if no more results exist. 13822func (pmcc PerfMonCounterCollection) perfMonCounterCollectionPreparer(ctx context.Context) (*http.Request, error) { 13823 if !pmcc.hasNextLink() { 13824 return nil, nil 13825 } 13826 return autorest.Prepare((&http.Request{}).WithContext(ctx), 13827 autorest.AsJSON(), 13828 autorest.AsGet(), 13829 autorest.WithBaseURL(to.String(pmcc.NextLink))) 13830} 13831 13832// PerfMonCounterCollectionPage contains a page of PerfMonResponse values. 13833type PerfMonCounterCollectionPage struct { 13834 fn func(context.Context, PerfMonCounterCollection) (PerfMonCounterCollection, error) 13835 pmcc PerfMonCounterCollection 13836} 13837 13838// NextWithContext advances to the next page of values. If there was an error making 13839// the request the page does not advance and the error is returned. 13840func (page *PerfMonCounterCollectionPage) NextWithContext(ctx context.Context) (err error) { 13841 if tracing.IsEnabled() { 13842 ctx = tracing.StartSpan(ctx, fqdn+"/PerfMonCounterCollectionPage.NextWithContext") 13843 defer func() { 13844 sc := -1 13845 if page.Response().Response.Response != nil { 13846 sc = page.Response().Response.Response.StatusCode 13847 } 13848 tracing.EndSpan(ctx, sc, err) 13849 }() 13850 } 13851 for { 13852 next, err := page.fn(ctx, page.pmcc) 13853 if err != nil { 13854 return err 13855 } 13856 page.pmcc = next 13857 if !next.hasNextLink() || !next.IsEmpty() { 13858 break 13859 } 13860 } 13861 return nil 13862} 13863 13864// Next advances to the next page of values. If there was an error making 13865// the request the page does not advance and the error is returned. 13866// Deprecated: Use NextWithContext() instead. 13867func (page *PerfMonCounterCollectionPage) Next() error { 13868 return page.NextWithContext(context.Background()) 13869} 13870 13871// NotDone returns true if the page enumeration should be started or is not yet complete. 13872func (page PerfMonCounterCollectionPage) NotDone() bool { 13873 return !page.pmcc.IsEmpty() 13874} 13875 13876// Response returns the raw server response from the last page request. 13877func (page PerfMonCounterCollectionPage) Response() PerfMonCounterCollection { 13878 return page.pmcc 13879} 13880 13881// Values returns the slice of values for the current page or nil if there are no values. 13882func (page PerfMonCounterCollectionPage) Values() []PerfMonResponse { 13883 if page.pmcc.IsEmpty() { 13884 return nil 13885 } 13886 return *page.pmcc.Value 13887} 13888 13889// Creates a new instance of the PerfMonCounterCollectionPage type. 13890func NewPerfMonCounterCollectionPage(cur PerfMonCounterCollection, getNextPage func(context.Context, PerfMonCounterCollection) (PerfMonCounterCollection, error)) PerfMonCounterCollectionPage { 13891 return PerfMonCounterCollectionPage{ 13892 fn: getNextPage, 13893 pmcc: cur, 13894 } 13895} 13896 13897// PerfMonResponse performance monitor API response. 13898type PerfMonResponse struct { 13899 // Code - The response code. 13900 Code *string `json:"code,omitempty"` 13901 // Message - The message. 13902 Message *string `json:"message,omitempty"` 13903 // Data - The performance monitor counters. 13904 Data *PerfMonSet `json:"data,omitempty"` 13905} 13906 13907// PerfMonSample performance monitor sample in a set. 13908type PerfMonSample struct { 13909 // Time - Point in time for which counter was measured. 13910 Time *date.Time `json:"time,omitempty"` 13911 // InstanceName - Name of the server on which the measurement is made. 13912 InstanceName *string `json:"instanceName,omitempty"` 13913 // Value - Value of counter at a certain time. 13914 Value *float64 `json:"value,omitempty"` 13915} 13916 13917// PerfMonSet metric information. 13918type PerfMonSet struct { 13919 // Name - Unique key name of the counter. 13920 Name *string `json:"name,omitempty"` 13921 // StartTime - Start time of the period. 13922 StartTime *date.Time `json:"startTime,omitempty"` 13923 // EndTime - End time of the period. 13924 EndTime *date.Time `json:"endTime,omitempty"` 13925 // TimeGrain - Presented time grain. 13926 TimeGrain *string `json:"timeGrain,omitempty"` 13927 // Values - Collection of workers that are active during this time. 13928 Values *[]PerfMonSample `json:"values,omitempty"` 13929} 13930 13931// PremierAddOn premier add-on. 13932type PremierAddOn struct { 13933 autorest.Response `json:"-"` 13934 // PremierAddOnProperties - PremierAddOn resource specific properties 13935 *PremierAddOnProperties `json:"properties,omitempty"` 13936 // ID - READ-ONLY; Resource Id. 13937 ID *string `json:"id,omitempty"` 13938 // Name - READ-ONLY; Resource Name. 13939 Name *string `json:"name,omitempty"` 13940 // Kind - Kind of resource. 13941 Kind *string `json:"kind,omitempty"` 13942 // Location - Resource Location. 13943 Location *string `json:"location,omitempty"` 13944 // Type - READ-ONLY; Resource type. 13945 Type *string `json:"type,omitempty"` 13946 // Tags - Resource tags. 13947 Tags map[string]*string `json:"tags"` 13948} 13949 13950// MarshalJSON is the custom marshaler for PremierAddOn. 13951func (pao PremierAddOn) MarshalJSON() ([]byte, error) { 13952 objectMap := make(map[string]interface{}) 13953 if pao.PremierAddOnProperties != nil { 13954 objectMap["properties"] = pao.PremierAddOnProperties 13955 } 13956 if pao.Kind != nil { 13957 objectMap["kind"] = pao.Kind 13958 } 13959 if pao.Location != nil { 13960 objectMap["location"] = pao.Location 13961 } 13962 if pao.Tags != nil { 13963 objectMap["tags"] = pao.Tags 13964 } 13965 return json.Marshal(objectMap) 13966} 13967 13968// UnmarshalJSON is the custom unmarshaler for PremierAddOn struct. 13969func (pao *PremierAddOn) UnmarshalJSON(body []byte) error { 13970 var m map[string]*json.RawMessage 13971 err := json.Unmarshal(body, &m) 13972 if err != nil { 13973 return err 13974 } 13975 for k, v := range m { 13976 switch k { 13977 case "properties": 13978 if v != nil { 13979 var premierAddOnProperties PremierAddOnProperties 13980 err = json.Unmarshal(*v, &premierAddOnProperties) 13981 if err != nil { 13982 return err 13983 } 13984 pao.PremierAddOnProperties = &premierAddOnProperties 13985 } 13986 case "id": 13987 if v != nil { 13988 var ID string 13989 err = json.Unmarshal(*v, &ID) 13990 if err != nil { 13991 return err 13992 } 13993 pao.ID = &ID 13994 } 13995 case "name": 13996 if v != nil { 13997 var name string 13998 err = json.Unmarshal(*v, &name) 13999 if err != nil { 14000 return err 14001 } 14002 pao.Name = &name 14003 } 14004 case "kind": 14005 if v != nil { 14006 var kind string 14007 err = json.Unmarshal(*v, &kind) 14008 if err != nil { 14009 return err 14010 } 14011 pao.Kind = &kind 14012 } 14013 case "location": 14014 if v != nil { 14015 var location string 14016 err = json.Unmarshal(*v, &location) 14017 if err != nil { 14018 return err 14019 } 14020 pao.Location = &location 14021 } 14022 case "type": 14023 if v != nil { 14024 var typeVar string 14025 err = json.Unmarshal(*v, &typeVar) 14026 if err != nil { 14027 return err 14028 } 14029 pao.Type = &typeVar 14030 } 14031 case "tags": 14032 if v != nil { 14033 var tags map[string]*string 14034 err = json.Unmarshal(*v, &tags) 14035 if err != nil { 14036 return err 14037 } 14038 pao.Tags = tags 14039 } 14040 } 14041 } 14042 14043 return nil 14044} 14045 14046// PremierAddOnOffer premier add-on offer. 14047type PremierAddOnOffer struct { 14048 // PremierAddOnOfferProperties - PremierAddOnOffer resource specific properties 14049 *PremierAddOnOfferProperties `json:"properties,omitempty"` 14050 // ID - READ-ONLY; Resource Id. 14051 ID *string `json:"id,omitempty"` 14052 // Name - READ-ONLY; Resource Name. 14053 Name *string `json:"name,omitempty"` 14054 // Kind - Kind of resource. 14055 Kind *string `json:"kind,omitempty"` 14056 // Type - READ-ONLY; Resource type. 14057 Type *string `json:"type,omitempty"` 14058} 14059 14060// MarshalJSON is the custom marshaler for PremierAddOnOffer. 14061func (paoo PremierAddOnOffer) MarshalJSON() ([]byte, error) { 14062 objectMap := make(map[string]interface{}) 14063 if paoo.PremierAddOnOfferProperties != nil { 14064 objectMap["properties"] = paoo.PremierAddOnOfferProperties 14065 } 14066 if paoo.Kind != nil { 14067 objectMap["kind"] = paoo.Kind 14068 } 14069 return json.Marshal(objectMap) 14070} 14071 14072// UnmarshalJSON is the custom unmarshaler for PremierAddOnOffer struct. 14073func (paoo *PremierAddOnOffer) UnmarshalJSON(body []byte) error { 14074 var m map[string]*json.RawMessage 14075 err := json.Unmarshal(body, &m) 14076 if err != nil { 14077 return err 14078 } 14079 for k, v := range m { 14080 switch k { 14081 case "properties": 14082 if v != nil { 14083 var premierAddOnOfferProperties PremierAddOnOfferProperties 14084 err = json.Unmarshal(*v, &premierAddOnOfferProperties) 14085 if err != nil { 14086 return err 14087 } 14088 paoo.PremierAddOnOfferProperties = &premierAddOnOfferProperties 14089 } 14090 case "id": 14091 if v != nil { 14092 var ID string 14093 err = json.Unmarshal(*v, &ID) 14094 if err != nil { 14095 return err 14096 } 14097 paoo.ID = &ID 14098 } 14099 case "name": 14100 if v != nil { 14101 var name string 14102 err = json.Unmarshal(*v, &name) 14103 if err != nil { 14104 return err 14105 } 14106 paoo.Name = &name 14107 } 14108 case "kind": 14109 if v != nil { 14110 var kind string 14111 err = json.Unmarshal(*v, &kind) 14112 if err != nil { 14113 return err 14114 } 14115 paoo.Kind = &kind 14116 } 14117 case "type": 14118 if v != nil { 14119 var typeVar string 14120 err = json.Unmarshal(*v, &typeVar) 14121 if err != nil { 14122 return err 14123 } 14124 paoo.Type = &typeVar 14125 } 14126 } 14127 } 14128 14129 return nil 14130} 14131 14132// PremierAddOnOfferCollection collection of premier add-on offers. 14133type PremierAddOnOfferCollection struct { 14134 autorest.Response `json:"-"` 14135 // Value - Collection of resources. 14136 Value *[]PremierAddOnOffer `json:"value,omitempty"` 14137 // NextLink - READ-ONLY; Link to next page of resources. 14138 NextLink *string `json:"nextLink,omitempty"` 14139} 14140 14141// MarshalJSON is the custom marshaler for PremierAddOnOfferCollection. 14142func (paooc PremierAddOnOfferCollection) MarshalJSON() ([]byte, error) { 14143 objectMap := make(map[string]interface{}) 14144 if paooc.Value != nil { 14145 objectMap["value"] = paooc.Value 14146 } 14147 return json.Marshal(objectMap) 14148} 14149 14150// PremierAddOnOfferCollectionIterator provides access to a complete listing of PremierAddOnOffer values. 14151type PremierAddOnOfferCollectionIterator struct { 14152 i int 14153 page PremierAddOnOfferCollectionPage 14154} 14155 14156// NextWithContext advances to the next value. If there was an error making 14157// the request the iterator does not advance and the error is returned. 14158func (iter *PremierAddOnOfferCollectionIterator) NextWithContext(ctx context.Context) (err error) { 14159 if tracing.IsEnabled() { 14160 ctx = tracing.StartSpan(ctx, fqdn+"/PremierAddOnOfferCollectionIterator.NextWithContext") 14161 defer func() { 14162 sc := -1 14163 if iter.Response().Response.Response != nil { 14164 sc = iter.Response().Response.Response.StatusCode 14165 } 14166 tracing.EndSpan(ctx, sc, err) 14167 }() 14168 } 14169 iter.i++ 14170 if iter.i < len(iter.page.Values()) { 14171 return nil 14172 } 14173 err = iter.page.NextWithContext(ctx) 14174 if err != nil { 14175 iter.i-- 14176 return err 14177 } 14178 iter.i = 0 14179 return nil 14180} 14181 14182// Next advances to the next value. If there was an error making 14183// the request the iterator does not advance and the error is returned. 14184// Deprecated: Use NextWithContext() instead. 14185func (iter *PremierAddOnOfferCollectionIterator) Next() error { 14186 return iter.NextWithContext(context.Background()) 14187} 14188 14189// NotDone returns true if the enumeration should be started or is not yet complete. 14190func (iter PremierAddOnOfferCollectionIterator) NotDone() bool { 14191 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 14192} 14193 14194// Response returns the raw server response from the last page request. 14195func (iter PremierAddOnOfferCollectionIterator) Response() PremierAddOnOfferCollection { 14196 return iter.page.Response() 14197} 14198 14199// Value returns the current value or a zero-initialized value if the 14200// iterator has advanced beyond the end of the collection. 14201func (iter PremierAddOnOfferCollectionIterator) Value() PremierAddOnOffer { 14202 if !iter.page.NotDone() { 14203 return PremierAddOnOffer{} 14204 } 14205 return iter.page.Values()[iter.i] 14206} 14207 14208// Creates a new instance of the PremierAddOnOfferCollectionIterator type. 14209func NewPremierAddOnOfferCollectionIterator(page PremierAddOnOfferCollectionPage) PremierAddOnOfferCollectionIterator { 14210 return PremierAddOnOfferCollectionIterator{page: page} 14211} 14212 14213// IsEmpty returns true if the ListResult contains no values. 14214func (paooc PremierAddOnOfferCollection) IsEmpty() bool { 14215 return paooc.Value == nil || len(*paooc.Value) == 0 14216} 14217 14218// hasNextLink returns true if the NextLink is not empty. 14219func (paooc PremierAddOnOfferCollection) hasNextLink() bool { 14220 return paooc.NextLink != nil && len(*paooc.NextLink) != 0 14221} 14222 14223// premierAddOnOfferCollectionPreparer prepares a request to retrieve the next set of results. 14224// It returns nil if no more results exist. 14225func (paooc PremierAddOnOfferCollection) premierAddOnOfferCollectionPreparer(ctx context.Context) (*http.Request, error) { 14226 if !paooc.hasNextLink() { 14227 return nil, nil 14228 } 14229 return autorest.Prepare((&http.Request{}).WithContext(ctx), 14230 autorest.AsJSON(), 14231 autorest.AsGet(), 14232 autorest.WithBaseURL(to.String(paooc.NextLink))) 14233} 14234 14235// PremierAddOnOfferCollectionPage contains a page of PremierAddOnOffer values. 14236type PremierAddOnOfferCollectionPage struct { 14237 fn func(context.Context, PremierAddOnOfferCollection) (PremierAddOnOfferCollection, error) 14238 paooc PremierAddOnOfferCollection 14239} 14240 14241// NextWithContext advances to the next page of values. If there was an error making 14242// the request the page does not advance and the error is returned. 14243func (page *PremierAddOnOfferCollectionPage) NextWithContext(ctx context.Context) (err error) { 14244 if tracing.IsEnabled() { 14245 ctx = tracing.StartSpan(ctx, fqdn+"/PremierAddOnOfferCollectionPage.NextWithContext") 14246 defer func() { 14247 sc := -1 14248 if page.Response().Response.Response != nil { 14249 sc = page.Response().Response.Response.StatusCode 14250 } 14251 tracing.EndSpan(ctx, sc, err) 14252 }() 14253 } 14254 for { 14255 next, err := page.fn(ctx, page.paooc) 14256 if err != nil { 14257 return err 14258 } 14259 page.paooc = next 14260 if !next.hasNextLink() || !next.IsEmpty() { 14261 break 14262 } 14263 } 14264 return nil 14265} 14266 14267// Next advances to the next page of values. If there was an error making 14268// the request the page does not advance and the error is returned. 14269// Deprecated: Use NextWithContext() instead. 14270func (page *PremierAddOnOfferCollectionPage) Next() error { 14271 return page.NextWithContext(context.Background()) 14272} 14273 14274// NotDone returns true if the page enumeration should be started or is not yet complete. 14275func (page PremierAddOnOfferCollectionPage) NotDone() bool { 14276 return !page.paooc.IsEmpty() 14277} 14278 14279// Response returns the raw server response from the last page request. 14280func (page PremierAddOnOfferCollectionPage) Response() PremierAddOnOfferCollection { 14281 return page.paooc 14282} 14283 14284// Values returns the slice of values for the current page or nil if there are no values. 14285func (page PremierAddOnOfferCollectionPage) Values() []PremierAddOnOffer { 14286 if page.paooc.IsEmpty() { 14287 return nil 14288 } 14289 return *page.paooc.Value 14290} 14291 14292// Creates a new instance of the PremierAddOnOfferCollectionPage type. 14293func NewPremierAddOnOfferCollectionPage(cur PremierAddOnOfferCollection, getNextPage func(context.Context, PremierAddOnOfferCollection) (PremierAddOnOfferCollection, error)) PremierAddOnOfferCollectionPage { 14294 return PremierAddOnOfferCollectionPage{ 14295 fn: getNextPage, 14296 paooc: cur, 14297 } 14298} 14299 14300// PremierAddOnOfferProperties premierAddOnOffer resource specific properties 14301type PremierAddOnOfferProperties struct { 14302 // Sku - Premier add on SKU. 14303 Sku *string `json:"sku,omitempty"` 14304 // Product - Premier add on offer Product. 14305 Product *string `json:"product,omitempty"` 14306 // Vendor - Premier add on offer Vendor. 14307 Vendor *string `json:"vendor,omitempty"` 14308 // PromoCodeRequired - <code>true</code> if promotion code is required; otherwise, <code>false</code>. 14309 PromoCodeRequired *bool `json:"promoCodeRequired,omitempty"` 14310 // Quota - Premier add on offer Quota. 14311 Quota *int32 `json:"quota,omitempty"` 14312 // WebHostingPlanRestrictions - App Service plans this offer is restricted to. Possible values include: 'None', 'Free', 'Shared', 'Basic', 'Standard', 'Premium' 14313 WebHostingPlanRestrictions AppServicePlanRestrictions `json:"webHostingPlanRestrictions,omitempty"` 14314 // PrivacyPolicyURL - Privacy policy URL. 14315 PrivacyPolicyURL *string `json:"privacyPolicyUrl,omitempty"` 14316 // LegalTermsURL - Legal terms URL. 14317 LegalTermsURL *string `json:"legalTermsUrl,omitempty"` 14318 // MarketplacePublisher - Marketplace publisher. 14319 MarketplacePublisher *string `json:"marketplacePublisher,omitempty"` 14320 // MarketplaceOffer - Marketplace offer. 14321 MarketplaceOffer *string `json:"marketplaceOffer,omitempty"` 14322} 14323 14324// PremierAddOnPatchResource ARM resource for a PremierAddOn. 14325type PremierAddOnPatchResource struct { 14326 // PremierAddOnPatchResourceProperties - PremierAddOnPatchResource resource specific properties 14327 *PremierAddOnPatchResourceProperties `json:"properties,omitempty"` 14328 // ID - READ-ONLY; Resource Id. 14329 ID *string `json:"id,omitempty"` 14330 // Name - READ-ONLY; Resource Name. 14331 Name *string `json:"name,omitempty"` 14332 // Kind - Kind of resource. 14333 Kind *string `json:"kind,omitempty"` 14334 // Type - READ-ONLY; Resource type. 14335 Type *string `json:"type,omitempty"` 14336} 14337 14338// MarshalJSON is the custom marshaler for PremierAddOnPatchResource. 14339func (paopr PremierAddOnPatchResource) MarshalJSON() ([]byte, error) { 14340 objectMap := make(map[string]interface{}) 14341 if paopr.PremierAddOnPatchResourceProperties != nil { 14342 objectMap["properties"] = paopr.PremierAddOnPatchResourceProperties 14343 } 14344 if paopr.Kind != nil { 14345 objectMap["kind"] = paopr.Kind 14346 } 14347 return json.Marshal(objectMap) 14348} 14349 14350// UnmarshalJSON is the custom unmarshaler for PremierAddOnPatchResource struct. 14351func (paopr *PremierAddOnPatchResource) UnmarshalJSON(body []byte) error { 14352 var m map[string]*json.RawMessage 14353 err := json.Unmarshal(body, &m) 14354 if err != nil { 14355 return err 14356 } 14357 for k, v := range m { 14358 switch k { 14359 case "properties": 14360 if v != nil { 14361 var premierAddOnPatchResourceProperties PremierAddOnPatchResourceProperties 14362 err = json.Unmarshal(*v, &premierAddOnPatchResourceProperties) 14363 if err != nil { 14364 return err 14365 } 14366 paopr.PremierAddOnPatchResourceProperties = &premierAddOnPatchResourceProperties 14367 } 14368 case "id": 14369 if v != nil { 14370 var ID string 14371 err = json.Unmarshal(*v, &ID) 14372 if err != nil { 14373 return err 14374 } 14375 paopr.ID = &ID 14376 } 14377 case "name": 14378 if v != nil { 14379 var name string 14380 err = json.Unmarshal(*v, &name) 14381 if err != nil { 14382 return err 14383 } 14384 paopr.Name = &name 14385 } 14386 case "kind": 14387 if v != nil { 14388 var kind string 14389 err = json.Unmarshal(*v, &kind) 14390 if err != nil { 14391 return err 14392 } 14393 paopr.Kind = &kind 14394 } 14395 case "type": 14396 if v != nil { 14397 var typeVar string 14398 err = json.Unmarshal(*v, &typeVar) 14399 if err != nil { 14400 return err 14401 } 14402 paopr.Type = &typeVar 14403 } 14404 } 14405 } 14406 14407 return nil 14408} 14409 14410// PremierAddOnPatchResourceProperties premierAddOnPatchResource resource specific properties 14411type PremierAddOnPatchResourceProperties struct { 14412 // Sku - Premier add on SKU. 14413 Sku *string `json:"sku,omitempty"` 14414 // Product - Premier add on Product. 14415 Product *string `json:"product,omitempty"` 14416 // Vendor - Premier add on Vendor. 14417 Vendor *string `json:"vendor,omitempty"` 14418 // MarketplacePublisher - Premier add on Marketplace publisher. 14419 MarketplacePublisher *string `json:"marketplacePublisher,omitempty"` 14420 // MarketplaceOffer - Premier add on Marketplace offer. 14421 MarketplaceOffer *string `json:"marketplaceOffer,omitempty"` 14422} 14423 14424// PremierAddOnProperties premierAddOn resource specific properties 14425type PremierAddOnProperties struct { 14426 // Sku - Premier add on SKU. 14427 Sku *string `json:"sku,omitempty"` 14428 // Product - Premier add on Product. 14429 Product *string `json:"product,omitempty"` 14430 // Vendor - Premier add on Vendor. 14431 Vendor *string `json:"vendor,omitempty"` 14432 // MarketplacePublisher - Premier add on Marketplace publisher. 14433 MarketplacePublisher *string `json:"marketplacePublisher,omitempty"` 14434 // MarketplaceOffer - Premier add on Marketplace offer. 14435 MarketplaceOffer *string `json:"marketplaceOffer,omitempty"` 14436} 14437 14438// PrivateAccess description of the parameters of Private Access for a Web Site. 14439type PrivateAccess struct { 14440 autorest.Response `json:"-"` 14441 // PrivateAccessProperties - PrivateAccess resource specific properties 14442 *PrivateAccessProperties `json:"properties,omitempty"` 14443 // ID - READ-ONLY; Resource Id. 14444 ID *string `json:"id,omitempty"` 14445 // Name - READ-ONLY; Resource Name. 14446 Name *string `json:"name,omitempty"` 14447 // Kind - Kind of resource. 14448 Kind *string `json:"kind,omitempty"` 14449 // Type - READ-ONLY; Resource type. 14450 Type *string `json:"type,omitempty"` 14451} 14452 14453// MarshalJSON is the custom marshaler for PrivateAccess. 14454func (pa PrivateAccess) MarshalJSON() ([]byte, error) { 14455 objectMap := make(map[string]interface{}) 14456 if pa.PrivateAccessProperties != nil { 14457 objectMap["properties"] = pa.PrivateAccessProperties 14458 } 14459 if pa.Kind != nil { 14460 objectMap["kind"] = pa.Kind 14461 } 14462 return json.Marshal(objectMap) 14463} 14464 14465// UnmarshalJSON is the custom unmarshaler for PrivateAccess struct. 14466func (pa *PrivateAccess) UnmarshalJSON(body []byte) error { 14467 var m map[string]*json.RawMessage 14468 err := json.Unmarshal(body, &m) 14469 if err != nil { 14470 return err 14471 } 14472 for k, v := range m { 14473 switch k { 14474 case "properties": 14475 if v != nil { 14476 var privateAccessProperties PrivateAccessProperties 14477 err = json.Unmarshal(*v, &privateAccessProperties) 14478 if err != nil { 14479 return err 14480 } 14481 pa.PrivateAccessProperties = &privateAccessProperties 14482 } 14483 case "id": 14484 if v != nil { 14485 var ID string 14486 err = json.Unmarshal(*v, &ID) 14487 if err != nil { 14488 return err 14489 } 14490 pa.ID = &ID 14491 } 14492 case "name": 14493 if v != nil { 14494 var name string 14495 err = json.Unmarshal(*v, &name) 14496 if err != nil { 14497 return err 14498 } 14499 pa.Name = &name 14500 } 14501 case "kind": 14502 if v != nil { 14503 var kind string 14504 err = json.Unmarshal(*v, &kind) 14505 if err != nil { 14506 return err 14507 } 14508 pa.Kind = &kind 14509 } 14510 case "type": 14511 if v != nil { 14512 var typeVar string 14513 err = json.Unmarshal(*v, &typeVar) 14514 if err != nil { 14515 return err 14516 } 14517 pa.Type = &typeVar 14518 } 14519 } 14520 } 14521 14522 return nil 14523} 14524 14525// PrivateAccessProperties privateAccess resource specific properties 14526type PrivateAccessProperties struct { 14527 // Enabled - Whether private access is enabled or not. 14528 Enabled *bool `json:"enabled,omitempty"` 14529 // VirtualNetworks - The Virtual Networks (and subnets) allowed to access the site privately. 14530 VirtualNetworks *[]PrivateAccessVirtualNetwork `json:"virtualNetworks,omitempty"` 14531} 14532 14533// PrivateAccessSubnet description of a Virtual Network subnet that is useable for private site access. 14534type PrivateAccessSubnet struct { 14535 // Name - The name of the subnet. 14536 Name *string `json:"name,omitempty"` 14537 // Key - The key (ID) of the subnet. 14538 Key *int32 `json:"key,omitempty"` 14539} 14540 14541// PrivateAccessVirtualNetwork description of a Virtual Network that is useable for private site access. 14542type PrivateAccessVirtualNetwork struct { 14543 // Name - The name of the Virtual Network. 14544 Name *string `json:"name,omitempty"` 14545 // Key - The key (ID) of the Virtual Network. 14546 Key *int32 `json:"key,omitempty"` 14547 // ResourceID - The ARM uri of the Virtual Network 14548 ResourceID *string `json:"resourceId,omitempty"` 14549 // Subnets - A List of subnets that access is allowed to on this Virtual Network. An empty array (but not null) is interpreted to mean that all subnets are allowed within this Virtual Network. 14550 Subnets *[]PrivateAccessSubnet `json:"subnets,omitempty"` 14551} 14552 14553// ProcessInfo process Information. 14554type ProcessInfo struct { 14555 autorest.Response `json:"-"` 14556 // ProcessInfoProperties - ProcessInfo resource specific properties 14557 *ProcessInfoProperties `json:"properties,omitempty"` 14558 // ID - READ-ONLY; Resource Id. 14559 ID *string `json:"id,omitempty"` 14560 // Name - READ-ONLY; Resource Name. 14561 Name *string `json:"name,omitempty"` 14562 // Kind - Kind of resource. 14563 Kind *string `json:"kind,omitempty"` 14564 // Type - READ-ONLY; Resource type. 14565 Type *string `json:"type,omitempty"` 14566} 14567 14568// MarshalJSON is the custom marshaler for ProcessInfo. 14569func (pi ProcessInfo) MarshalJSON() ([]byte, error) { 14570 objectMap := make(map[string]interface{}) 14571 if pi.ProcessInfoProperties != nil { 14572 objectMap["properties"] = pi.ProcessInfoProperties 14573 } 14574 if pi.Kind != nil { 14575 objectMap["kind"] = pi.Kind 14576 } 14577 return json.Marshal(objectMap) 14578} 14579 14580// UnmarshalJSON is the custom unmarshaler for ProcessInfo struct. 14581func (pi *ProcessInfo) UnmarshalJSON(body []byte) error { 14582 var m map[string]*json.RawMessage 14583 err := json.Unmarshal(body, &m) 14584 if err != nil { 14585 return err 14586 } 14587 for k, v := range m { 14588 switch k { 14589 case "properties": 14590 if v != nil { 14591 var processInfoProperties ProcessInfoProperties 14592 err = json.Unmarshal(*v, &processInfoProperties) 14593 if err != nil { 14594 return err 14595 } 14596 pi.ProcessInfoProperties = &processInfoProperties 14597 } 14598 case "id": 14599 if v != nil { 14600 var ID string 14601 err = json.Unmarshal(*v, &ID) 14602 if err != nil { 14603 return err 14604 } 14605 pi.ID = &ID 14606 } 14607 case "name": 14608 if v != nil { 14609 var name string 14610 err = json.Unmarshal(*v, &name) 14611 if err != nil { 14612 return err 14613 } 14614 pi.Name = &name 14615 } 14616 case "kind": 14617 if v != nil { 14618 var kind string 14619 err = json.Unmarshal(*v, &kind) 14620 if err != nil { 14621 return err 14622 } 14623 pi.Kind = &kind 14624 } 14625 case "type": 14626 if v != nil { 14627 var typeVar string 14628 err = json.Unmarshal(*v, &typeVar) 14629 if err != nil { 14630 return err 14631 } 14632 pi.Type = &typeVar 14633 } 14634 } 14635 } 14636 14637 return nil 14638} 14639 14640// ProcessInfoCollection collection of Kudu process information elements. 14641type ProcessInfoCollection struct { 14642 autorest.Response `json:"-"` 14643 // Value - Collection of resources. 14644 Value *[]ProcessInfo `json:"value,omitempty"` 14645 // NextLink - READ-ONLY; Link to next page of resources. 14646 NextLink *string `json:"nextLink,omitempty"` 14647} 14648 14649// MarshalJSON is the custom marshaler for ProcessInfoCollection. 14650func (pic ProcessInfoCollection) MarshalJSON() ([]byte, error) { 14651 objectMap := make(map[string]interface{}) 14652 if pic.Value != nil { 14653 objectMap["value"] = pic.Value 14654 } 14655 return json.Marshal(objectMap) 14656} 14657 14658// ProcessInfoCollectionIterator provides access to a complete listing of ProcessInfo values. 14659type ProcessInfoCollectionIterator struct { 14660 i int 14661 page ProcessInfoCollectionPage 14662} 14663 14664// NextWithContext advances to the next value. If there was an error making 14665// the request the iterator does not advance and the error is returned. 14666func (iter *ProcessInfoCollectionIterator) NextWithContext(ctx context.Context) (err error) { 14667 if tracing.IsEnabled() { 14668 ctx = tracing.StartSpan(ctx, fqdn+"/ProcessInfoCollectionIterator.NextWithContext") 14669 defer func() { 14670 sc := -1 14671 if iter.Response().Response.Response != nil { 14672 sc = iter.Response().Response.Response.StatusCode 14673 } 14674 tracing.EndSpan(ctx, sc, err) 14675 }() 14676 } 14677 iter.i++ 14678 if iter.i < len(iter.page.Values()) { 14679 return nil 14680 } 14681 err = iter.page.NextWithContext(ctx) 14682 if err != nil { 14683 iter.i-- 14684 return err 14685 } 14686 iter.i = 0 14687 return nil 14688} 14689 14690// Next advances to the next value. If there was an error making 14691// the request the iterator does not advance and the error is returned. 14692// Deprecated: Use NextWithContext() instead. 14693func (iter *ProcessInfoCollectionIterator) Next() error { 14694 return iter.NextWithContext(context.Background()) 14695} 14696 14697// NotDone returns true if the enumeration should be started or is not yet complete. 14698func (iter ProcessInfoCollectionIterator) NotDone() bool { 14699 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 14700} 14701 14702// Response returns the raw server response from the last page request. 14703func (iter ProcessInfoCollectionIterator) Response() ProcessInfoCollection { 14704 return iter.page.Response() 14705} 14706 14707// Value returns the current value or a zero-initialized value if the 14708// iterator has advanced beyond the end of the collection. 14709func (iter ProcessInfoCollectionIterator) Value() ProcessInfo { 14710 if !iter.page.NotDone() { 14711 return ProcessInfo{} 14712 } 14713 return iter.page.Values()[iter.i] 14714} 14715 14716// Creates a new instance of the ProcessInfoCollectionIterator type. 14717func NewProcessInfoCollectionIterator(page ProcessInfoCollectionPage) ProcessInfoCollectionIterator { 14718 return ProcessInfoCollectionIterator{page: page} 14719} 14720 14721// IsEmpty returns true if the ListResult contains no values. 14722func (pic ProcessInfoCollection) IsEmpty() bool { 14723 return pic.Value == nil || len(*pic.Value) == 0 14724} 14725 14726// hasNextLink returns true if the NextLink is not empty. 14727func (pic ProcessInfoCollection) hasNextLink() bool { 14728 return pic.NextLink != nil && len(*pic.NextLink) != 0 14729} 14730 14731// processInfoCollectionPreparer prepares a request to retrieve the next set of results. 14732// It returns nil if no more results exist. 14733func (pic ProcessInfoCollection) processInfoCollectionPreparer(ctx context.Context) (*http.Request, error) { 14734 if !pic.hasNextLink() { 14735 return nil, nil 14736 } 14737 return autorest.Prepare((&http.Request{}).WithContext(ctx), 14738 autorest.AsJSON(), 14739 autorest.AsGet(), 14740 autorest.WithBaseURL(to.String(pic.NextLink))) 14741} 14742 14743// ProcessInfoCollectionPage contains a page of ProcessInfo values. 14744type ProcessInfoCollectionPage struct { 14745 fn func(context.Context, ProcessInfoCollection) (ProcessInfoCollection, error) 14746 pic ProcessInfoCollection 14747} 14748 14749// NextWithContext advances to the next page of values. If there was an error making 14750// the request the page does not advance and the error is returned. 14751func (page *ProcessInfoCollectionPage) NextWithContext(ctx context.Context) (err error) { 14752 if tracing.IsEnabled() { 14753 ctx = tracing.StartSpan(ctx, fqdn+"/ProcessInfoCollectionPage.NextWithContext") 14754 defer func() { 14755 sc := -1 14756 if page.Response().Response.Response != nil { 14757 sc = page.Response().Response.Response.StatusCode 14758 } 14759 tracing.EndSpan(ctx, sc, err) 14760 }() 14761 } 14762 for { 14763 next, err := page.fn(ctx, page.pic) 14764 if err != nil { 14765 return err 14766 } 14767 page.pic = next 14768 if !next.hasNextLink() || !next.IsEmpty() { 14769 break 14770 } 14771 } 14772 return nil 14773} 14774 14775// Next advances to the next page of values. If there was an error making 14776// the request the page does not advance and the error is returned. 14777// Deprecated: Use NextWithContext() instead. 14778func (page *ProcessInfoCollectionPage) Next() error { 14779 return page.NextWithContext(context.Background()) 14780} 14781 14782// NotDone returns true if the page enumeration should be started or is not yet complete. 14783func (page ProcessInfoCollectionPage) NotDone() bool { 14784 return !page.pic.IsEmpty() 14785} 14786 14787// Response returns the raw server response from the last page request. 14788func (page ProcessInfoCollectionPage) Response() ProcessInfoCollection { 14789 return page.pic 14790} 14791 14792// Values returns the slice of values for the current page or nil if there are no values. 14793func (page ProcessInfoCollectionPage) Values() []ProcessInfo { 14794 if page.pic.IsEmpty() { 14795 return nil 14796 } 14797 return *page.pic.Value 14798} 14799 14800// Creates a new instance of the ProcessInfoCollectionPage type. 14801func NewProcessInfoCollectionPage(cur ProcessInfoCollection, getNextPage func(context.Context, ProcessInfoCollection) (ProcessInfoCollection, error)) ProcessInfoCollectionPage { 14802 return ProcessInfoCollectionPage{ 14803 fn: getNextPage, 14804 pic: cur, 14805 } 14806} 14807 14808// ProcessInfoProperties processInfo resource specific properties 14809type ProcessInfoProperties struct { 14810 // Identifier - READ-ONLY; ARM Identifier for deployment. 14811 Identifier *int32 `json:"identifier,omitempty"` 14812 // DeploymentName - Deployment name. 14813 DeploymentName *string `json:"deployment_name,omitempty"` 14814 // Href - HRef URI. 14815 Href *string `json:"href,omitempty"` 14816 // Minidump - Minidump URI. 14817 Minidump *string `json:"minidump,omitempty"` 14818 // IsProfileRunning - Is profile running? 14819 IsProfileRunning *bool `json:"is_profile_running,omitempty"` 14820 // IsIisProfileRunning - Is the IIS Profile running? 14821 IsIisProfileRunning *bool `json:"is_iis_profile_running,omitempty"` 14822 // IisProfileTimeoutInSeconds - IIS Profile timeout (seconds). 14823 IisProfileTimeoutInSeconds *float64 `json:"iis_profile_timeout_in_seconds,omitempty"` 14824 // Parent - Parent process. 14825 Parent *string `json:"parent,omitempty"` 14826 // Children - Child process list. 14827 Children *[]string `json:"children,omitempty"` 14828 // Threads - Thread list. 14829 Threads *[]ProcessThreadInfo `json:"threads,omitempty"` 14830 // OpenFileHandles - List of open files. 14831 OpenFileHandles *[]string `json:"open_file_handles,omitempty"` 14832 // Modules - List of modules. 14833 Modules *[]ProcessModuleInfo `json:"modules,omitempty"` 14834 // FileName - File name of this process. 14835 FileName *string `json:"file_name,omitempty"` 14836 // CommandLine - Command line. 14837 CommandLine *string `json:"command_line,omitempty"` 14838 // UserName - User name. 14839 UserName *string `json:"user_name,omitempty"` 14840 // HandleCount - Handle count. 14841 HandleCount *int32 `json:"handle_count,omitempty"` 14842 // ModuleCount - Module count. 14843 ModuleCount *int32 `json:"module_count,omitempty"` 14844 // ThreadCount - Thread count. 14845 ThreadCount *int32 `json:"thread_count,omitempty"` 14846 // StartTime - Start time. 14847 StartTime *date.Time `json:"start_time,omitempty"` 14848 // TotalCPUTime - Total CPU time. 14849 TotalCPUTime *string `json:"total_cpu_time,omitempty"` 14850 // UserCPUTime - User CPU time. 14851 UserCPUTime *string `json:"user_cpu_time,omitempty"` 14852 // PrivilegedCPUTime - Privileged CPU time. 14853 PrivilegedCPUTime *string `json:"privileged_cpu_time,omitempty"` 14854 // WorkingSet - Working set. 14855 WorkingSet *int64 `json:"working_set,omitempty"` 14856 // PeakWorkingSet - Peak working set. 14857 PeakWorkingSet *int64 `json:"peak_working_set,omitempty"` 14858 // PrivateMemory - Private memory size. 14859 PrivateMemory *int64 `json:"private_memory,omitempty"` 14860 // VirtualMemory - Virtual memory size. 14861 VirtualMemory *int64 `json:"virtual_memory,omitempty"` 14862 // PeakVirtualMemory - Peak virtual memory usage. 14863 PeakVirtualMemory *int64 `json:"peak_virtual_memory,omitempty"` 14864 // PagedSystemMemory - Paged system memory. 14865 PagedSystemMemory *int64 `json:"paged_system_memory,omitempty"` 14866 // NonPagedSystemMemory - Non-paged system memory. 14867 NonPagedSystemMemory *int64 `json:"non_paged_system_memory,omitempty"` 14868 // PagedMemory - Paged memory. 14869 PagedMemory *int64 `json:"paged_memory,omitempty"` 14870 // PeakPagedMemory - Peak paged memory. 14871 PeakPagedMemory *int64 `json:"peak_paged_memory,omitempty"` 14872 // TimeStamp - Time stamp. 14873 TimeStamp *date.Time `json:"time_stamp,omitempty"` 14874 // EnvironmentVariables - List of environment variables. 14875 EnvironmentVariables map[string]*string `json:"environment_variables"` 14876 // IsScmSite - Is this the SCM site? 14877 IsScmSite *bool `json:"is_scm_site,omitempty"` 14878 // IsWebjob - Is this a Web Job? 14879 IsWebjob *bool `json:"is_webjob,omitempty"` 14880 // Description - Description of process. 14881 Description *string `json:"description,omitempty"` 14882} 14883 14884// MarshalJSON is the custom marshaler for ProcessInfoProperties. 14885func (pi ProcessInfoProperties) MarshalJSON() ([]byte, error) { 14886 objectMap := make(map[string]interface{}) 14887 if pi.DeploymentName != nil { 14888 objectMap["deployment_name"] = pi.DeploymentName 14889 } 14890 if pi.Href != nil { 14891 objectMap["href"] = pi.Href 14892 } 14893 if pi.Minidump != nil { 14894 objectMap["minidump"] = pi.Minidump 14895 } 14896 if pi.IsProfileRunning != nil { 14897 objectMap["is_profile_running"] = pi.IsProfileRunning 14898 } 14899 if pi.IsIisProfileRunning != nil { 14900 objectMap["is_iis_profile_running"] = pi.IsIisProfileRunning 14901 } 14902 if pi.IisProfileTimeoutInSeconds != nil { 14903 objectMap["iis_profile_timeout_in_seconds"] = pi.IisProfileTimeoutInSeconds 14904 } 14905 if pi.Parent != nil { 14906 objectMap["parent"] = pi.Parent 14907 } 14908 if pi.Children != nil { 14909 objectMap["children"] = pi.Children 14910 } 14911 if pi.Threads != nil { 14912 objectMap["threads"] = pi.Threads 14913 } 14914 if pi.OpenFileHandles != nil { 14915 objectMap["open_file_handles"] = pi.OpenFileHandles 14916 } 14917 if pi.Modules != nil { 14918 objectMap["modules"] = pi.Modules 14919 } 14920 if pi.FileName != nil { 14921 objectMap["file_name"] = pi.FileName 14922 } 14923 if pi.CommandLine != nil { 14924 objectMap["command_line"] = pi.CommandLine 14925 } 14926 if pi.UserName != nil { 14927 objectMap["user_name"] = pi.UserName 14928 } 14929 if pi.HandleCount != nil { 14930 objectMap["handle_count"] = pi.HandleCount 14931 } 14932 if pi.ModuleCount != nil { 14933 objectMap["module_count"] = pi.ModuleCount 14934 } 14935 if pi.ThreadCount != nil { 14936 objectMap["thread_count"] = pi.ThreadCount 14937 } 14938 if pi.StartTime != nil { 14939 objectMap["start_time"] = pi.StartTime 14940 } 14941 if pi.TotalCPUTime != nil { 14942 objectMap["total_cpu_time"] = pi.TotalCPUTime 14943 } 14944 if pi.UserCPUTime != nil { 14945 objectMap["user_cpu_time"] = pi.UserCPUTime 14946 } 14947 if pi.PrivilegedCPUTime != nil { 14948 objectMap["privileged_cpu_time"] = pi.PrivilegedCPUTime 14949 } 14950 if pi.WorkingSet != nil { 14951 objectMap["working_set"] = pi.WorkingSet 14952 } 14953 if pi.PeakWorkingSet != nil { 14954 objectMap["peak_working_set"] = pi.PeakWorkingSet 14955 } 14956 if pi.PrivateMemory != nil { 14957 objectMap["private_memory"] = pi.PrivateMemory 14958 } 14959 if pi.VirtualMemory != nil { 14960 objectMap["virtual_memory"] = pi.VirtualMemory 14961 } 14962 if pi.PeakVirtualMemory != nil { 14963 objectMap["peak_virtual_memory"] = pi.PeakVirtualMemory 14964 } 14965 if pi.PagedSystemMemory != nil { 14966 objectMap["paged_system_memory"] = pi.PagedSystemMemory 14967 } 14968 if pi.NonPagedSystemMemory != nil { 14969 objectMap["non_paged_system_memory"] = pi.NonPagedSystemMemory 14970 } 14971 if pi.PagedMemory != nil { 14972 objectMap["paged_memory"] = pi.PagedMemory 14973 } 14974 if pi.PeakPagedMemory != nil { 14975 objectMap["peak_paged_memory"] = pi.PeakPagedMemory 14976 } 14977 if pi.TimeStamp != nil { 14978 objectMap["time_stamp"] = pi.TimeStamp 14979 } 14980 if pi.EnvironmentVariables != nil { 14981 objectMap["environment_variables"] = pi.EnvironmentVariables 14982 } 14983 if pi.IsScmSite != nil { 14984 objectMap["is_scm_site"] = pi.IsScmSite 14985 } 14986 if pi.IsWebjob != nil { 14987 objectMap["is_webjob"] = pi.IsWebjob 14988 } 14989 if pi.Description != nil { 14990 objectMap["description"] = pi.Description 14991 } 14992 return json.Marshal(objectMap) 14993} 14994 14995// ProcessModuleInfo process Module Information. 14996type ProcessModuleInfo struct { 14997 autorest.Response `json:"-"` 14998 // ProcessModuleInfoProperties - ProcessModuleInfo resource specific properties 14999 *ProcessModuleInfoProperties `json:"properties,omitempty"` 15000 // ID - READ-ONLY; Resource Id. 15001 ID *string `json:"id,omitempty"` 15002 // Name - READ-ONLY; Resource Name. 15003 Name *string `json:"name,omitempty"` 15004 // Kind - Kind of resource. 15005 Kind *string `json:"kind,omitempty"` 15006 // Type - READ-ONLY; Resource type. 15007 Type *string `json:"type,omitempty"` 15008} 15009 15010// MarshalJSON is the custom marshaler for ProcessModuleInfo. 15011func (pmi ProcessModuleInfo) MarshalJSON() ([]byte, error) { 15012 objectMap := make(map[string]interface{}) 15013 if pmi.ProcessModuleInfoProperties != nil { 15014 objectMap["properties"] = pmi.ProcessModuleInfoProperties 15015 } 15016 if pmi.Kind != nil { 15017 objectMap["kind"] = pmi.Kind 15018 } 15019 return json.Marshal(objectMap) 15020} 15021 15022// UnmarshalJSON is the custom unmarshaler for ProcessModuleInfo struct. 15023func (pmi *ProcessModuleInfo) UnmarshalJSON(body []byte) error { 15024 var m map[string]*json.RawMessage 15025 err := json.Unmarshal(body, &m) 15026 if err != nil { 15027 return err 15028 } 15029 for k, v := range m { 15030 switch k { 15031 case "properties": 15032 if v != nil { 15033 var processModuleInfoProperties ProcessModuleInfoProperties 15034 err = json.Unmarshal(*v, &processModuleInfoProperties) 15035 if err != nil { 15036 return err 15037 } 15038 pmi.ProcessModuleInfoProperties = &processModuleInfoProperties 15039 } 15040 case "id": 15041 if v != nil { 15042 var ID string 15043 err = json.Unmarshal(*v, &ID) 15044 if err != nil { 15045 return err 15046 } 15047 pmi.ID = &ID 15048 } 15049 case "name": 15050 if v != nil { 15051 var name string 15052 err = json.Unmarshal(*v, &name) 15053 if err != nil { 15054 return err 15055 } 15056 pmi.Name = &name 15057 } 15058 case "kind": 15059 if v != nil { 15060 var kind string 15061 err = json.Unmarshal(*v, &kind) 15062 if err != nil { 15063 return err 15064 } 15065 pmi.Kind = &kind 15066 } 15067 case "type": 15068 if v != nil { 15069 var typeVar string 15070 err = json.Unmarshal(*v, &typeVar) 15071 if err != nil { 15072 return err 15073 } 15074 pmi.Type = &typeVar 15075 } 15076 } 15077 } 15078 15079 return nil 15080} 15081 15082// ProcessModuleInfoCollection collection of Kudu thread information elements. 15083type ProcessModuleInfoCollection struct { 15084 autorest.Response `json:"-"` 15085 // Value - Collection of resources. 15086 Value *[]ProcessModuleInfo `json:"value,omitempty"` 15087 // NextLink - READ-ONLY; Link to next page of resources. 15088 NextLink *string `json:"nextLink,omitempty"` 15089} 15090 15091// MarshalJSON is the custom marshaler for ProcessModuleInfoCollection. 15092func (pmic ProcessModuleInfoCollection) MarshalJSON() ([]byte, error) { 15093 objectMap := make(map[string]interface{}) 15094 if pmic.Value != nil { 15095 objectMap["value"] = pmic.Value 15096 } 15097 return json.Marshal(objectMap) 15098} 15099 15100// ProcessModuleInfoCollectionIterator provides access to a complete listing of ProcessModuleInfo values. 15101type ProcessModuleInfoCollectionIterator struct { 15102 i int 15103 page ProcessModuleInfoCollectionPage 15104} 15105 15106// NextWithContext advances to the next value. If there was an error making 15107// the request the iterator does not advance and the error is returned. 15108func (iter *ProcessModuleInfoCollectionIterator) NextWithContext(ctx context.Context) (err error) { 15109 if tracing.IsEnabled() { 15110 ctx = tracing.StartSpan(ctx, fqdn+"/ProcessModuleInfoCollectionIterator.NextWithContext") 15111 defer func() { 15112 sc := -1 15113 if iter.Response().Response.Response != nil { 15114 sc = iter.Response().Response.Response.StatusCode 15115 } 15116 tracing.EndSpan(ctx, sc, err) 15117 }() 15118 } 15119 iter.i++ 15120 if iter.i < len(iter.page.Values()) { 15121 return nil 15122 } 15123 err = iter.page.NextWithContext(ctx) 15124 if err != nil { 15125 iter.i-- 15126 return err 15127 } 15128 iter.i = 0 15129 return nil 15130} 15131 15132// Next advances to the next value. If there was an error making 15133// the request the iterator does not advance and the error is returned. 15134// Deprecated: Use NextWithContext() instead. 15135func (iter *ProcessModuleInfoCollectionIterator) Next() error { 15136 return iter.NextWithContext(context.Background()) 15137} 15138 15139// NotDone returns true if the enumeration should be started or is not yet complete. 15140func (iter ProcessModuleInfoCollectionIterator) NotDone() bool { 15141 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 15142} 15143 15144// Response returns the raw server response from the last page request. 15145func (iter ProcessModuleInfoCollectionIterator) Response() ProcessModuleInfoCollection { 15146 return iter.page.Response() 15147} 15148 15149// Value returns the current value or a zero-initialized value if the 15150// iterator has advanced beyond the end of the collection. 15151func (iter ProcessModuleInfoCollectionIterator) Value() ProcessModuleInfo { 15152 if !iter.page.NotDone() { 15153 return ProcessModuleInfo{} 15154 } 15155 return iter.page.Values()[iter.i] 15156} 15157 15158// Creates a new instance of the ProcessModuleInfoCollectionIterator type. 15159func NewProcessModuleInfoCollectionIterator(page ProcessModuleInfoCollectionPage) ProcessModuleInfoCollectionIterator { 15160 return ProcessModuleInfoCollectionIterator{page: page} 15161} 15162 15163// IsEmpty returns true if the ListResult contains no values. 15164func (pmic ProcessModuleInfoCollection) IsEmpty() bool { 15165 return pmic.Value == nil || len(*pmic.Value) == 0 15166} 15167 15168// hasNextLink returns true if the NextLink is not empty. 15169func (pmic ProcessModuleInfoCollection) hasNextLink() bool { 15170 return pmic.NextLink != nil && len(*pmic.NextLink) != 0 15171} 15172 15173// processModuleInfoCollectionPreparer prepares a request to retrieve the next set of results. 15174// It returns nil if no more results exist. 15175func (pmic ProcessModuleInfoCollection) processModuleInfoCollectionPreparer(ctx context.Context) (*http.Request, error) { 15176 if !pmic.hasNextLink() { 15177 return nil, nil 15178 } 15179 return autorest.Prepare((&http.Request{}).WithContext(ctx), 15180 autorest.AsJSON(), 15181 autorest.AsGet(), 15182 autorest.WithBaseURL(to.String(pmic.NextLink))) 15183} 15184 15185// ProcessModuleInfoCollectionPage contains a page of ProcessModuleInfo values. 15186type ProcessModuleInfoCollectionPage struct { 15187 fn func(context.Context, ProcessModuleInfoCollection) (ProcessModuleInfoCollection, error) 15188 pmic ProcessModuleInfoCollection 15189} 15190 15191// NextWithContext advances to the next page of values. If there was an error making 15192// the request the page does not advance and the error is returned. 15193func (page *ProcessModuleInfoCollectionPage) NextWithContext(ctx context.Context) (err error) { 15194 if tracing.IsEnabled() { 15195 ctx = tracing.StartSpan(ctx, fqdn+"/ProcessModuleInfoCollectionPage.NextWithContext") 15196 defer func() { 15197 sc := -1 15198 if page.Response().Response.Response != nil { 15199 sc = page.Response().Response.Response.StatusCode 15200 } 15201 tracing.EndSpan(ctx, sc, err) 15202 }() 15203 } 15204 for { 15205 next, err := page.fn(ctx, page.pmic) 15206 if err != nil { 15207 return err 15208 } 15209 page.pmic = next 15210 if !next.hasNextLink() || !next.IsEmpty() { 15211 break 15212 } 15213 } 15214 return nil 15215} 15216 15217// Next advances to the next page of values. If there was an error making 15218// the request the page does not advance and the error is returned. 15219// Deprecated: Use NextWithContext() instead. 15220func (page *ProcessModuleInfoCollectionPage) Next() error { 15221 return page.NextWithContext(context.Background()) 15222} 15223 15224// NotDone returns true if the page enumeration should be started or is not yet complete. 15225func (page ProcessModuleInfoCollectionPage) NotDone() bool { 15226 return !page.pmic.IsEmpty() 15227} 15228 15229// Response returns the raw server response from the last page request. 15230func (page ProcessModuleInfoCollectionPage) Response() ProcessModuleInfoCollection { 15231 return page.pmic 15232} 15233 15234// Values returns the slice of values for the current page or nil if there are no values. 15235func (page ProcessModuleInfoCollectionPage) Values() []ProcessModuleInfo { 15236 if page.pmic.IsEmpty() { 15237 return nil 15238 } 15239 return *page.pmic.Value 15240} 15241 15242// Creates a new instance of the ProcessModuleInfoCollectionPage type. 15243func NewProcessModuleInfoCollectionPage(cur ProcessModuleInfoCollection, getNextPage func(context.Context, ProcessModuleInfoCollection) (ProcessModuleInfoCollection, error)) ProcessModuleInfoCollectionPage { 15244 return ProcessModuleInfoCollectionPage{ 15245 fn: getNextPage, 15246 pmic: cur, 15247 } 15248} 15249 15250// ProcessModuleInfoProperties processModuleInfo resource specific properties 15251type ProcessModuleInfoProperties struct { 15252 // BaseAddress - Base address. Used as module identifier in ARM resource URI. 15253 BaseAddress *string `json:"base_address,omitempty"` 15254 // FileName - File name. 15255 FileName *string `json:"file_name,omitempty"` 15256 // Href - HRef URI. 15257 Href *string `json:"href,omitempty"` 15258 // FilePath - File path. 15259 FilePath *string `json:"file_path,omitempty"` 15260 // ModuleMemorySize - Module memory size. 15261 ModuleMemorySize *int32 `json:"module_memory_size,omitempty"` 15262 // FileVersion - File version. 15263 FileVersion *string `json:"file_version,omitempty"` 15264 // FileDescription - File description. 15265 FileDescription *string `json:"file_description,omitempty"` 15266 // Product - Product name. 15267 Product *string `json:"product,omitempty"` 15268 // ProductVersion - Product version. 15269 ProductVersion *string `json:"product_version,omitempty"` 15270 // IsDebug - Is debug? 15271 IsDebug *bool `json:"is_debug,omitempty"` 15272 // Language - Module language (locale). 15273 Language *string `json:"language,omitempty"` 15274} 15275 15276// ProcessThreadInfo process Thread Information. 15277type ProcessThreadInfo struct { 15278 autorest.Response `json:"-"` 15279 // ProcessThreadInfoProperties - ProcessThreadInfo resource specific properties 15280 *ProcessThreadInfoProperties `json:"properties,omitempty"` 15281 // ID - READ-ONLY; Resource Id. 15282 ID *string `json:"id,omitempty"` 15283 // Name - READ-ONLY; Resource Name. 15284 Name *string `json:"name,omitempty"` 15285 // Kind - Kind of resource. 15286 Kind *string `json:"kind,omitempty"` 15287 // Type - READ-ONLY; Resource type. 15288 Type *string `json:"type,omitempty"` 15289} 15290 15291// MarshalJSON is the custom marshaler for ProcessThreadInfo. 15292func (pti ProcessThreadInfo) MarshalJSON() ([]byte, error) { 15293 objectMap := make(map[string]interface{}) 15294 if pti.ProcessThreadInfoProperties != nil { 15295 objectMap["properties"] = pti.ProcessThreadInfoProperties 15296 } 15297 if pti.Kind != nil { 15298 objectMap["kind"] = pti.Kind 15299 } 15300 return json.Marshal(objectMap) 15301} 15302 15303// UnmarshalJSON is the custom unmarshaler for ProcessThreadInfo struct. 15304func (pti *ProcessThreadInfo) UnmarshalJSON(body []byte) error { 15305 var m map[string]*json.RawMessage 15306 err := json.Unmarshal(body, &m) 15307 if err != nil { 15308 return err 15309 } 15310 for k, v := range m { 15311 switch k { 15312 case "properties": 15313 if v != nil { 15314 var processThreadInfoProperties ProcessThreadInfoProperties 15315 err = json.Unmarshal(*v, &processThreadInfoProperties) 15316 if err != nil { 15317 return err 15318 } 15319 pti.ProcessThreadInfoProperties = &processThreadInfoProperties 15320 } 15321 case "id": 15322 if v != nil { 15323 var ID string 15324 err = json.Unmarshal(*v, &ID) 15325 if err != nil { 15326 return err 15327 } 15328 pti.ID = &ID 15329 } 15330 case "name": 15331 if v != nil { 15332 var name string 15333 err = json.Unmarshal(*v, &name) 15334 if err != nil { 15335 return err 15336 } 15337 pti.Name = &name 15338 } 15339 case "kind": 15340 if v != nil { 15341 var kind string 15342 err = json.Unmarshal(*v, &kind) 15343 if err != nil { 15344 return err 15345 } 15346 pti.Kind = &kind 15347 } 15348 case "type": 15349 if v != nil { 15350 var typeVar string 15351 err = json.Unmarshal(*v, &typeVar) 15352 if err != nil { 15353 return err 15354 } 15355 pti.Type = &typeVar 15356 } 15357 } 15358 } 15359 15360 return nil 15361} 15362 15363// ProcessThreadInfoCollection collection of Kudu thread information elements. 15364type ProcessThreadInfoCollection struct { 15365 autorest.Response `json:"-"` 15366 // Value - Collection of resources. 15367 Value *[]ProcessThreadInfo `json:"value,omitempty"` 15368 // NextLink - READ-ONLY; Link to next page of resources. 15369 NextLink *string `json:"nextLink,omitempty"` 15370} 15371 15372// MarshalJSON is the custom marshaler for ProcessThreadInfoCollection. 15373func (ptic ProcessThreadInfoCollection) MarshalJSON() ([]byte, error) { 15374 objectMap := make(map[string]interface{}) 15375 if ptic.Value != nil { 15376 objectMap["value"] = ptic.Value 15377 } 15378 return json.Marshal(objectMap) 15379} 15380 15381// ProcessThreadInfoCollectionIterator provides access to a complete listing of ProcessThreadInfo values. 15382type ProcessThreadInfoCollectionIterator struct { 15383 i int 15384 page ProcessThreadInfoCollectionPage 15385} 15386 15387// NextWithContext advances to the next value. If there was an error making 15388// the request the iterator does not advance and the error is returned. 15389func (iter *ProcessThreadInfoCollectionIterator) NextWithContext(ctx context.Context) (err error) { 15390 if tracing.IsEnabled() { 15391 ctx = tracing.StartSpan(ctx, fqdn+"/ProcessThreadInfoCollectionIterator.NextWithContext") 15392 defer func() { 15393 sc := -1 15394 if iter.Response().Response.Response != nil { 15395 sc = iter.Response().Response.Response.StatusCode 15396 } 15397 tracing.EndSpan(ctx, sc, err) 15398 }() 15399 } 15400 iter.i++ 15401 if iter.i < len(iter.page.Values()) { 15402 return nil 15403 } 15404 err = iter.page.NextWithContext(ctx) 15405 if err != nil { 15406 iter.i-- 15407 return err 15408 } 15409 iter.i = 0 15410 return nil 15411} 15412 15413// Next advances to the next value. If there was an error making 15414// the request the iterator does not advance and the error is returned. 15415// Deprecated: Use NextWithContext() instead. 15416func (iter *ProcessThreadInfoCollectionIterator) Next() error { 15417 return iter.NextWithContext(context.Background()) 15418} 15419 15420// NotDone returns true if the enumeration should be started or is not yet complete. 15421func (iter ProcessThreadInfoCollectionIterator) NotDone() bool { 15422 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 15423} 15424 15425// Response returns the raw server response from the last page request. 15426func (iter ProcessThreadInfoCollectionIterator) Response() ProcessThreadInfoCollection { 15427 return iter.page.Response() 15428} 15429 15430// Value returns the current value or a zero-initialized value if the 15431// iterator has advanced beyond the end of the collection. 15432func (iter ProcessThreadInfoCollectionIterator) Value() ProcessThreadInfo { 15433 if !iter.page.NotDone() { 15434 return ProcessThreadInfo{} 15435 } 15436 return iter.page.Values()[iter.i] 15437} 15438 15439// Creates a new instance of the ProcessThreadInfoCollectionIterator type. 15440func NewProcessThreadInfoCollectionIterator(page ProcessThreadInfoCollectionPage) ProcessThreadInfoCollectionIterator { 15441 return ProcessThreadInfoCollectionIterator{page: page} 15442} 15443 15444// IsEmpty returns true if the ListResult contains no values. 15445func (ptic ProcessThreadInfoCollection) IsEmpty() bool { 15446 return ptic.Value == nil || len(*ptic.Value) == 0 15447} 15448 15449// hasNextLink returns true if the NextLink is not empty. 15450func (ptic ProcessThreadInfoCollection) hasNextLink() bool { 15451 return ptic.NextLink != nil && len(*ptic.NextLink) != 0 15452} 15453 15454// processThreadInfoCollectionPreparer prepares a request to retrieve the next set of results. 15455// It returns nil if no more results exist. 15456func (ptic ProcessThreadInfoCollection) processThreadInfoCollectionPreparer(ctx context.Context) (*http.Request, error) { 15457 if !ptic.hasNextLink() { 15458 return nil, nil 15459 } 15460 return autorest.Prepare((&http.Request{}).WithContext(ctx), 15461 autorest.AsJSON(), 15462 autorest.AsGet(), 15463 autorest.WithBaseURL(to.String(ptic.NextLink))) 15464} 15465 15466// ProcessThreadInfoCollectionPage contains a page of ProcessThreadInfo values. 15467type ProcessThreadInfoCollectionPage struct { 15468 fn func(context.Context, ProcessThreadInfoCollection) (ProcessThreadInfoCollection, error) 15469 ptic ProcessThreadInfoCollection 15470} 15471 15472// NextWithContext advances to the next page of values. If there was an error making 15473// the request the page does not advance and the error is returned. 15474func (page *ProcessThreadInfoCollectionPage) NextWithContext(ctx context.Context) (err error) { 15475 if tracing.IsEnabled() { 15476 ctx = tracing.StartSpan(ctx, fqdn+"/ProcessThreadInfoCollectionPage.NextWithContext") 15477 defer func() { 15478 sc := -1 15479 if page.Response().Response.Response != nil { 15480 sc = page.Response().Response.Response.StatusCode 15481 } 15482 tracing.EndSpan(ctx, sc, err) 15483 }() 15484 } 15485 for { 15486 next, err := page.fn(ctx, page.ptic) 15487 if err != nil { 15488 return err 15489 } 15490 page.ptic = next 15491 if !next.hasNextLink() || !next.IsEmpty() { 15492 break 15493 } 15494 } 15495 return nil 15496} 15497 15498// Next advances to the next page of values. If there was an error making 15499// the request the page does not advance and the error is returned. 15500// Deprecated: Use NextWithContext() instead. 15501func (page *ProcessThreadInfoCollectionPage) Next() error { 15502 return page.NextWithContext(context.Background()) 15503} 15504 15505// NotDone returns true if the page enumeration should be started or is not yet complete. 15506func (page ProcessThreadInfoCollectionPage) NotDone() bool { 15507 return !page.ptic.IsEmpty() 15508} 15509 15510// Response returns the raw server response from the last page request. 15511func (page ProcessThreadInfoCollectionPage) Response() ProcessThreadInfoCollection { 15512 return page.ptic 15513} 15514 15515// Values returns the slice of values for the current page or nil if there are no values. 15516func (page ProcessThreadInfoCollectionPage) Values() []ProcessThreadInfo { 15517 if page.ptic.IsEmpty() { 15518 return nil 15519 } 15520 return *page.ptic.Value 15521} 15522 15523// Creates a new instance of the ProcessThreadInfoCollectionPage type. 15524func NewProcessThreadInfoCollectionPage(cur ProcessThreadInfoCollection, getNextPage func(context.Context, ProcessThreadInfoCollection) (ProcessThreadInfoCollection, error)) ProcessThreadInfoCollectionPage { 15525 return ProcessThreadInfoCollectionPage{ 15526 fn: getNextPage, 15527 ptic: cur, 15528 } 15529} 15530 15531// ProcessThreadInfoProperties processThreadInfo resource specific properties 15532type ProcessThreadInfoProperties struct { 15533 // Identifier - READ-ONLY; Site extension ID. 15534 Identifier *int32 `json:"identifier,omitempty"` 15535 // Href - HRef URI. 15536 Href *string `json:"href,omitempty"` 15537 // Process - Process URI. 15538 Process *string `json:"process,omitempty"` 15539 // StartAddress - Start address. 15540 StartAddress *string `json:"start_address,omitempty"` 15541 // CurrentPriority - Current thread priority. 15542 CurrentPriority *int32 `json:"current_priority,omitempty"` 15543 // PriorityLevel - Thread priority level. 15544 PriorityLevel *string `json:"priority_level,omitempty"` 15545 // BasePriority - Base priority. 15546 BasePriority *int32 `json:"base_priority,omitempty"` 15547 // StartTime - Start time. 15548 StartTime *date.Time `json:"start_time,omitempty"` 15549 // TotalProcessorTime - Total processor time. 15550 TotalProcessorTime *string `json:"total_processor_time,omitempty"` 15551 // UserProcessorTime - User processor time. 15552 UserProcessorTime *string `json:"user_processor_time,omitempty"` 15553 // PriviledgedProcessorTime - Privileged processor time. 15554 PriviledgedProcessorTime *string `json:"priviledged_processor_time,omitempty"` 15555 // State - Thread state. 15556 State *string `json:"state,omitempty"` 15557 // WaitReason - Wait reason. 15558 WaitReason *string `json:"wait_reason,omitempty"` 15559} 15560 15561// MarshalJSON is the custom marshaler for ProcessThreadInfoProperties. 15562func (pti ProcessThreadInfoProperties) MarshalJSON() ([]byte, error) { 15563 objectMap := make(map[string]interface{}) 15564 if pti.Href != nil { 15565 objectMap["href"] = pti.Href 15566 } 15567 if pti.Process != nil { 15568 objectMap["process"] = pti.Process 15569 } 15570 if pti.StartAddress != nil { 15571 objectMap["start_address"] = pti.StartAddress 15572 } 15573 if pti.CurrentPriority != nil { 15574 objectMap["current_priority"] = pti.CurrentPriority 15575 } 15576 if pti.PriorityLevel != nil { 15577 objectMap["priority_level"] = pti.PriorityLevel 15578 } 15579 if pti.BasePriority != nil { 15580 objectMap["base_priority"] = pti.BasePriority 15581 } 15582 if pti.StartTime != nil { 15583 objectMap["start_time"] = pti.StartTime 15584 } 15585 if pti.TotalProcessorTime != nil { 15586 objectMap["total_processor_time"] = pti.TotalProcessorTime 15587 } 15588 if pti.UserProcessorTime != nil { 15589 objectMap["user_processor_time"] = pti.UserProcessorTime 15590 } 15591 if pti.PriviledgedProcessorTime != nil { 15592 objectMap["priviledged_processor_time"] = pti.PriviledgedProcessorTime 15593 } 15594 if pti.State != nil { 15595 objectMap["state"] = pti.State 15596 } 15597 if pti.WaitReason != nil { 15598 objectMap["wait_reason"] = pti.WaitReason 15599 } 15600 return json.Marshal(objectMap) 15601} 15602 15603// ProxyOnlyResource azure proxy only resource. This resource is not tracked by Azure Resource Manager. 15604type ProxyOnlyResource struct { 15605 // ID - READ-ONLY; Resource Id. 15606 ID *string `json:"id,omitempty"` 15607 // Name - READ-ONLY; Resource Name. 15608 Name *string `json:"name,omitempty"` 15609 // Kind - Kind of resource. 15610 Kind *string `json:"kind,omitempty"` 15611 // Type - READ-ONLY; Resource type. 15612 Type *string `json:"type,omitempty"` 15613} 15614 15615// MarshalJSON is the custom marshaler for ProxyOnlyResource. 15616func (por ProxyOnlyResource) MarshalJSON() ([]byte, error) { 15617 objectMap := make(map[string]interface{}) 15618 if por.Kind != nil { 15619 objectMap["kind"] = por.Kind 15620 } 15621 return json.Marshal(objectMap) 15622} 15623 15624// PublicCertificate public certificate object 15625type PublicCertificate struct { 15626 autorest.Response `json:"-"` 15627 // PublicCertificateProperties - PublicCertificate resource specific properties 15628 *PublicCertificateProperties `json:"properties,omitempty"` 15629 // ID - READ-ONLY; Resource Id. 15630 ID *string `json:"id,omitempty"` 15631 // Name - READ-ONLY; Resource Name. 15632 Name *string `json:"name,omitempty"` 15633 // Kind - Kind of resource. 15634 Kind *string `json:"kind,omitempty"` 15635 // Type - READ-ONLY; Resource type. 15636 Type *string `json:"type,omitempty"` 15637} 15638 15639// MarshalJSON is the custom marshaler for PublicCertificate. 15640func (pc PublicCertificate) MarshalJSON() ([]byte, error) { 15641 objectMap := make(map[string]interface{}) 15642 if pc.PublicCertificateProperties != nil { 15643 objectMap["properties"] = pc.PublicCertificateProperties 15644 } 15645 if pc.Kind != nil { 15646 objectMap["kind"] = pc.Kind 15647 } 15648 return json.Marshal(objectMap) 15649} 15650 15651// UnmarshalJSON is the custom unmarshaler for PublicCertificate struct. 15652func (pc *PublicCertificate) UnmarshalJSON(body []byte) error { 15653 var m map[string]*json.RawMessage 15654 err := json.Unmarshal(body, &m) 15655 if err != nil { 15656 return err 15657 } 15658 for k, v := range m { 15659 switch k { 15660 case "properties": 15661 if v != nil { 15662 var publicCertificateProperties PublicCertificateProperties 15663 err = json.Unmarshal(*v, &publicCertificateProperties) 15664 if err != nil { 15665 return err 15666 } 15667 pc.PublicCertificateProperties = &publicCertificateProperties 15668 } 15669 case "id": 15670 if v != nil { 15671 var ID string 15672 err = json.Unmarshal(*v, &ID) 15673 if err != nil { 15674 return err 15675 } 15676 pc.ID = &ID 15677 } 15678 case "name": 15679 if v != nil { 15680 var name string 15681 err = json.Unmarshal(*v, &name) 15682 if err != nil { 15683 return err 15684 } 15685 pc.Name = &name 15686 } 15687 case "kind": 15688 if v != nil { 15689 var kind string 15690 err = json.Unmarshal(*v, &kind) 15691 if err != nil { 15692 return err 15693 } 15694 pc.Kind = &kind 15695 } 15696 case "type": 15697 if v != nil { 15698 var typeVar string 15699 err = json.Unmarshal(*v, &typeVar) 15700 if err != nil { 15701 return err 15702 } 15703 pc.Type = &typeVar 15704 } 15705 } 15706 } 15707 15708 return nil 15709} 15710 15711// PublicCertificateCollection collection of public certificates 15712type PublicCertificateCollection struct { 15713 autorest.Response `json:"-"` 15714 // Value - Collection of resources. 15715 Value *[]PublicCertificate `json:"value,omitempty"` 15716 // NextLink - READ-ONLY; Link to next page of resources. 15717 NextLink *string `json:"nextLink,omitempty"` 15718} 15719 15720// MarshalJSON is the custom marshaler for PublicCertificateCollection. 15721func (pcc PublicCertificateCollection) MarshalJSON() ([]byte, error) { 15722 objectMap := make(map[string]interface{}) 15723 if pcc.Value != nil { 15724 objectMap["value"] = pcc.Value 15725 } 15726 return json.Marshal(objectMap) 15727} 15728 15729// PublicCertificateCollectionIterator provides access to a complete listing of PublicCertificate values. 15730type PublicCertificateCollectionIterator struct { 15731 i int 15732 page PublicCertificateCollectionPage 15733} 15734 15735// NextWithContext advances to the next value. If there was an error making 15736// the request the iterator does not advance and the error is returned. 15737func (iter *PublicCertificateCollectionIterator) NextWithContext(ctx context.Context) (err error) { 15738 if tracing.IsEnabled() { 15739 ctx = tracing.StartSpan(ctx, fqdn+"/PublicCertificateCollectionIterator.NextWithContext") 15740 defer func() { 15741 sc := -1 15742 if iter.Response().Response.Response != nil { 15743 sc = iter.Response().Response.Response.StatusCode 15744 } 15745 tracing.EndSpan(ctx, sc, err) 15746 }() 15747 } 15748 iter.i++ 15749 if iter.i < len(iter.page.Values()) { 15750 return nil 15751 } 15752 err = iter.page.NextWithContext(ctx) 15753 if err != nil { 15754 iter.i-- 15755 return err 15756 } 15757 iter.i = 0 15758 return nil 15759} 15760 15761// Next advances to the next value. If there was an error making 15762// the request the iterator does not advance and the error is returned. 15763// Deprecated: Use NextWithContext() instead. 15764func (iter *PublicCertificateCollectionIterator) Next() error { 15765 return iter.NextWithContext(context.Background()) 15766} 15767 15768// NotDone returns true if the enumeration should be started or is not yet complete. 15769func (iter PublicCertificateCollectionIterator) NotDone() bool { 15770 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 15771} 15772 15773// Response returns the raw server response from the last page request. 15774func (iter PublicCertificateCollectionIterator) Response() PublicCertificateCollection { 15775 return iter.page.Response() 15776} 15777 15778// Value returns the current value or a zero-initialized value if the 15779// iterator has advanced beyond the end of the collection. 15780func (iter PublicCertificateCollectionIterator) Value() PublicCertificate { 15781 if !iter.page.NotDone() { 15782 return PublicCertificate{} 15783 } 15784 return iter.page.Values()[iter.i] 15785} 15786 15787// Creates a new instance of the PublicCertificateCollectionIterator type. 15788func NewPublicCertificateCollectionIterator(page PublicCertificateCollectionPage) PublicCertificateCollectionIterator { 15789 return PublicCertificateCollectionIterator{page: page} 15790} 15791 15792// IsEmpty returns true if the ListResult contains no values. 15793func (pcc PublicCertificateCollection) IsEmpty() bool { 15794 return pcc.Value == nil || len(*pcc.Value) == 0 15795} 15796 15797// hasNextLink returns true if the NextLink is not empty. 15798func (pcc PublicCertificateCollection) hasNextLink() bool { 15799 return pcc.NextLink != nil && len(*pcc.NextLink) != 0 15800} 15801 15802// publicCertificateCollectionPreparer prepares a request to retrieve the next set of results. 15803// It returns nil if no more results exist. 15804func (pcc PublicCertificateCollection) publicCertificateCollectionPreparer(ctx context.Context) (*http.Request, error) { 15805 if !pcc.hasNextLink() { 15806 return nil, nil 15807 } 15808 return autorest.Prepare((&http.Request{}).WithContext(ctx), 15809 autorest.AsJSON(), 15810 autorest.AsGet(), 15811 autorest.WithBaseURL(to.String(pcc.NextLink))) 15812} 15813 15814// PublicCertificateCollectionPage contains a page of PublicCertificate values. 15815type PublicCertificateCollectionPage struct { 15816 fn func(context.Context, PublicCertificateCollection) (PublicCertificateCollection, error) 15817 pcc PublicCertificateCollection 15818} 15819 15820// NextWithContext advances to the next page of values. If there was an error making 15821// the request the page does not advance and the error is returned. 15822func (page *PublicCertificateCollectionPage) NextWithContext(ctx context.Context) (err error) { 15823 if tracing.IsEnabled() { 15824 ctx = tracing.StartSpan(ctx, fqdn+"/PublicCertificateCollectionPage.NextWithContext") 15825 defer func() { 15826 sc := -1 15827 if page.Response().Response.Response != nil { 15828 sc = page.Response().Response.Response.StatusCode 15829 } 15830 tracing.EndSpan(ctx, sc, err) 15831 }() 15832 } 15833 for { 15834 next, err := page.fn(ctx, page.pcc) 15835 if err != nil { 15836 return err 15837 } 15838 page.pcc = next 15839 if !next.hasNextLink() || !next.IsEmpty() { 15840 break 15841 } 15842 } 15843 return nil 15844} 15845 15846// Next advances to the next page of values. If there was an error making 15847// the request the page does not advance and the error is returned. 15848// Deprecated: Use NextWithContext() instead. 15849func (page *PublicCertificateCollectionPage) Next() error { 15850 return page.NextWithContext(context.Background()) 15851} 15852 15853// NotDone returns true if the page enumeration should be started or is not yet complete. 15854func (page PublicCertificateCollectionPage) NotDone() bool { 15855 return !page.pcc.IsEmpty() 15856} 15857 15858// Response returns the raw server response from the last page request. 15859func (page PublicCertificateCollectionPage) Response() PublicCertificateCollection { 15860 return page.pcc 15861} 15862 15863// Values returns the slice of values for the current page or nil if there are no values. 15864func (page PublicCertificateCollectionPage) Values() []PublicCertificate { 15865 if page.pcc.IsEmpty() { 15866 return nil 15867 } 15868 return *page.pcc.Value 15869} 15870 15871// Creates a new instance of the PublicCertificateCollectionPage type. 15872func NewPublicCertificateCollectionPage(cur PublicCertificateCollection, getNextPage func(context.Context, PublicCertificateCollection) (PublicCertificateCollection, error)) PublicCertificateCollectionPage { 15873 return PublicCertificateCollectionPage{ 15874 fn: getNextPage, 15875 pcc: cur, 15876 } 15877} 15878 15879// PublicCertificateProperties publicCertificate resource specific properties 15880type PublicCertificateProperties struct { 15881 // Blob - Public Certificate byte array 15882 Blob *[]byte `json:"blob,omitempty"` 15883 // PublicCertificateLocation - Public Certificate Location. Possible values include: 'PublicCertificateLocationCurrentUserMy', 'PublicCertificateLocationLocalMachineMy', 'PublicCertificateLocationUnknown' 15884 PublicCertificateLocation PublicCertificateLocation `json:"publicCertificateLocation,omitempty"` 15885 // Thumbprint - READ-ONLY; Certificate Thumbprint 15886 Thumbprint *string `json:"thumbprint,omitempty"` 15887} 15888 15889// MarshalJSON is the custom marshaler for PublicCertificateProperties. 15890func (pc PublicCertificateProperties) MarshalJSON() ([]byte, error) { 15891 objectMap := make(map[string]interface{}) 15892 if pc.Blob != nil { 15893 objectMap["blob"] = pc.Blob 15894 } 15895 if pc.PublicCertificateLocation != "" { 15896 objectMap["publicCertificateLocation"] = pc.PublicCertificateLocation 15897 } 15898 return json.Marshal(objectMap) 15899} 15900 15901// PushSettings push settings for the App. 15902type PushSettings struct { 15903 autorest.Response `json:"-"` 15904 // PushSettingsProperties - PushSettings resource specific properties 15905 *PushSettingsProperties `json:"properties,omitempty"` 15906 // ID - READ-ONLY; Resource Id. 15907 ID *string `json:"id,omitempty"` 15908 // Name - READ-ONLY; Resource Name. 15909 Name *string `json:"name,omitempty"` 15910 // Kind - Kind of resource. 15911 Kind *string `json:"kind,omitempty"` 15912 // Type - READ-ONLY; Resource type. 15913 Type *string `json:"type,omitempty"` 15914} 15915 15916// MarshalJSON is the custom marshaler for PushSettings. 15917func (ps PushSettings) MarshalJSON() ([]byte, error) { 15918 objectMap := make(map[string]interface{}) 15919 if ps.PushSettingsProperties != nil { 15920 objectMap["properties"] = ps.PushSettingsProperties 15921 } 15922 if ps.Kind != nil { 15923 objectMap["kind"] = ps.Kind 15924 } 15925 return json.Marshal(objectMap) 15926} 15927 15928// UnmarshalJSON is the custom unmarshaler for PushSettings struct. 15929func (ps *PushSettings) UnmarshalJSON(body []byte) error { 15930 var m map[string]*json.RawMessage 15931 err := json.Unmarshal(body, &m) 15932 if err != nil { 15933 return err 15934 } 15935 for k, v := range m { 15936 switch k { 15937 case "properties": 15938 if v != nil { 15939 var pushSettingsProperties PushSettingsProperties 15940 err = json.Unmarshal(*v, &pushSettingsProperties) 15941 if err != nil { 15942 return err 15943 } 15944 ps.PushSettingsProperties = &pushSettingsProperties 15945 } 15946 case "id": 15947 if v != nil { 15948 var ID string 15949 err = json.Unmarshal(*v, &ID) 15950 if err != nil { 15951 return err 15952 } 15953 ps.ID = &ID 15954 } 15955 case "name": 15956 if v != nil { 15957 var name string 15958 err = json.Unmarshal(*v, &name) 15959 if err != nil { 15960 return err 15961 } 15962 ps.Name = &name 15963 } 15964 case "kind": 15965 if v != nil { 15966 var kind string 15967 err = json.Unmarshal(*v, &kind) 15968 if err != nil { 15969 return err 15970 } 15971 ps.Kind = &kind 15972 } 15973 case "type": 15974 if v != nil { 15975 var typeVar string 15976 err = json.Unmarshal(*v, &typeVar) 15977 if err != nil { 15978 return err 15979 } 15980 ps.Type = &typeVar 15981 } 15982 } 15983 } 15984 15985 return nil 15986} 15987 15988// PushSettingsProperties pushSettings resource specific properties 15989type PushSettingsProperties struct { 15990 // IsPushEnabled - Gets or sets a flag indicating whether the Push endpoint is enabled. 15991 IsPushEnabled *bool `json:"isPushEnabled,omitempty"` 15992 // TagWhitelistJSON - Gets or sets a JSON string containing a list of tags that are whitelisted for use by the push registration endpoint. 15993 TagWhitelistJSON *string `json:"tagWhitelistJson,omitempty"` 15994 // TagsRequiringAuth - Gets or sets a JSON string containing a list of tags that require user authentication to be used in the push registration endpoint. 15995 // Tags can consist of alphanumeric characters and the following: 15996 // '_', '@', '#', '.', ':', '-'. 15997 // Validation should be performed at the PushRequestHandler. 15998 TagsRequiringAuth *string `json:"tagsRequiringAuth,omitempty"` 15999 // DynamicTagsJSON - Gets or sets a JSON string containing a list of dynamic tags that will be evaluated from user claims in the push registration endpoint. 16000 DynamicTagsJSON *string `json:"dynamicTagsJson,omitempty"` 16001} 16002 16003// RampUpRule routing rules for ramp up testing. This rule allows to redirect static traffic % to a slot or 16004// to gradually change routing % based on performance. 16005type RampUpRule struct { 16006 // ActionHostName - Hostname of a slot to which the traffic will be redirected if decided to. E.g. myapp-stage.azurewebsites.net. 16007 ActionHostName *string `json:"actionHostName,omitempty"` 16008 // ReroutePercentage - Percentage of the traffic which will be redirected to <code>ActionHostName</code>. 16009 ReroutePercentage *float64 `json:"reroutePercentage,omitempty"` 16010 // ChangeStep - In auto ramp up scenario this is the step to add/remove from <code>ReroutePercentage</code> until it reaches 16011 // <code>MinReroutePercentage</code> or <code>MaxReroutePercentage</code>. Site metrics are checked every N minutes specified in <code>ChangeIntervalInMinutes</code>. 16012 // Custom decision algorithm can be provided in TiPCallback site extension which URL can be specified in <code>ChangeDecisionCallbackUrl</code>. 16013 ChangeStep *float64 `json:"changeStep,omitempty"` 16014 // ChangeIntervalInMinutes - Specifies interval in minutes to reevaluate ReroutePercentage. 16015 ChangeIntervalInMinutes *int32 `json:"changeIntervalInMinutes,omitempty"` 16016 // MinReroutePercentage - Specifies lower boundary above which ReroutePercentage will stay. 16017 MinReroutePercentage *float64 `json:"minReroutePercentage,omitempty"` 16018 // MaxReroutePercentage - Specifies upper boundary below which ReroutePercentage will stay. 16019 MaxReroutePercentage *float64 `json:"maxReroutePercentage,omitempty"` 16020 // ChangeDecisionCallbackURL - Custom decision algorithm can be provided in TiPCallback site extension which URL can be specified. See TiPCallback site extension for the scaffold and contracts. 16021 // https://www.siteextensions.net/packages/TiPCallback/ 16022 ChangeDecisionCallbackURL *string `json:"changeDecisionCallbackUrl,omitempty"` 16023 // Name - Name of the routing rule. The recommended name would be to point to the slot which will receive the traffic in the experiment. 16024 Name *string `json:"name,omitempty"` 16025} 16026 16027// ReadCloser ... 16028type ReadCloser struct { 16029 autorest.Response `json:"-"` 16030 Value *io.ReadCloser `json:"value,omitempty"` 16031} 16032 16033// Recommendation represents a recommendation result generated by the recommendation engine. 16034type Recommendation struct { 16035 // RecommendationProperties - Recommendation resource specific properties 16036 *RecommendationProperties `json:"properties,omitempty"` 16037 // ID - READ-ONLY; Resource Id. 16038 ID *string `json:"id,omitempty"` 16039 // Name - READ-ONLY; Resource Name. 16040 Name *string `json:"name,omitempty"` 16041 // Kind - Kind of resource. 16042 Kind *string `json:"kind,omitempty"` 16043 // Type - READ-ONLY; Resource type. 16044 Type *string `json:"type,omitempty"` 16045} 16046 16047// MarshalJSON is the custom marshaler for Recommendation. 16048func (r Recommendation) MarshalJSON() ([]byte, error) { 16049 objectMap := make(map[string]interface{}) 16050 if r.RecommendationProperties != nil { 16051 objectMap["properties"] = r.RecommendationProperties 16052 } 16053 if r.Kind != nil { 16054 objectMap["kind"] = r.Kind 16055 } 16056 return json.Marshal(objectMap) 16057} 16058 16059// UnmarshalJSON is the custom unmarshaler for Recommendation struct. 16060func (r *Recommendation) UnmarshalJSON(body []byte) error { 16061 var m map[string]*json.RawMessage 16062 err := json.Unmarshal(body, &m) 16063 if err != nil { 16064 return err 16065 } 16066 for k, v := range m { 16067 switch k { 16068 case "properties": 16069 if v != nil { 16070 var recommendationProperties RecommendationProperties 16071 err = json.Unmarshal(*v, &recommendationProperties) 16072 if err != nil { 16073 return err 16074 } 16075 r.RecommendationProperties = &recommendationProperties 16076 } 16077 case "id": 16078 if v != nil { 16079 var ID string 16080 err = json.Unmarshal(*v, &ID) 16081 if err != nil { 16082 return err 16083 } 16084 r.ID = &ID 16085 } 16086 case "name": 16087 if v != nil { 16088 var name string 16089 err = json.Unmarshal(*v, &name) 16090 if err != nil { 16091 return err 16092 } 16093 r.Name = &name 16094 } 16095 case "kind": 16096 if v != nil { 16097 var kind string 16098 err = json.Unmarshal(*v, &kind) 16099 if err != nil { 16100 return err 16101 } 16102 r.Kind = &kind 16103 } 16104 case "type": 16105 if v != nil { 16106 var typeVar string 16107 err = json.Unmarshal(*v, &typeVar) 16108 if err != nil { 16109 return err 16110 } 16111 r.Type = &typeVar 16112 } 16113 } 16114 } 16115 16116 return nil 16117} 16118 16119// RecommendationCollection collection of recommendations. 16120type RecommendationCollection struct { 16121 autorest.Response `json:"-"` 16122 // Value - Collection of resources. 16123 Value *[]Recommendation `json:"value,omitempty"` 16124 // NextLink - READ-ONLY; Link to next page of resources. 16125 NextLink *string `json:"nextLink,omitempty"` 16126} 16127 16128// MarshalJSON is the custom marshaler for RecommendationCollection. 16129func (rc RecommendationCollection) MarshalJSON() ([]byte, error) { 16130 objectMap := make(map[string]interface{}) 16131 if rc.Value != nil { 16132 objectMap["value"] = rc.Value 16133 } 16134 return json.Marshal(objectMap) 16135} 16136 16137// RecommendationCollectionIterator provides access to a complete listing of Recommendation values. 16138type RecommendationCollectionIterator struct { 16139 i int 16140 page RecommendationCollectionPage 16141} 16142 16143// NextWithContext advances to the next value. If there was an error making 16144// the request the iterator does not advance and the error is returned. 16145func (iter *RecommendationCollectionIterator) NextWithContext(ctx context.Context) (err error) { 16146 if tracing.IsEnabled() { 16147 ctx = tracing.StartSpan(ctx, fqdn+"/RecommendationCollectionIterator.NextWithContext") 16148 defer func() { 16149 sc := -1 16150 if iter.Response().Response.Response != nil { 16151 sc = iter.Response().Response.Response.StatusCode 16152 } 16153 tracing.EndSpan(ctx, sc, err) 16154 }() 16155 } 16156 iter.i++ 16157 if iter.i < len(iter.page.Values()) { 16158 return nil 16159 } 16160 err = iter.page.NextWithContext(ctx) 16161 if err != nil { 16162 iter.i-- 16163 return err 16164 } 16165 iter.i = 0 16166 return nil 16167} 16168 16169// Next advances to the next value. If there was an error making 16170// the request the iterator does not advance and the error is returned. 16171// Deprecated: Use NextWithContext() instead. 16172func (iter *RecommendationCollectionIterator) Next() error { 16173 return iter.NextWithContext(context.Background()) 16174} 16175 16176// NotDone returns true if the enumeration should be started or is not yet complete. 16177func (iter RecommendationCollectionIterator) NotDone() bool { 16178 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 16179} 16180 16181// Response returns the raw server response from the last page request. 16182func (iter RecommendationCollectionIterator) Response() RecommendationCollection { 16183 return iter.page.Response() 16184} 16185 16186// Value returns the current value or a zero-initialized value if the 16187// iterator has advanced beyond the end of the collection. 16188func (iter RecommendationCollectionIterator) Value() Recommendation { 16189 if !iter.page.NotDone() { 16190 return Recommendation{} 16191 } 16192 return iter.page.Values()[iter.i] 16193} 16194 16195// Creates a new instance of the RecommendationCollectionIterator type. 16196func NewRecommendationCollectionIterator(page RecommendationCollectionPage) RecommendationCollectionIterator { 16197 return RecommendationCollectionIterator{page: page} 16198} 16199 16200// IsEmpty returns true if the ListResult contains no values. 16201func (rc RecommendationCollection) IsEmpty() bool { 16202 return rc.Value == nil || len(*rc.Value) == 0 16203} 16204 16205// hasNextLink returns true if the NextLink is not empty. 16206func (rc RecommendationCollection) hasNextLink() bool { 16207 return rc.NextLink != nil && len(*rc.NextLink) != 0 16208} 16209 16210// recommendationCollectionPreparer prepares a request to retrieve the next set of results. 16211// It returns nil if no more results exist. 16212func (rc RecommendationCollection) recommendationCollectionPreparer(ctx context.Context) (*http.Request, error) { 16213 if !rc.hasNextLink() { 16214 return nil, nil 16215 } 16216 return autorest.Prepare((&http.Request{}).WithContext(ctx), 16217 autorest.AsJSON(), 16218 autorest.AsGet(), 16219 autorest.WithBaseURL(to.String(rc.NextLink))) 16220} 16221 16222// RecommendationCollectionPage contains a page of Recommendation values. 16223type RecommendationCollectionPage struct { 16224 fn func(context.Context, RecommendationCollection) (RecommendationCollection, error) 16225 rc RecommendationCollection 16226} 16227 16228// NextWithContext advances to the next page of values. If there was an error making 16229// the request the page does not advance and the error is returned. 16230func (page *RecommendationCollectionPage) NextWithContext(ctx context.Context) (err error) { 16231 if tracing.IsEnabled() { 16232 ctx = tracing.StartSpan(ctx, fqdn+"/RecommendationCollectionPage.NextWithContext") 16233 defer func() { 16234 sc := -1 16235 if page.Response().Response.Response != nil { 16236 sc = page.Response().Response.Response.StatusCode 16237 } 16238 tracing.EndSpan(ctx, sc, err) 16239 }() 16240 } 16241 for { 16242 next, err := page.fn(ctx, page.rc) 16243 if err != nil { 16244 return err 16245 } 16246 page.rc = next 16247 if !next.hasNextLink() || !next.IsEmpty() { 16248 break 16249 } 16250 } 16251 return nil 16252} 16253 16254// Next advances to the next page of values. If there was an error making 16255// the request the page does not advance and the error is returned. 16256// Deprecated: Use NextWithContext() instead. 16257func (page *RecommendationCollectionPage) Next() error { 16258 return page.NextWithContext(context.Background()) 16259} 16260 16261// NotDone returns true if the page enumeration should be started or is not yet complete. 16262func (page RecommendationCollectionPage) NotDone() bool { 16263 return !page.rc.IsEmpty() 16264} 16265 16266// Response returns the raw server response from the last page request. 16267func (page RecommendationCollectionPage) Response() RecommendationCollection { 16268 return page.rc 16269} 16270 16271// Values returns the slice of values for the current page or nil if there are no values. 16272func (page RecommendationCollectionPage) Values() []Recommendation { 16273 if page.rc.IsEmpty() { 16274 return nil 16275 } 16276 return *page.rc.Value 16277} 16278 16279// Creates a new instance of the RecommendationCollectionPage type. 16280func NewRecommendationCollectionPage(cur RecommendationCollection, getNextPage func(context.Context, RecommendationCollection) (RecommendationCollection, error)) RecommendationCollectionPage { 16281 return RecommendationCollectionPage{ 16282 fn: getNextPage, 16283 rc: cur, 16284 } 16285} 16286 16287// RecommendationProperties recommendation resource specific properties 16288type RecommendationProperties struct { 16289 // CreationTime - Timestamp when this instance was created. 16290 CreationTime *date.Time `json:"creationTime,omitempty"` 16291 // RecommendationID - A GUID value that each recommendation object is associated with. 16292 RecommendationID *uuid.UUID `json:"recommendationId,omitempty"` 16293 // ResourceID - Full ARM resource ID string that this recommendation object is associated with. 16294 ResourceID *string `json:"resourceId,omitempty"` 16295 // ResourceScope - Name of a resource type this recommendation applies, e.g. Subscription, ServerFarm, Site. Possible values include: 'ServerFarm', 'Subscription', 'WebSite' 16296 ResourceScope ResourceScopeType `json:"resourceScope,omitempty"` 16297 // RuleName - Unique name of the rule. 16298 RuleName *string `json:"ruleName,omitempty"` 16299 // DisplayName - UI friendly name of the rule (may not be unique). 16300 DisplayName *string `json:"displayName,omitempty"` 16301 // Message - Recommendation text. 16302 Message *string `json:"message,omitempty"` 16303 // Level - Level indicating how critical this recommendation can impact. Possible values include: 'NotificationLevelCritical', 'NotificationLevelWarning', 'NotificationLevelInformation', 'NotificationLevelNonUrgentSuggestion' 16304 Level NotificationLevel `json:"level,omitempty"` 16305 // Channels - List of channels that this recommendation can apply. Possible values include: 'Notification', 'API', 'Email', 'Webhook', 'All' 16306 Channels Channels `json:"channels,omitempty"` 16307 // CategoryTags - READ-ONLY; The list of category tags that this recommendation belongs to. 16308 CategoryTags *[]string `json:"categoryTags,omitempty"` 16309 // ActionName - Name of action recommended by this object. 16310 ActionName *string `json:"actionName,omitempty"` 16311 // Enabled - True if this recommendation is still valid (i.e. "actionable"). False if it is invalid. 16312 Enabled *int32 `json:"enabled,omitempty"` 16313 // States - The list of states of this recommendation. If it's null then it should be considered "Active". 16314 States *[]string `json:"states,omitempty"` 16315 // StartTime - The beginning time in UTC of a range that the recommendation refers to. 16316 StartTime *date.Time `json:"startTime,omitempty"` 16317 // EndTime - The end time in UTC of a range that the recommendation refers to. 16318 EndTime *date.Time `json:"endTime,omitempty"` 16319 // NextNotificationTime - When to notify this recommendation next in UTC. Null means that this will never be notified anymore. 16320 NextNotificationTime *date.Time `json:"nextNotificationTime,omitempty"` 16321 // NotificationExpirationTime - Date and time in UTC when this notification expires. 16322 NotificationExpirationTime *date.Time `json:"notificationExpirationTime,omitempty"` 16323 // NotifiedTime - Last timestamp in UTC this instance was actually notified. Null means that this recommendation hasn't been notified yet. 16324 NotifiedTime *date.Time `json:"notifiedTime,omitempty"` 16325 // Score - A metric value measured by the rule. 16326 Score *float64 `json:"score,omitempty"` 16327 // IsDynamic - True if this is associated with a dynamically added rule 16328 IsDynamic *bool `json:"isDynamic,omitempty"` 16329 // ExtensionName - Extension name of the portal if exists. 16330 ExtensionName *string `json:"extensionName,omitempty"` 16331 // BladeName - Deep link to a blade on the portal. 16332 BladeName *string `json:"bladeName,omitempty"` 16333 // ForwardLink - Forward link to an external document associated with the rule. 16334 ForwardLink *string `json:"forwardLink,omitempty"` 16335} 16336 16337// MarshalJSON is the custom marshaler for RecommendationProperties. 16338func (r RecommendationProperties) MarshalJSON() ([]byte, error) { 16339 objectMap := make(map[string]interface{}) 16340 if r.CreationTime != nil { 16341 objectMap["creationTime"] = r.CreationTime 16342 } 16343 if r.RecommendationID != nil { 16344 objectMap["recommendationId"] = r.RecommendationID 16345 } 16346 if r.ResourceID != nil { 16347 objectMap["resourceId"] = r.ResourceID 16348 } 16349 if r.ResourceScope != "" { 16350 objectMap["resourceScope"] = r.ResourceScope 16351 } 16352 if r.RuleName != nil { 16353 objectMap["ruleName"] = r.RuleName 16354 } 16355 if r.DisplayName != nil { 16356 objectMap["displayName"] = r.DisplayName 16357 } 16358 if r.Message != nil { 16359 objectMap["message"] = r.Message 16360 } 16361 if r.Level != "" { 16362 objectMap["level"] = r.Level 16363 } 16364 if r.Channels != "" { 16365 objectMap["channels"] = r.Channels 16366 } 16367 if r.ActionName != nil { 16368 objectMap["actionName"] = r.ActionName 16369 } 16370 if r.Enabled != nil { 16371 objectMap["enabled"] = r.Enabled 16372 } 16373 if r.States != nil { 16374 objectMap["states"] = r.States 16375 } 16376 if r.StartTime != nil { 16377 objectMap["startTime"] = r.StartTime 16378 } 16379 if r.EndTime != nil { 16380 objectMap["endTime"] = r.EndTime 16381 } 16382 if r.NextNotificationTime != nil { 16383 objectMap["nextNotificationTime"] = r.NextNotificationTime 16384 } 16385 if r.NotificationExpirationTime != nil { 16386 objectMap["notificationExpirationTime"] = r.NotificationExpirationTime 16387 } 16388 if r.NotifiedTime != nil { 16389 objectMap["notifiedTime"] = r.NotifiedTime 16390 } 16391 if r.Score != nil { 16392 objectMap["score"] = r.Score 16393 } 16394 if r.IsDynamic != nil { 16395 objectMap["isDynamic"] = r.IsDynamic 16396 } 16397 if r.ExtensionName != nil { 16398 objectMap["extensionName"] = r.ExtensionName 16399 } 16400 if r.BladeName != nil { 16401 objectMap["bladeName"] = r.BladeName 16402 } 16403 if r.ForwardLink != nil { 16404 objectMap["forwardLink"] = r.ForwardLink 16405 } 16406 return json.Marshal(objectMap) 16407} 16408 16409// RecommendationRule represents a recommendation rule that the recommendation engine can perform. 16410type RecommendationRule struct { 16411 autorest.Response `json:"-"` 16412 // RecommendationRuleProperties - RecommendationRule resource specific properties 16413 *RecommendationRuleProperties `json:"properties,omitempty"` 16414 // ID - READ-ONLY; Resource Id. 16415 ID *string `json:"id,omitempty"` 16416 // Name - READ-ONLY; Resource Name. 16417 Name *string `json:"name,omitempty"` 16418 // Kind - Kind of resource. 16419 Kind *string `json:"kind,omitempty"` 16420 // Type - READ-ONLY; Resource type. 16421 Type *string `json:"type,omitempty"` 16422} 16423 16424// MarshalJSON is the custom marshaler for RecommendationRule. 16425func (rr RecommendationRule) MarshalJSON() ([]byte, error) { 16426 objectMap := make(map[string]interface{}) 16427 if rr.RecommendationRuleProperties != nil { 16428 objectMap["properties"] = rr.RecommendationRuleProperties 16429 } 16430 if rr.Kind != nil { 16431 objectMap["kind"] = rr.Kind 16432 } 16433 return json.Marshal(objectMap) 16434} 16435 16436// UnmarshalJSON is the custom unmarshaler for RecommendationRule struct. 16437func (rr *RecommendationRule) UnmarshalJSON(body []byte) error { 16438 var m map[string]*json.RawMessage 16439 err := json.Unmarshal(body, &m) 16440 if err != nil { 16441 return err 16442 } 16443 for k, v := range m { 16444 switch k { 16445 case "properties": 16446 if v != nil { 16447 var recommendationRuleProperties RecommendationRuleProperties 16448 err = json.Unmarshal(*v, &recommendationRuleProperties) 16449 if err != nil { 16450 return err 16451 } 16452 rr.RecommendationRuleProperties = &recommendationRuleProperties 16453 } 16454 case "id": 16455 if v != nil { 16456 var ID string 16457 err = json.Unmarshal(*v, &ID) 16458 if err != nil { 16459 return err 16460 } 16461 rr.ID = &ID 16462 } 16463 case "name": 16464 if v != nil { 16465 var name string 16466 err = json.Unmarshal(*v, &name) 16467 if err != nil { 16468 return err 16469 } 16470 rr.Name = &name 16471 } 16472 case "kind": 16473 if v != nil { 16474 var kind string 16475 err = json.Unmarshal(*v, &kind) 16476 if err != nil { 16477 return err 16478 } 16479 rr.Kind = &kind 16480 } 16481 case "type": 16482 if v != nil { 16483 var typeVar string 16484 err = json.Unmarshal(*v, &typeVar) 16485 if err != nil { 16486 return err 16487 } 16488 rr.Type = &typeVar 16489 } 16490 } 16491 } 16492 16493 return nil 16494} 16495 16496// RecommendationRuleProperties recommendationRule resource specific properties 16497type RecommendationRuleProperties struct { 16498 // RecommendationName - Unique name of the rule. 16499 RecommendationName *string `json:"recommendationName,omitempty"` 16500 // DisplayName - UI friendly name of the rule. 16501 DisplayName *string `json:"displayName,omitempty"` 16502 // Message - Localized name of the rule (Good for UI). 16503 Message *string `json:"message,omitempty"` 16504 // RecommendationID - Recommendation ID of an associated recommendation object tied to the rule, if exists. 16505 // If such an object doesn't exist, it is set to null. 16506 RecommendationID *uuid.UUID `json:"recommendationId,omitempty"` 16507 // Description - Localized detailed description of the rule. 16508 Description *string `json:"description,omitempty"` 16509 // ActionName - Name of action that is recommended by this rule in string. 16510 ActionName *string `json:"actionName,omitempty"` 16511 // Level - Level of impact indicating how critical this rule is. Possible values include: 'NotificationLevelCritical', 'NotificationLevelWarning', 'NotificationLevelInformation', 'NotificationLevelNonUrgentSuggestion' 16512 Level NotificationLevel `json:"level,omitempty"` 16513 // Channels - List of available channels that this rule applies. Possible values include: 'Notification', 'API', 'Email', 'Webhook', 'All' 16514 Channels Channels `json:"channels,omitempty"` 16515 // CategoryTags - READ-ONLY; The list of category tags that this recommendation rule belongs to. 16516 CategoryTags *[]string `json:"categoryTags,omitempty"` 16517 // IsDynamic - True if this is associated with a dynamically added rule 16518 IsDynamic *bool `json:"isDynamic,omitempty"` 16519 // ExtensionName - Extension name of the portal if exists. Applicable to dynamic rule only. 16520 ExtensionName *string `json:"extensionName,omitempty"` 16521 // BladeName - Deep link to a blade on the portal. Applicable to dynamic rule only. 16522 BladeName *string `json:"bladeName,omitempty"` 16523 // ForwardLink - Forward link to an external document associated with the rule. Applicable to dynamic rule only. 16524 ForwardLink *string `json:"forwardLink,omitempty"` 16525} 16526 16527// MarshalJSON is the custom marshaler for RecommendationRuleProperties. 16528func (rr RecommendationRuleProperties) MarshalJSON() ([]byte, error) { 16529 objectMap := make(map[string]interface{}) 16530 if rr.RecommendationName != nil { 16531 objectMap["recommendationName"] = rr.RecommendationName 16532 } 16533 if rr.DisplayName != nil { 16534 objectMap["displayName"] = rr.DisplayName 16535 } 16536 if rr.Message != nil { 16537 objectMap["message"] = rr.Message 16538 } 16539 if rr.RecommendationID != nil { 16540 objectMap["recommendationId"] = rr.RecommendationID 16541 } 16542 if rr.Description != nil { 16543 objectMap["description"] = rr.Description 16544 } 16545 if rr.ActionName != nil { 16546 objectMap["actionName"] = rr.ActionName 16547 } 16548 if rr.Level != "" { 16549 objectMap["level"] = rr.Level 16550 } 16551 if rr.Channels != "" { 16552 objectMap["channels"] = rr.Channels 16553 } 16554 if rr.IsDynamic != nil { 16555 objectMap["isDynamic"] = rr.IsDynamic 16556 } 16557 if rr.ExtensionName != nil { 16558 objectMap["extensionName"] = rr.ExtensionName 16559 } 16560 if rr.BladeName != nil { 16561 objectMap["bladeName"] = rr.BladeName 16562 } 16563 if rr.ForwardLink != nil { 16564 objectMap["forwardLink"] = rr.ForwardLink 16565 } 16566 return json.Marshal(objectMap) 16567} 16568 16569// ReissueCertificateOrderRequest class representing certificate reissue request. 16570type ReissueCertificateOrderRequest struct { 16571 // ReissueCertificateOrderRequestProperties - ReissueCertificateOrderRequest resource specific properties 16572 *ReissueCertificateOrderRequestProperties `json:"properties,omitempty"` 16573 // ID - READ-ONLY; Resource Id. 16574 ID *string `json:"id,omitempty"` 16575 // Name - READ-ONLY; Resource Name. 16576 Name *string `json:"name,omitempty"` 16577 // Kind - Kind of resource. 16578 Kind *string `json:"kind,omitempty"` 16579 // Type - READ-ONLY; Resource type. 16580 Type *string `json:"type,omitempty"` 16581} 16582 16583// MarshalJSON is the custom marshaler for ReissueCertificateOrderRequest. 16584func (rcor ReissueCertificateOrderRequest) MarshalJSON() ([]byte, error) { 16585 objectMap := make(map[string]interface{}) 16586 if rcor.ReissueCertificateOrderRequestProperties != nil { 16587 objectMap["properties"] = rcor.ReissueCertificateOrderRequestProperties 16588 } 16589 if rcor.Kind != nil { 16590 objectMap["kind"] = rcor.Kind 16591 } 16592 return json.Marshal(objectMap) 16593} 16594 16595// UnmarshalJSON is the custom unmarshaler for ReissueCertificateOrderRequest struct. 16596func (rcor *ReissueCertificateOrderRequest) UnmarshalJSON(body []byte) error { 16597 var m map[string]*json.RawMessage 16598 err := json.Unmarshal(body, &m) 16599 if err != nil { 16600 return err 16601 } 16602 for k, v := range m { 16603 switch k { 16604 case "properties": 16605 if v != nil { 16606 var reissueCertificateOrderRequestProperties ReissueCertificateOrderRequestProperties 16607 err = json.Unmarshal(*v, &reissueCertificateOrderRequestProperties) 16608 if err != nil { 16609 return err 16610 } 16611 rcor.ReissueCertificateOrderRequestProperties = &reissueCertificateOrderRequestProperties 16612 } 16613 case "id": 16614 if v != nil { 16615 var ID string 16616 err = json.Unmarshal(*v, &ID) 16617 if err != nil { 16618 return err 16619 } 16620 rcor.ID = &ID 16621 } 16622 case "name": 16623 if v != nil { 16624 var name string 16625 err = json.Unmarshal(*v, &name) 16626 if err != nil { 16627 return err 16628 } 16629 rcor.Name = &name 16630 } 16631 case "kind": 16632 if v != nil { 16633 var kind string 16634 err = json.Unmarshal(*v, &kind) 16635 if err != nil { 16636 return err 16637 } 16638 rcor.Kind = &kind 16639 } 16640 case "type": 16641 if v != nil { 16642 var typeVar string 16643 err = json.Unmarshal(*v, &typeVar) 16644 if err != nil { 16645 return err 16646 } 16647 rcor.Type = &typeVar 16648 } 16649 } 16650 } 16651 16652 return nil 16653} 16654 16655// ReissueCertificateOrderRequestProperties reissueCertificateOrderRequest resource specific properties 16656type ReissueCertificateOrderRequestProperties struct { 16657 // KeySize - Certificate Key Size. 16658 KeySize *int32 `json:"keySize,omitempty"` 16659 // DelayExistingRevokeInHours - Delay in hours to revoke existing certificate after the new certificate is issued. 16660 DelayExistingRevokeInHours *int32 `json:"delayExistingRevokeInHours,omitempty"` 16661 // Csr - Csr to be used for re-key operation. 16662 Csr *string `json:"csr,omitempty"` 16663 // IsPrivateKeyExternal - Should we change the ASC type (from managed private key to external private key and vice versa). 16664 IsPrivateKeyExternal *bool `json:"isPrivateKeyExternal,omitempty"` 16665} 16666 16667// RelayServiceConnectionEntity hybrid Connection for an App Service app. 16668type RelayServiceConnectionEntity struct { 16669 autorest.Response `json:"-"` 16670 // RelayServiceConnectionEntityProperties - RelayServiceConnectionEntity resource specific properties 16671 *RelayServiceConnectionEntityProperties `json:"properties,omitempty"` 16672 // ID - READ-ONLY; Resource Id. 16673 ID *string `json:"id,omitempty"` 16674 // Name - READ-ONLY; Resource Name. 16675 Name *string `json:"name,omitempty"` 16676 // Kind - Kind of resource. 16677 Kind *string `json:"kind,omitempty"` 16678 // Type - READ-ONLY; Resource type. 16679 Type *string `json:"type,omitempty"` 16680} 16681 16682// MarshalJSON is the custom marshaler for RelayServiceConnectionEntity. 16683func (rsce RelayServiceConnectionEntity) MarshalJSON() ([]byte, error) { 16684 objectMap := make(map[string]interface{}) 16685 if rsce.RelayServiceConnectionEntityProperties != nil { 16686 objectMap["properties"] = rsce.RelayServiceConnectionEntityProperties 16687 } 16688 if rsce.Kind != nil { 16689 objectMap["kind"] = rsce.Kind 16690 } 16691 return json.Marshal(objectMap) 16692} 16693 16694// UnmarshalJSON is the custom unmarshaler for RelayServiceConnectionEntity struct. 16695func (rsce *RelayServiceConnectionEntity) UnmarshalJSON(body []byte) error { 16696 var m map[string]*json.RawMessage 16697 err := json.Unmarshal(body, &m) 16698 if err != nil { 16699 return err 16700 } 16701 for k, v := range m { 16702 switch k { 16703 case "properties": 16704 if v != nil { 16705 var relayServiceConnectionEntityProperties RelayServiceConnectionEntityProperties 16706 err = json.Unmarshal(*v, &relayServiceConnectionEntityProperties) 16707 if err != nil { 16708 return err 16709 } 16710 rsce.RelayServiceConnectionEntityProperties = &relayServiceConnectionEntityProperties 16711 } 16712 case "id": 16713 if v != nil { 16714 var ID string 16715 err = json.Unmarshal(*v, &ID) 16716 if err != nil { 16717 return err 16718 } 16719 rsce.ID = &ID 16720 } 16721 case "name": 16722 if v != nil { 16723 var name string 16724 err = json.Unmarshal(*v, &name) 16725 if err != nil { 16726 return err 16727 } 16728 rsce.Name = &name 16729 } 16730 case "kind": 16731 if v != nil { 16732 var kind string 16733 err = json.Unmarshal(*v, &kind) 16734 if err != nil { 16735 return err 16736 } 16737 rsce.Kind = &kind 16738 } 16739 case "type": 16740 if v != nil { 16741 var typeVar string 16742 err = json.Unmarshal(*v, &typeVar) 16743 if err != nil { 16744 return err 16745 } 16746 rsce.Type = &typeVar 16747 } 16748 } 16749 } 16750 16751 return nil 16752} 16753 16754// RelayServiceConnectionEntityProperties relayServiceConnectionEntity resource specific properties 16755type RelayServiceConnectionEntityProperties struct { 16756 EntityName *string `json:"entityName,omitempty"` 16757 EntityConnectionString *string `json:"entityConnectionString,omitempty"` 16758 ResourceType *string `json:"resourceType,omitempty"` 16759 ResourceConnectionString *string `json:"resourceConnectionString,omitempty"` 16760 Hostname *string `json:"hostname,omitempty"` 16761 Port *int32 `json:"port,omitempty"` 16762 BiztalkURI *string `json:"biztalkUri,omitempty"` 16763} 16764 16765// Rendering instructions for rendering the data 16766type Rendering struct { 16767 // Type - Rendering Type. Possible values include: 'NoGraph', 'Table', 'TimeSeries', 'TimeSeriesPerInstance' 16768 Type RenderingType `json:"type,omitempty"` 16769 // Title - Title of data 16770 Title *string `json:"title,omitempty"` 16771 // Description - Description of the data that will help it be interpreted 16772 Description *string `json:"description,omitempty"` 16773} 16774 16775// RenewCertificateOrderRequest class representing certificate renew request. 16776type RenewCertificateOrderRequest struct { 16777 // RenewCertificateOrderRequestProperties - RenewCertificateOrderRequest resource specific properties 16778 *RenewCertificateOrderRequestProperties `json:"properties,omitempty"` 16779 // ID - READ-ONLY; Resource Id. 16780 ID *string `json:"id,omitempty"` 16781 // Name - READ-ONLY; Resource Name. 16782 Name *string `json:"name,omitempty"` 16783 // Kind - Kind of resource. 16784 Kind *string `json:"kind,omitempty"` 16785 // Type - READ-ONLY; Resource type. 16786 Type *string `json:"type,omitempty"` 16787} 16788 16789// MarshalJSON is the custom marshaler for RenewCertificateOrderRequest. 16790func (rcor RenewCertificateOrderRequest) MarshalJSON() ([]byte, error) { 16791 objectMap := make(map[string]interface{}) 16792 if rcor.RenewCertificateOrderRequestProperties != nil { 16793 objectMap["properties"] = rcor.RenewCertificateOrderRequestProperties 16794 } 16795 if rcor.Kind != nil { 16796 objectMap["kind"] = rcor.Kind 16797 } 16798 return json.Marshal(objectMap) 16799} 16800 16801// UnmarshalJSON is the custom unmarshaler for RenewCertificateOrderRequest struct. 16802func (rcor *RenewCertificateOrderRequest) UnmarshalJSON(body []byte) error { 16803 var m map[string]*json.RawMessage 16804 err := json.Unmarshal(body, &m) 16805 if err != nil { 16806 return err 16807 } 16808 for k, v := range m { 16809 switch k { 16810 case "properties": 16811 if v != nil { 16812 var renewCertificateOrderRequestProperties RenewCertificateOrderRequestProperties 16813 err = json.Unmarshal(*v, &renewCertificateOrderRequestProperties) 16814 if err != nil { 16815 return err 16816 } 16817 rcor.RenewCertificateOrderRequestProperties = &renewCertificateOrderRequestProperties 16818 } 16819 case "id": 16820 if v != nil { 16821 var ID string 16822 err = json.Unmarshal(*v, &ID) 16823 if err != nil { 16824 return err 16825 } 16826 rcor.ID = &ID 16827 } 16828 case "name": 16829 if v != nil { 16830 var name string 16831 err = json.Unmarshal(*v, &name) 16832 if err != nil { 16833 return err 16834 } 16835 rcor.Name = &name 16836 } 16837 case "kind": 16838 if v != nil { 16839 var kind string 16840 err = json.Unmarshal(*v, &kind) 16841 if err != nil { 16842 return err 16843 } 16844 rcor.Kind = &kind 16845 } 16846 case "type": 16847 if v != nil { 16848 var typeVar string 16849 err = json.Unmarshal(*v, &typeVar) 16850 if err != nil { 16851 return err 16852 } 16853 rcor.Type = &typeVar 16854 } 16855 } 16856 } 16857 16858 return nil 16859} 16860 16861// RenewCertificateOrderRequestProperties renewCertificateOrderRequest resource specific properties 16862type RenewCertificateOrderRequestProperties struct { 16863 // KeySize - Certificate Key Size. 16864 KeySize *int32 `json:"keySize,omitempty"` 16865 // Csr - Csr to be used for re-key operation. 16866 Csr *string `json:"csr,omitempty"` 16867 // IsPrivateKeyExternal - Should we change the ASC type (from managed private key to external private key and vice versa). 16868 IsPrivateKeyExternal *bool `json:"isPrivateKeyExternal,omitempty"` 16869} 16870 16871// RequestsBasedTrigger trigger based on total requests. 16872type RequestsBasedTrigger struct { 16873 // Count - Request Count. 16874 Count *int32 `json:"count,omitempty"` 16875 // TimeInterval - Time interval. 16876 TimeInterval *string `json:"timeInterval,omitempty"` 16877} 16878 16879// Resource azure resource. This resource is tracked in Azure Resource Manager 16880type Resource struct { 16881 // ID - READ-ONLY; Resource Id. 16882 ID *string `json:"id,omitempty"` 16883 // Name - READ-ONLY; Resource Name. 16884 Name *string `json:"name,omitempty"` 16885 // Kind - Kind of resource. 16886 Kind *string `json:"kind,omitempty"` 16887 // Location - Resource Location. 16888 Location *string `json:"location,omitempty"` 16889 // Type - READ-ONLY; Resource type. 16890 Type *string `json:"type,omitempty"` 16891 // Tags - Resource tags. 16892 Tags map[string]*string `json:"tags"` 16893} 16894 16895// MarshalJSON is the custom marshaler for Resource. 16896func (r Resource) MarshalJSON() ([]byte, error) { 16897 objectMap := make(map[string]interface{}) 16898 if r.Kind != nil { 16899 objectMap["kind"] = r.Kind 16900 } 16901 if r.Location != nil { 16902 objectMap["location"] = r.Location 16903 } 16904 if r.Tags != nil { 16905 objectMap["tags"] = r.Tags 16906 } 16907 return json.Marshal(objectMap) 16908} 16909 16910// ResourceCollection collection of resources. 16911type ResourceCollection struct { 16912 autorest.Response `json:"-"` 16913 // Value - Collection of resources. 16914 Value *[]string `json:"value,omitempty"` 16915 // NextLink - READ-ONLY; Link to next page of resources. 16916 NextLink *string `json:"nextLink,omitempty"` 16917} 16918 16919// MarshalJSON is the custom marshaler for ResourceCollection. 16920func (rc ResourceCollection) MarshalJSON() ([]byte, error) { 16921 objectMap := make(map[string]interface{}) 16922 if rc.Value != nil { 16923 objectMap["value"] = rc.Value 16924 } 16925 return json.Marshal(objectMap) 16926} 16927 16928// ResourceCollectionIterator provides access to a complete listing of string values. 16929type ResourceCollectionIterator struct { 16930 i int 16931 page ResourceCollectionPage 16932} 16933 16934// NextWithContext advances to the next value. If there was an error making 16935// the request the iterator does not advance and the error is returned. 16936func (iter *ResourceCollectionIterator) NextWithContext(ctx context.Context) (err error) { 16937 if tracing.IsEnabled() { 16938 ctx = tracing.StartSpan(ctx, fqdn+"/ResourceCollectionIterator.NextWithContext") 16939 defer func() { 16940 sc := -1 16941 if iter.Response().Response.Response != nil { 16942 sc = iter.Response().Response.Response.StatusCode 16943 } 16944 tracing.EndSpan(ctx, sc, err) 16945 }() 16946 } 16947 iter.i++ 16948 if iter.i < len(iter.page.Values()) { 16949 return nil 16950 } 16951 err = iter.page.NextWithContext(ctx) 16952 if err != nil { 16953 iter.i-- 16954 return err 16955 } 16956 iter.i = 0 16957 return nil 16958} 16959 16960// Next advances to the next value. If there was an error making 16961// the request the iterator does not advance and the error is returned. 16962// Deprecated: Use NextWithContext() instead. 16963func (iter *ResourceCollectionIterator) Next() error { 16964 return iter.NextWithContext(context.Background()) 16965} 16966 16967// NotDone returns true if the enumeration should be started or is not yet complete. 16968func (iter ResourceCollectionIterator) NotDone() bool { 16969 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 16970} 16971 16972// Response returns the raw server response from the last page request. 16973func (iter ResourceCollectionIterator) Response() ResourceCollection { 16974 return iter.page.Response() 16975} 16976 16977// Value returns the current value or a zero-initialized value if the 16978// iterator has advanced beyond the end of the collection. 16979func (iter ResourceCollectionIterator) Value() string { 16980 if !iter.page.NotDone() { 16981 return "" 16982 } 16983 return iter.page.Values()[iter.i] 16984} 16985 16986// Creates a new instance of the ResourceCollectionIterator type. 16987func NewResourceCollectionIterator(page ResourceCollectionPage) ResourceCollectionIterator { 16988 return ResourceCollectionIterator{page: page} 16989} 16990 16991// IsEmpty returns true if the ListResult contains no values. 16992func (rc ResourceCollection) IsEmpty() bool { 16993 return rc.Value == nil || len(*rc.Value) == 0 16994} 16995 16996// hasNextLink returns true if the NextLink is not empty. 16997func (rc ResourceCollection) hasNextLink() bool { 16998 return rc.NextLink != nil && len(*rc.NextLink) != 0 16999} 17000 17001// resourceCollectionPreparer prepares a request to retrieve the next set of results. 17002// It returns nil if no more results exist. 17003func (rc ResourceCollection) resourceCollectionPreparer(ctx context.Context) (*http.Request, error) { 17004 if !rc.hasNextLink() { 17005 return nil, nil 17006 } 17007 return autorest.Prepare((&http.Request{}).WithContext(ctx), 17008 autorest.AsJSON(), 17009 autorest.AsGet(), 17010 autorest.WithBaseURL(to.String(rc.NextLink))) 17011} 17012 17013// ResourceCollectionPage contains a page of string values. 17014type ResourceCollectionPage struct { 17015 fn func(context.Context, ResourceCollection) (ResourceCollection, error) 17016 rc ResourceCollection 17017} 17018 17019// NextWithContext advances to the next page of values. If there was an error making 17020// the request the page does not advance and the error is returned. 17021func (page *ResourceCollectionPage) NextWithContext(ctx context.Context) (err error) { 17022 if tracing.IsEnabled() { 17023 ctx = tracing.StartSpan(ctx, fqdn+"/ResourceCollectionPage.NextWithContext") 17024 defer func() { 17025 sc := -1 17026 if page.Response().Response.Response != nil { 17027 sc = page.Response().Response.Response.StatusCode 17028 } 17029 tracing.EndSpan(ctx, sc, err) 17030 }() 17031 } 17032 for { 17033 next, err := page.fn(ctx, page.rc) 17034 if err != nil { 17035 return err 17036 } 17037 page.rc = next 17038 if !next.hasNextLink() || !next.IsEmpty() { 17039 break 17040 } 17041 } 17042 return nil 17043} 17044 17045// Next advances to the next page of values. If there was an error making 17046// the request the page does not advance and the error is returned. 17047// Deprecated: Use NextWithContext() instead. 17048func (page *ResourceCollectionPage) Next() error { 17049 return page.NextWithContext(context.Background()) 17050} 17051 17052// NotDone returns true if the page enumeration should be started or is not yet complete. 17053func (page ResourceCollectionPage) NotDone() bool { 17054 return !page.rc.IsEmpty() 17055} 17056 17057// Response returns the raw server response from the last page request. 17058func (page ResourceCollectionPage) Response() ResourceCollection { 17059 return page.rc 17060} 17061 17062// Values returns the slice of values for the current page or nil if there are no values. 17063func (page ResourceCollectionPage) Values() []string { 17064 if page.rc.IsEmpty() { 17065 return nil 17066 } 17067 return *page.rc.Value 17068} 17069 17070// Creates a new instance of the ResourceCollectionPage type. 17071func NewResourceCollectionPage(cur ResourceCollection, getNextPage func(context.Context, ResourceCollection) (ResourceCollection, error)) ResourceCollectionPage { 17072 return ResourceCollectionPage{ 17073 fn: getNextPage, 17074 rc: cur, 17075 } 17076} 17077 17078// ResourceHealthMetadata used for getting ResourceHealthCheck settings. 17079type ResourceHealthMetadata struct { 17080 autorest.Response `json:"-"` 17081 // ResourceHealthMetadataProperties - ResourceHealthMetadata resource specific properties 17082 *ResourceHealthMetadataProperties `json:"properties,omitempty"` 17083 // ID - READ-ONLY; Resource Id. 17084 ID *string `json:"id,omitempty"` 17085 // Name - READ-ONLY; Resource Name. 17086 Name *string `json:"name,omitempty"` 17087 // Kind - Kind of resource. 17088 Kind *string `json:"kind,omitempty"` 17089 // Type - READ-ONLY; Resource type. 17090 Type *string `json:"type,omitempty"` 17091} 17092 17093// MarshalJSON is the custom marshaler for ResourceHealthMetadata. 17094func (rhm ResourceHealthMetadata) MarshalJSON() ([]byte, error) { 17095 objectMap := make(map[string]interface{}) 17096 if rhm.ResourceHealthMetadataProperties != nil { 17097 objectMap["properties"] = rhm.ResourceHealthMetadataProperties 17098 } 17099 if rhm.Kind != nil { 17100 objectMap["kind"] = rhm.Kind 17101 } 17102 return json.Marshal(objectMap) 17103} 17104 17105// UnmarshalJSON is the custom unmarshaler for ResourceHealthMetadata struct. 17106func (rhm *ResourceHealthMetadata) UnmarshalJSON(body []byte) error { 17107 var m map[string]*json.RawMessage 17108 err := json.Unmarshal(body, &m) 17109 if err != nil { 17110 return err 17111 } 17112 for k, v := range m { 17113 switch k { 17114 case "properties": 17115 if v != nil { 17116 var resourceHealthMetadataProperties ResourceHealthMetadataProperties 17117 err = json.Unmarshal(*v, &resourceHealthMetadataProperties) 17118 if err != nil { 17119 return err 17120 } 17121 rhm.ResourceHealthMetadataProperties = &resourceHealthMetadataProperties 17122 } 17123 case "id": 17124 if v != nil { 17125 var ID string 17126 err = json.Unmarshal(*v, &ID) 17127 if err != nil { 17128 return err 17129 } 17130 rhm.ID = &ID 17131 } 17132 case "name": 17133 if v != nil { 17134 var name string 17135 err = json.Unmarshal(*v, &name) 17136 if err != nil { 17137 return err 17138 } 17139 rhm.Name = &name 17140 } 17141 case "kind": 17142 if v != nil { 17143 var kind string 17144 err = json.Unmarshal(*v, &kind) 17145 if err != nil { 17146 return err 17147 } 17148 rhm.Kind = &kind 17149 } 17150 case "type": 17151 if v != nil { 17152 var typeVar string 17153 err = json.Unmarshal(*v, &typeVar) 17154 if err != nil { 17155 return err 17156 } 17157 rhm.Type = &typeVar 17158 } 17159 } 17160 } 17161 17162 return nil 17163} 17164 17165// ResourceHealthMetadataCollection collection of resource health metadata. 17166type ResourceHealthMetadataCollection struct { 17167 autorest.Response `json:"-"` 17168 // Value - Collection of resources. 17169 Value *[]ResourceHealthMetadata `json:"value,omitempty"` 17170 // NextLink - READ-ONLY; Link to next page of resources. 17171 NextLink *string `json:"nextLink,omitempty"` 17172} 17173 17174// MarshalJSON is the custom marshaler for ResourceHealthMetadataCollection. 17175func (rhmc ResourceHealthMetadataCollection) MarshalJSON() ([]byte, error) { 17176 objectMap := make(map[string]interface{}) 17177 if rhmc.Value != nil { 17178 objectMap["value"] = rhmc.Value 17179 } 17180 return json.Marshal(objectMap) 17181} 17182 17183// ResourceHealthMetadataCollectionIterator provides access to a complete listing of ResourceHealthMetadata 17184// values. 17185type ResourceHealthMetadataCollectionIterator struct { 17186 i int 17187 page ResourceHealthMetadataCollectionPage 17188} 17189 17190// NextWithContext advances to the next value. If there was an error making 17191// the request the iterator does not advance and the error is returned. 17192func (iter *ResourceHealthMetadataCollectionIterator) NextWithContext(ctx context.Context) (err error) { 17193 if tracing.IsEnabled() { 17194 ctx = tracing.StartSpan(ctx, fqdn+"/ResourceHealthMetadataCollectionIterator.NextWithContext") 17195 defer func() { 17196 sc := -1 17197 if iter.Response().Response.Response != nil { 17198 sc = iter.Response().Response.Response.StatusCode 17199 } 17200 tracing.EndSpan(ctx, sc, err) 17201 }() 17202 } 17203 iter.i++ 17204 if iter.i < len(iter.page.Values()) { 17205 return nil 17206 } 17207 err = iter.page.NextWithContext(ctx) 17208 if err != nil { 17209 iter.i-- 17210 return err 17211 } 17212 iter.i = 0 17213 return nil 17214} 17215 17216// Next advances to the next value. If there was an error making 17217// the request the iterator does not advance and the error is returned. 17218// Deprecated: Use NextWithContext() instead. 17219func (iter *ResourceHealthMetadataCollectionIterator) Next() error { 17220 return iter.NextWithContext(context.Background()) 17221} 17222 17223// NotDone returns true if the enumeration should be started or is not yet complete. 17224func (iter ResourceHealthMetadataCollectionIterator) NotDone() bool { 17225 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 17226} 17227 17228// Response returns the raw server response from the last page request. 17229func (iter ResourceHealthMetadataCollectionIterator) Response() ResourceHealthMetadataCollection { 17230 return iter.page.Response() 17231} 17232 17233// Value returns the current value or a zero-initialized value if the 17234// iterator has advanced beyond the end of the collection. 17235func (iter ResourceHealthMetadataCollectionIterator) Value() ResourceHealthMetadata { 17236 if !iter.page.NotDone() { 17237 return ResourceHealthMetadata{} 17238 } 17239 return iter.page.Values()[iter.i] 17240} 17241 17242// Creates a new instance of the ResourceHealthMetadataCollectionIterator type. 17243func NewResourceHealthMetadataCollectionIterator(page ResourceHealthMetadataCollectionPage) ResourceHealthMetadataCollectionIterator { 17244 return ResourceHealthMetadataCollectionIterator{page: page} 17245} 17246 17247// IsEmpty returns true if the ListResult contains no values. 17248func (rhmc ResourceHealthMetadataCollection) IsEmpty() bool { 17249 return rhmc.Value == nil || len(*rhmc.Value) == 0 17250} 17251 17252// hasNextLink returns true if the NextLink is not empty. 17253func (rhmc ResourceHealthMetadataCollection) hasNextLink() bool { 17254 return rhmc.NextLink != nil && len(*rhmc.NextLink) != 0 17255} 17256 17257// resourceHealthMetadataCollectionPreparer prepares a request to retrieve the next set of results. 17258// It returns nil if no more results exist. 17259func (rhmc ResourceHealthMetadataCollection) resourceHealthMetadataCollectionPreparer(ctx context.Context) (*http.Request, error) { 17260 if !rhmc.hasNextLink() { 17261 return nil, nil 17262 } 17263 return autorest.Prepare((&http.Request{}).WithContext(ctx), 17264 autorest.AsJSON(), 17265 autorest.AsGet(), 17266 autorest.WithBaseURL(to.String(rhmc.NextLink))) 17267} 17268 17269// ResourceHealthMetadataCollectionPage contains a page of ResourceHealthMetadata values. 17270type ResourceHealthMetadataCollectionPage struct { 17271 fn func(context.Context, ResourceHealthMetadataCollection) (ResourceHealthMetadataCollection, error) 17272 rhmc ResourceHealthMetadataCollection 17273} 17274 17275// NextWithContext advances to the next page of values. If there was an error making 17276// the request the page does not advance and the error is returned. 17277func (page *ResourceHealthMetadataCollectionPage) NextWithContext(ctx context.Context) (err error) { 17278 if tracing.IsEnabled() { 17279 ctx = tracing.StartSpan(ctx, fqdn+"/ResourceHealthMetadataCollectionPage.NextWithContext") 17280 defer func() { 17281 sc := -1 17282 if page.Response().Response.Response != nil { 17283 sc = page.Response().Response.Response.StatusCode 17284 } 17285 tracing.EndSpan(ctx, sc, err) 17286 }() 17287 } 17288 for { 17289 next, err := page.fn(ctx, page.rhmc) 17290 if err != nil { 17291 return err 17292 } 17293 page.rhmc = next 17294 if !next.hasNextLink() || !next.IsEmpty() { 17295 break 17296 } 17297 } 17298 return nil 17299} 17300 17301// Next advances to the next page of values. If there was an error making 17302// the request the page does not advance and the error is returned. 17303// Deprecated: Use NextWithContext() instead. 17304func (page *ResourceHealthMetadataCollectionPage) Next() error { 17305 return page.NextWithContext(context.Background()) 17306} 17307 17308// NotDone returns true if the page enumeration should be started or is not yet complete. 17309func (page ResourceHealthMetadataCollectionPage) NotDone() bool { 17310 return !page.rhmc.IsEmpty() 17311} 17312 17313// Response returns the raw server response from the last page request. 17314func (page ResourceHealthMetadataCollectionPage) Response() ResourceHealthMetadataCollection { 17315 return page.rhmc 17316} 17317 17318// Values returns the slice of values for the current page or nil if there are no values. 17319func (page ResourceHealthMetadataCollectionPage) Values() []ResourceHealthMetadata { 17320 if page.rhmc.IsEmpty() { 17321 return nil 17322 } 17323 return *page.rhmc.Value 17324} 17325 17326// Creates a new instance of the ResourceHealthMetadataCollectionPage type. 17327func NewResourceHealthMetadataCollectionPage(cur ResourceHealthMetadataCollection, getNextPage func(context.Context, ResourceHealthMetadataCollection) (ResourceHealthMetadataCollection, error)) ResourceHealthMetadataCollectionPage { 17328 return ResourceHealthMetadataCollectionPage{ 17329 fn: getNextPage, 17330 rhmc: cur, 17331 } 17332} 17333 17334// ResourceHealthMetadataProperties resourceHealthMetadata resource specific properties 17335type ResourceHealthMetadataProperties struct { 17336 // Category - The category that the resource matches in the RHC Policy File 17337 Category *string `json:"category,omitempty"` 17338 // SignalAvailability - Is there a health signal for the resource 17339 SignalAvailability *bool `json:"signalAvailability,omitempty"` 17340} 17341 17342// ResourceMetric object representing a metric for any resource . 17343type ResourceMetric struct { 17344 // Name - READ-ONLY; Name of metric. 17345 Name *ResourceMetricName `json:"name,omitempty"` 17346 // Unit - READ-ONLY; Metric unit. 17347 Unit *string `json:"unit,omitempty"` 17348 // TimeGrain - READ-ONLY; Metric granularity. E.g PT1H, PT5M, P1D 17349 TimeGrain *string `json:"timeGrain,omitempty"` 17350 // StartTime - READ-ONLY; Metric start time. 17351 StartTime *date.Time `json:"startTime,omitempty"` 17352 // EndTime - READ-ONLY; Metric end time. 17353 EndTime *date.Time `json:"endTime,omitempty"` 17354 // ResourceID - READ-ONLY; Metric resource Id. 17355 ResourceID *string `json:"resourceId,omitempty"` 17356 // ID - READ-ONLY; Resource Id. 17357 ID *string `json:"id,omitempty"` 17358 // MetricValues - READ-ONLY; Metric values. 17359 MetricValues *[]ResourceMetricValue `json:"metricValues,omitempty"` 17360 // Properties - READ-ONLY; Resource metric properties collection. 17361 Properties *[]ResourceMetricProperty `json:"properties,omitempty"` 17362} 17363 17364// MarshalJSON is the custom marshaler for ResourceMetric. 17365func (rm ResourceMetric) MarshalJSON() ([]byte, error) { 17366 objectMap := make(map[string]interface{}) 17367 return json.Marshal(objectMap) 17368} 17369 17370// ResourceMetricAvailability metrics availability and retention. 17371type ResourceMetricAvailability struct { 17372 // TimeGrain - READ-ONLY; Time grain . 17373 TimeGrain *string `json:"timeGrain,omitempty"` 17374 // Retention - READ-ONLY; Retention period for the current time grain. 17375 Retention *string `json:"retention,omitempty"` 17376} 17377 17378// MarshalJSON is the custom marshaler for ResourceMetricAvailability. 17379func (rma ResourceMetricAvailability) MarshalJSON() ([]byte, error) { 17380 objectMap := make(map[string]interface{}) 17381 return json.Marshal(objectMap) 17382} 17383 17384// ResourceMetricCollection collection of metric responses. 17385type ResourceMetricCollection struct { 17386 autorest.Response `json:"-"` 17387 // Value - Collection of resources. 17388 Value *[]ResourceMetric `json:"value,omitempty"` 17389 // NextLink - READ-ONLY; Link to next page of resources. 17390 NextLink *string `json:"nextLink,omitempty"` 17391} 17392 17393// MarshalJSON is the custom marshaler for ResourceMetricCollection. 17394func (rmc ResourceMetricCollection) MarshalJSON() ([]byte, error) { 17395 objectMap := make(map[string]interface{}) 17396 if rmc.Value != nil { 17397 objectMap["value"] = rmc.Value 17398 } 17399 return json.Marshal(objectMap) 17400} 17401 17402// ResourceMetricCollectionIterator provides access to a complete listing of ResourceMetric values. 17403type ResourceMetricCollectionIterator struct { 17404 i int 17405 page ResourceMetricCollectionPage 17406} 17407 17408// NextWithContext advances to the next value. If there was an error making 17409// the request the iterator does not advance and the error is returned. 17410func (iter *ResourceMetricCollectionIterator) NextWithContext(ctx context.Context) (err error) { 17411 if tracing.IsEnabled() { 17412 ctx = tracing.StartSpan(ctx, fqdn+"/ResourceMetricCollectionIterator.NextWithContext") 17413 defer func() { 17414 sc := -1 17415 if iter.Response().Response.Response != nil { 17416 sc = iter.Response().Response.Response.StatusCode 17417 } 17418 tracing.EndSpan(ctx, sc, err) 17419 }() 17420 } 17421 iter.i++ 17422 if iter.i < len(iter.page.Values()) { 17423 return nil 17424 } 17425 err = iter.page.NextWithContext(ctx) 17426 if err != nil { 17427 iter.i-- 17428 return err 17429 } 17430 iter.i = 0 17431 return nil 17432} 17433 17434// Next advances to the next value. If there was an error making 17435// the request the iterator does not advance and the error is returned. 17436// Deprecated: Use NextWithContext() instead. 17437func (iter *ResourceMetricCollectionIterator) Next() error { 17438 return iter.NextWithContext(context.Background()) 17439} 17440 17441// NotDone returns true if the enumeration should be started or is not yet complete. 17442func (iter ResourceMetricCollectionIterator) NotDone() bool { 17443 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 17444} 17445 17446// Response returns the raw server response from the last page request. 17447func (iter ResourceMetricCollectionIterator) Response() ResourceMetricCollection { 17448 return iter.page.Response() 17449} 17450 17451// Value returns the current value or a zero-initialized value if the 17452// iterator has advanced beyond the end of the collection. 17453func (iter ResourceMetricCollectionIterator) Value() ResourceMetric { 17454 if !iter.page.NotDone() { 17455 return ResourceMetric{} 17456 } 17457 return iter.page.Values()[iter.i] 17458} 17459 17460// Creates a new instance of the ResourceMetricCollectionIterator type. 17461func NewResourceMetricCollectionIterator(page ResourceMetricCollectionPage) ResourceMetricCollectionIterator { 17462 return ResourceMetricCollectionIterator{page: page} 17463} 17464 17465// IsEmpty returns true if the ListResult contains no values. 17466func (rmc ResourceMetricCollection) IsEmpty() bool { 17467 return rmc.Value == nil || len(*rmc.Value) == 0 17468} 17469 17470// hasNextLink returns true if the NextLink is not empty. 17471func (rmc ResourceMetricCollection) hasNextLink() bool { 17472 return rmc.NextLink != nil && len(*rmc.NextLink) != 0 17473} 17474 17475// resourceMetricCollectionPreparer prepares a request to retrieve the next set of results. 17476// It returns nil if no more results exist. 17477func (rmc ResourceMetricCollection) resourceMetricCollectionPreparer(ctx context.Context) (*http.Request, error) { 17478 if !rmc.hasNextLink() { 17479 return nil, nil 17480 } 17481 return autorest.Prepare((&http.Request{}).WithContext(ctx), 17482 autorest.AsJSON(), 17483 autorest.AsGet(), 17484 autorest.WithBaseURL(to.String(rmc.NextLink))) 17485} 17486 17487// ResourceMetricCollectionPage contains a page of ResourceMetric values. 17488type ResourceMetricCollectionPage struct { 17489 fn func(context.Context, ResourceMetricCollection) (ResourceMetricCollection, error) 17490 rmc ResourceMetricCollection 17491} 17492 17493// NextWithContext advances to the next page of values. If there was an error making 17494// the request the page does not advance and the error is returned. 17495func (page *ResourceMetricCollectionPage) NextWithContext(ctx context.Context) (err error) { 17496 if tracing.IsEnabled() { 17497 ctx = tracing.StartSpan(ctx, fqdn+"/ResourceMetricCollectionPage.NextWithContext") 17498 defer func() { 17499 sc := -1 17500 if page.Response().Response.Response != nil { 17501 sc = page.Response().Response.Response.StatusCode 17502 } 17503 tracing.EndSpan(ctx, sc, err) 17504 }() 17505 } 17506 for { 17507 next, err := page.fn(ctx, page.rmc) 17508 if err != nil { 17509 return err 17510 } 17511 page.rmc = next 17512 if !next.hasNextLink() || !next.IsEmpty() { 17513 break 17514 } 17515 } 17516 return nil 17517} 17518 17519// Next advances to the next page of values. If there was an error making 17520// the request the page does not advance and the error is returned. 17521// Deprecated: Use NextWithContext() instead. 17522func (page *ResourceMetricCollectionPage) Next() error { 17523 return page.NextWithContext(context.Background()) 17524} 17525 17526// NotDone returns true if the page enumeration should be started or is not yet complete. 17527func (page ResourceMetricCollectionPage) NotDone() bool { 17528 return !page.rmc.IsEmpty() 17529} 17530 17531// Response returns the raw server response from the last page request. 17532func (page ResourceMetricCollectionPage) Response() ResourceMetricCollection { 17533 return page.rmc 17534} 17535 17536// Values returns the slice of values for the current page or nil if there are no values. 17537func (page ResourceMetricCollectionPage) Values() []ResourceMetric { 17538 if page.rmc.IsEmpty() { 17539 return nil 17540 } 17541 return *page.rmc.Value 17542} 17543 17544// Creates a new instance of the ResourceMetricCollectionPage type. 17545func NewResourceMetricCollectionPage(cur ResourceMetricCollection, getNextPage func(context.Context, ResourceMetricCollection) (ResourceMetricCollection, error)) ResourceMetricCollectionPage { 17546 return ResourceMetricCollectionPage{ 17547 fn: getNextPage, 17548 rmc: cur, 17549 } 17550} 17551 17552// ResourceMetricDefinition metadata for the metrics. 17553type ResourceMetricDefinition struct { 17554 // ResourceMetricDefinitionProperties - ResourceMetricDefinition resource specific properties 17555 *ResourceMetricDefinitionProperties `json:"properties,omitempty"` 17556 // ID - READ-ONLY; Resource Id. 17557 ID *string `json:"id,omitempty"` 17558 // Name - READ-ONLY; Resource Name. 17559 Name *string `json:"name,omitempty"` 17560 // Kind - Kind of resource. 17561 Kind *string `json:"kind,omitempty"` 17562 // Type - READ-ONLY; Resource type. 17563 Type *string `json:"type,omitempty"` 17564} 17565 17566// MarshalJSON is the custom marshaler for ResourceMetricDefinition. 17567func (rmd ResourceMetricDefinition) MarshalJSON() ([]byte, error) { 17568 objectMap := make(map[string]interface{}) 17569 if rmd.ResourceMetricDefinitionProperties != nil { 17570 objectMap["properties"] = rmd.ResourceMetricDefinitionProperties 17571 } 17572 if rmd.Kind != nil { 17573 objectMap["kind"] = rmd.Kind 17574 } 17575 return json.Marshal(objectMap) 17576} 17577 17578// UnmarshalJSON is the custom unmarshaler for ResourceMetricDefinition struct. 17579func (rmd *ResourceMetricDefinition) UnmarshalJSON(body []byte) error { 17580 var m map[string]*json.RawMessage 17581 err := json.Unmarshal(body, &m) 17582 if err != nil { 17583 return err 17584 } 17585 for k, v := range m { 17586 switch k { 17587 case "properties": 17588 if v != nil { 17589 var resourceMetricDefinitionProperties ResourceMetricDefinitionProperties 17590 err = json.Unmarshal(*v, &resourceMetricDefinitionProperties) 17591 if err != nil { 17592 return err 17593 } 17594 rmd.ResourceMetricDefinitionProperties = &resourceMetricDefinitionProperties 17595 } 17596 case "id": 17597 if v != nil { 17598 var ID string 17599 err = json.Unmarshal(*v, &ID) 17600 if err != nil { 17601 return err 17602 } 17603 rmd.ID = &ID 17604 } 17605 case "name": 17606 if v != nil { 17607 var name string 17608 err = json.Unmarshal(*v, &name) 17609 if err != nil { 17610 return err 17611 } 17612 rmd.Name = &name 17613 } 17614 case "kind": 17615 if v != nil { 17616 var kind string 17617 err = json.Unmarshal(*v, &kind) 17618 if err != nil { 17619 return err 17620 } 17621 rmd.Kind = &kind 17622 } 17623 case "type": 17624 if v != nil { 17625 var typeVar string 17626 err = json.Unmarshal(*v, &typeVar) 17627 if err != nil { 17628 return err 17629 } 17630 rmd.Type = &typeVar 17631 } 17632 } 17633 } 17634 17635 return nil 17636} 17637 17638// ResourceMetricDefinitionCollection collection of metric definitions. 17639type ResourceMetricDefinitionCollection struct { 17640 autorest.Response `json:"-"` 17641 // Value - Collection of resources. 17642 Value *[]ResourceMetricDefinition `json:"value,omitempty"` 17643 // NextLink - READ-ONLY; Link to next page of resources. 17644 NextLink *string `json:"nextLink,omitempty"` 17645} 17646 17647// MarshalJSON is the custom marshaler for ResourceMetricDefinitionCollection. 17648func (rmdc ResourceMetricDefinitionCollection) MarshalJSON() ([]byte, error) { 17649 objectMap := make(map[string]interface{}) 17650 if rmdc.Value != nil { 17651 objectMap["value"] = rmdc.Value 17652 } 17653 return json.Marshal(objectMap) 17654} 17655 17656// ResourceMetricDefinitionCollectionIterator provides access to a complete listing of 17657// ResourceMetricDefinition values. 17658type ResourceMetricDefinitionCollectionIterator struct { 17659 i int 17660 page ResourceMetricDefinitionCollectionPage 17661} 17662 17663// NextWithContext advances to the next value. If there was an error making 17664// the request the iterator does not advance and the error is returned. 17665func (iter *ResourceMetricDefinitionCollectionIterator) NextWithContext(ctx context.Context) (err error) { 17666 if tracing.IsEnabled() { 17667 ctx = tracing.StartSpan(ctx, fqdn+"/ResourceMetricDefinitionCollectionIterator.NextWithContext") 17668 defer func() { 17669 sc := -1 17670 if iter.Response().Response.Response != nil { 17671 sc = iter.Response().Response.Response.StatusCode 17672 } 17673 tracing.EndSpan(ctx, sc, err) 17674 }() 17675 } 17676 iter.i++ 17677 if iter.i < len(iter.page.Values()) { 17678 return nil 17679 } 17680 err = iter.page.NextWithContext(ctx) 17681 if err != nil { 17682 iter.i-- 17683 return err 17684 } 17685 iter.i = 0 17686 return nil 17687} 17688 17689// Next advances to the next value. If there was an error making 17690// the request the iterator does not advance and the error is returned. 17691// Deprecated: Use NextWithContext() instead. 17692func (iter *ResourceMetricDefinitionCollectionIterator) Next() error { 17693 return iter.NextWithContext(context.Background()) 17694} 17695 17696// NotDone returns true if the enumeration should be started or is not yet complete. 17697func (iter ResourceMetricDefinitionCollectionIterator) NotDone() bool { 17698 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 17699} 17700 17701// Response returns the raw server response from the last page request. 17702func (iter ResourceMetricDefinitionCollectionIterator) Response() ResourceMetricDefinitionCollection { 17703 return iter.page.Response() 17704} 17705 17706// Value returns the current value or a zero-initialized value if the 17707// iterator has advanced beyond the end of the collection. 17708func (iter ResourceMetricDefinitionCollectionIterator) Value() ResourceMetricDefinition { 17709 if !iter.page.NotDone() { 17710 return ResourceMetricDefinition{} 17711 } 17712 return iter.page.Values()[iter.i] 17713} 17714 17715// Creates a new instance of the ResourceMetricDefinitionCollectionIterator type. 17716func NewResourceMetricDefinitionCollectionIterator(page ResourceMetricDefinitionCollectionPage) ResourceMetricDefinitionCollectionIterator { 17717 return ResourceMetricDefinitionCollectionIterator{page: page} 17718} 17719 17720// IsEmpty returns true if the ListResult contains no values. 17721func (rmdc ResourceMetricDefinitionCollection) IsEmpty() bool { 17722 return rmdc.Value == nil || len(*rmdc.Value) == 0 17723} 17724 17725// hasNextLink returns true if the NextLink is not empty. 17726func (rmdc ResourceMetricDefinitionCollection) hasNextLink() bool { 17727 return rmdc.NextLink != nil && len(*rmdc.NextLink) != 0 17728} 17729 17730// resourceMetricDefinitionCollectionPreparer prepares a request to retrieve the next set of results. 17731// It returns nil if no more results exist. 17732func (rmdc ResourceMetricDefinitionCollection) resourceMetricDefinitionCollectionPreparer(ctx context.Context) (*http.Request, error) { 17733 if !rmdc.hasNextLink() { 17734 return nil, nil 17735 } 17736 return autorest.Prepare((&http.Request{}).WithContext(ctx), 17737 autorest.AsJSON(), 17738 autorest.AsGet(), 17739 autorest.WithBaseURL(to.String(rmdc.NextLink))) 17740} 17741 17742// ResourceMetricDefinitionCollectionPage contains a page of ResourceMetricDefinition values. 17743type ResourceMetricDefinitionCollectionPage struct { 17744 fn func(context.Context, ResourceMetricDefinitionCollection) (ResourceMetricDefinitionCollection, error) 17745 rmdc ResourceMetricDefinitionCollection 17746} 17747 17748// NextWithContext advances to the next page of values. If there was an error making 17749// the request the page does not advance and the error is returned. 17750func (page *ResourceMetricDefinitionCollectionPage) NextWithContext(ctx context.Context) (err error) { 17751 if tracing.IsEnabled() { 17752 ctx = tracing.StartSpan(ctx, fqdn+"/ResourceMetricDefinitionCollectionPage.NextWithContext") 17753 defer func() { 17754 sc := -1 17755 if page.Response().Response.Response != nil { 17756 sc = page.Response().Response.Response.StatusCode 17757 } 17758 tracing.EndSpan(ctx, sc, err) 17759 }() 17760 } 17761 for { 17762 next, err := page.fn(ctx, page.rmdc) 17763 if err != nil { 17764 return err 17765 } 17766 page.rmdc = next 17767 if !next.hasNextLink() || !next.IsEmpty() { 17768 break 17769 } 17770 } 17771 return nil 17772} 17773 17774// Next advances to the next page of values. If there was an error making 17775// the request the page does not advance and the error is returned. 17776// Deprecated: Use NextWithContext() instead. 17777func (page *ResourceMetricDefinitionCollectionPage) Next() error { 17778 return page.NextWithContext(context.Background()) 17779} 17780 17781// NotDone returns true if the page enumeration should be started or is not yet complete. 17782func (page ResourceMetricDefinitionCollectionPage) NotDone() bool { 17783 return !page.rmdc.IsEmpty() 17784} 17785 17786// Response returns the raw server response from the last page request. 17787func (page ResourceMetricDefinitionCollectionPage) Response() ResourceMetricDefinitionCollection { 17788 return page.rmdc 17789} 17790 17791// Values returns the slice of values for the current page or nil if there are no values. 17792func (page ResourceMetricDefinitionCollectionPage) Values() []ResourceMetricDefinition { 17793 if page.rmdc.IsEmpty() { 17794 return nil 17795 } 17796 return *page.rmdc.Value 17797} 17798 17799// Creates a new instance of the ResourceMetricDefinitionCollectionPage type. 17800func NewResourceMetricDefinitionCollectionPage(cur ResourceMetricDefinitionCollection, getNextPage func(context.Context, ResourceMetricDefinitionCollection) (ResourceMetricDefinitionCollection, error)) ResourceMetricDefinitionCollectionPage { 17801 return ResourceMetricDefinitionCollectionPage{ 17802 fn: getNextPage, 17803 rmdc: cur, 17804 } 17805} 17806 17807// ResourceMetricDefinitionProperties resourceMetricDefinition resource specific properties 17808type ResourceMetricDefinitionProperties struct { 17809 // Unit - READ-ONLY; Unit of the metric. 17810 Unit *string `json:"unit,omitempty"` 17811 // PrimaryAggregationType - READ-ONLY; Primary aggregation type. 17812 PrimaryAggregationType *string `json:"primaryAggregationType,omitempty"` 17813 // MetricAvailabilities - READ-ONLY; List of time grains supported for the metric together with retention period. 17814 MetricAvailabilities *[]ResourceMetricAvailability `json:"metricAvailabilities,omitempty"` 17815 // ResourceURI - READ-ONLY; Resource URI. 17816 ResourceURI *string `json:"resourceUri,omitempty"` 17817 // Properties - READ-ONLY; Resource metric definition properties. 17818 Properties map[string]*string `json:"properties"` 17819} 17820 17821// MarshalJSON is the custom marshaler for ResourceMetricDefinitionProperties. 17822func (rmd ResourceMetricDefinitionProperties) MarshalJSON() ([]byte, error) { 17823 objectMap := make(map[string]interface{}) 17824 return json.Marshal(objectMap) 17825} 17826 17827// ResourceMetricName name of a metric for any resource . 17828type ResourceMetricName struct { 17829 // Value - READ-ONLY; metric name value. 17830 Value *string `json:"value,omitempty"` 17831 // LocalizedValue - READ-ONLY; Localized metric name value. 17832 LocalizedValue *string `json:"localizedValue,omitempty"` 17833} 17834 17835// MarshalJSON is the custom marshaler for ResourceMetricName. 17836func (rmn ResourceMetricName) MarshalJSON() ([]byte, error) { 17837 objectMap := make(map[string]interface{}) 17838 return json.Marshal(objectMap) 17839} 17840 17841// ResourceMetricProperty resource metric property. 17842type ResourceMetricProperty struct { 17843 // Key - Key for resource metric property. 17844 Key *string `json:"key,omitempty"` 17845 // Value - Value of pair. 17846 Value *string `json:"value,omitempty"` 17847} 17848 17849// ResourceMetricValue value of resource metric. 17850type ResourceMetricValue struct { 17851 // Timestamp - READ-ONLY; Value timestamp. 17852 Timestamp *string `json:"timestamp,omitempty"` 17853 // Average - READ-ONLY; Value average. 17854 Average *float64 `json:"average,omitempty"` 17855 // Minimum - READ-ONLY; Value minimum. 17856 Minimum *float64 `json:"minimum,omitempty"` 17857 // Maximum - READ-ONLY; Value maximum. 17858 Maximum *float64 `json:"maximum,omitempty"` 17859 // Total - READ-ONLY; Value total. 17860 Total *float64 `json:"total,omitempty"` 17861 // Count - READ-ONLY; Value count. 17862 Count *float64 `json:"count,omitempty"` 17863 // Properties - READ-ONLY; Resource metric properties collection. 17864 Properties *[]ResourceMetricProperty `json:"properties,omitempty"` 17865} 17866 17867// MarshalJSON is the custom marshaler for ResourceMetricValue. 17868func (rmv ResourceMetricValue) MarshalJSON() ([]byte, error) { 17869 objectMap := make(map[string]interface{}) 17870 return json.Marshal(objectMap) 17871} 17872 17873// ResourceNameAvailability information regarding availability of a resource name. 17874type ResourceNameAvailability struct { 17875 autorest.Response `json:"-"` 17876 // NameAvailable - <code>true</code> indicates name is valid and available. <code>false</code> indicates the name is invalid, unavailable, or both. 17877 NameAvailable *bool `json:"nameAvailable,omitempty"` 17878 // Reason - <code>Invalid</code> indicates the name provided does not match Azure App Service naming requirements. <code>AlreadyExists</code> indicates that the name is already in use and is therefore unavailable. Possible values include: 'Invalid', 'AlreadyExists' 17879 Reason InAvailabilityReasonType `json:"reason,omitempty"` 17880 // Message - If reason == invalid, provide the user with the reason why the given name is invalid, and provide the resource naming requirements so that the user can select a valid name. If reason == AlreadyExists, explain that resource name is already in use, and direct them to select a different name. 17881 Message *string `json:"message,omitempty"` 17882} 17883 17884// ResourceNameAvailabilityRequest resource name availability request content. 17885type ResourceNameAvailabilityRequest struct { 17886 // Name - Resource name to verify. 17887 Name *string `json:"name,omitempty"` 17888 // Type - Resource type used for verification. Possible values include: 'CheckNameResourceTypesSite', 'CheckNameResourceTypesSlot', 'CheckNameResourceTypesHostingEnvironment', 'CheckNameResourceTypesPublishingUser', 'CheckNameResourceTypesMicrosoftWebsites', 'CheckNameResourceTypesMicrosoftWebsitesslots', 'CheckNameResourceTypesMicrosoftWebhostingEnvironments', 'CheckNameResourceTypesMicrosoftWebpublishingUsers' 17889 Type CheckNameResourceTypes `json:"type,omitempty"` 17890 // IsFqdn - Is fully qualified domain name. 17891 IsFqdn *bool `json:"isFqdn,omitempty"` 17892} 17893 17894// ResponseMetaData ... 17895type ResponseMetaData struct { 17896 // DataSource - Source of the Data 17897 DataSource *DataSource `json:"dataSource,omitempty"` 17898} 17899 17900// RestoreRequest description of a restore request. 17901type RestoreRequest struct { 17902 autorest.Response `json:"-"` 17903 // RestoreRequestProperties - RestoreRequest resource specific properties 17904 *RestoreRequestProperties `json:"properties,omitempty"` 17905 // ID - READ-ONLY; Resource Id. 17906 ID *string `json:"id,omitempty"` 17907 // Name - READ-ONLY; Resource Name. 17908 Name *string `json:"name,omitempty"` 17909 // Kind - Kind of resource. 17910 Kind *string `json:"kind,omitempty"` 17911 // Type - READ-ONLY; Resource type. 17912 Type *string `json:"type,omitempty"` 17913} 17914 17915// MarshalJSON is the custom marshaler for RestoreRequest. 17916func (rr RestoreRequest) MarshalJSON() ([]byte, error) { 17917 objectMap := make(map[string]interface{}) 17918 if rr.RestoreRequestProperties != nil { 17919 objectMap["properties"] = rr.RestoreRequestProperties 17920 } 17921 if rr.Kind != nil { 17922 objectMap["kind"] = rr.Kind 17923 } 17924 return json.Marshal(objectMap) 17925} 17926 17927// UnmarshalJSON is the custom unmarshaler for RestoreRequest struct. 17928func (rr *RestoreRequest) UnmarshalJSON(body []byte) error { 17929 var m map[string]*json.RawMessage 17930 err := json.Unmarshal(body, &m) 17931 if err != nil { 17932 return err 17933 } 17934 for k, v := range m { 17935 switch k { 17936 case "properties": 17937 if v != nil { 17938 var restoreRequestProperties RestoreRequestProperties 17939 err = json.Unmarshal(*v, &restoreRequestProperties) 17940 if err != nil { 17941 return err 17942 } 17943 rr.RestoreRequestProperties = &restoreRequestProperties 17944 } 17945 case "id": 17946 if v != nil { 17947 var ID string 17948 err = json.Unmarshal(*v, &ID) 17949 if err != nil { 17950 return err 17951 } 17952 rr.ID = &ID 17953 } 17954 case "name": 17955 if v != nil { 17956 var name string 17957 err = json.Unmarshal(*v, &name) 17958 if err != nil { 17959 return err 17960 } 17961 rr.Name = &name 17962 } 17963 case "kind": 17964 if v != nil { 17965 var kind string 17966 err = json.Unmarshal(*v, &kind) 17967 if err != nil { 17968 return err 17969 } 17970 rr.Kind = &kind 17971 } 17972 case "type": 17973 if v != nil { 17974 var typeVar string 17975 err = json.Unmarshal(*v, &typeVar) 17976 if err != nil { 17977 return err 17978 } 17979 rr.Type = &typeVar 17980 } 17981 } 17982 } 17983 17984 return nil 17985} 17986 17987// RestoreRequestProperties restoreRequest resource specific properties 17988type RestoreRequestProperties struct { 17989 // StorageAccountURL - SAS URL to the container. 17990 StorageAccountURL *string `json:"storageAccountUrl,omitempty"` 17991 // BlobName - Name of a blob which contains the backup. 17992 BlobName *string `json:"blobName,omitempty"` 17993 // Overwrite - <code>true</code> if the restore operation can overwrite target app; otherwise, <code>false</code>. <code>true</code> is needed if trying to restore over an existing app. 17994 Overwrite *bool `json:"overwrite,omitempty"` 17995 // SiteName - Name of an app. 17996 SiteName *string `json:"siteName,omitempty"` 17997 // Databases - Collection of databases which should be restored. This list has to match the list of databases included in the backup. 17998 Databases *[]DatabaseBackupSetting `json:"databases,omitempty"` 17999 // IgnoreConflictingHostNames - Changes a logic when restoring an app with custom domains. <code>true</code> to remove custom domains automatically. If <code>false</code>, custom domains are added to 18000 // the app's object when it is being restored, but that might fail due to conflicts during the operation. 18001 IgnoreConflictingHostNames *bool `json:"ignoreConflictingHostNames,omitempty"` 18002 // IgnoreDatabases - Ignore the databases and only restore the site content 18003 IgnoreDatabases *bool `json:"ignoreDatabases,omitempty"` 18004 // AppServicePlan - Specify app service plan that will own restored site. 18005 AppServicePlan *string `json:"appServicePlan,omitempty"` 18006 // OperationType - Operation type. Possible values include: 'BackupRestoreOperationTypeDefault', 'BackupRestoreOperationTypeClone', 'BackupRestoreOperationTypeRelocation', 'BackupRestoreOperationTypeSnapshot', 'BackupRestoreOperationTypeCloudFS' 18007 OperationType BackupRestoreOperationType `json:"operationType,omitempty"` 18008 // AdjustConnectionStrings - <code>true</code> if SiteConfig.ConnectionStrings should be set in new app; otherwise, <code>false</code>. 18009 AdjustConnectionStrings *bool `json:"adjustConnectionStrings,omitempty"` 18010 // HostingEnvironment - App Service Environment name, if needed (only when restoring an app to an App Service Environment). 18011 HostingEnvironment *string `json:"hostingEnvironment,omitempty"` 18012} 18013 18014// ServiceSpecification resource metrics service provided by Microsoft.Insights resource provider. 18015type ServiceSpecification struct { 18016 MetricSpecifications *[]MetricSpecification `json:"metricSpecifications,omitempty"` 18017 LogSpecifications *[]LogSpecification `json:"logSpecifications,omitempty"` 18018} 18019 18020// SetObject ... 18021type SetObject struct { 18022 autorest.Response `json:"-"` 18023 Value interface{} `json:"value,omitempty"` 18024} 18025 18026// Site a web app, a mobile app backend, or an API app. 18027type Site struct { 18028 autorest.Response `json:"-"` 18029 // SiteProperties - Site resource specific properties 18030 *SiteProperties `json:"properties,omitempty"` 18031 Identity *ManagedServiceIdentity `json:"identity,omitempty"` 18032 // ID - READ-ONLY; Resource Id. 18033 ID *string `json:"id,omitempty"` 18034 // Name - READ-ONLY; Resource Name. 18035 Name *string `json:"name,omitempty"` 18036 // Kind - Kind of resource. 18037 Kind *string `json:"kind,omitempty"` 18038 // Location - Resource Location. 18039 Location *string `json:"location,omitempty"` 18040 // Type - READ-ONLY; Resource type. 18041 Type *string `json:"type,omitempty"` 18042 // Tags - Resource tags. 18043 Tags map[string]*string `json:"tags"` 18044} 18045 18046// MarshalJSON is the custom marshaler for Site. 18047func (s Site) MarshalJSON() ([]byte, error) { 18048 objectMap := make(map[string]interface{}) 18049 if s.SiteProperties != nil { 18050 objectMap["properties"] = s.SiteProperties 18051 } 18052 if s.Identity != nil { 18053 objectMap["identity"] = s.Identity 18054 } 18055 if s.Kind != nil { 18056 objectMap["kind"] = s.Kind 18057 } 18058 if s.Location != nil { 18059 objectMap["location"] = s.Location 18060 } 18061 if s.Tags != nil { 18062 objectMap["tags"] = s.Tags 18063 } 18064 return json.Marshal(objectMap) 18065} 18066 18067// UnmarshalJSON is the custom unmarshaler for Site struct. 18068func (s *Site) UnmarshalJSON(body []byte) error { 18069 var m map[string]*json.RawMessage 18070 err := json.Unmarshal(body, &m) 18071 if err != nil { 18072 return err 18073 } 18074 for k, v := range m { 18075 switch k { 18076 case "properties": 18077 if v != nil { 18078 var siteProperties SiteProperties 18079 err = json.Unmarshal(*v, &siteProperties) 18080 if err != nil { 18081 return err 18082 } 18083 s.SiteProperties = &siteProperties 18084 } 18085 case "identity": 18086 if v != nil { 18087 var identity ManagedServiceIdentity 18088 err = json.Unmarshal(*v, &identity) 18089 if err != nil { 18090 return err 18091 } 18092 s.Identity = &identity 18093 } 18094 case "id": 18095 if v != nil { 18096 var ID string 18097 err = json.Unmarshal(*v, &ID) 18098 if err != nil { 18099 return err 18100 } 18101 s.ID = &ID 18102 } 18103 case "name": 18104 if v != nil { 18105 var name string 18106 err = json.Unmarshal(*v, &name) 18107 if err != nil { 18108 return err 18109 } 18110 s.Name = &name 18111 } 18112 case "kind": 18113 if v != nil { 18114 var kind string 18115 err = json.Unmarshal(*v, &kind) 18116 if err != nil { 18117 return err 18118 } 18119 s.Kind = &kind 18120 } 18121 case "location": 18122 if v != nil { 18123 var location string 18124 err = json.Unmarshal(*v, &location) 18125 if err != nil { 18126 return err 18127 } 18128 s.Location = &location 18129 } 18130 case "type": 18131 if v != nil { 18132 var typeVar string 18133 err = json.Unmarshal(*v, &typeVar) 18134 if err != nil { 18135 return err 18136 } 18137 s.Type = &typeVar 18138 } 18139 case "tags": 18140 if v != nil { 18141 var tags map[string]*string 18142 err = json.Unmarshal(*v, &tags) 18143 if err != nil { 18144 return err 18145 } 18146 s.Tags = tags 18147 } 18148 } 18149 } 18150 18151 return nil 18152} 18153 18154// SiteAuthSettings configuration settings for the Azure App Service Authentication / Authorization 18155// feature. 18156type SiteAuthSettings struct { 18157 autorest.Response `json:"-"` 18158 // SiteAuthSettingsProperties - SiteAuthSettings resource specific properties 18159 *SiteAuthSettingsProperties `json:"properties,omitempty"` 18160 // ID - READ-ONLY; Resource Id. 18161 ID *string `json:"id,omitempty"` 18162 // Name - READ-ONLY; Resource Name. 18163 Name *string `json:"name,omitempty"` 18164 // Kind - Kind of resource. 18165 Kind *string `json:"kind,omitempty"` 18166 // Type - READ-ONLY; Resource type. 18167 Type *string `json:"type,omitempty"` 18168} 18169 18170// MarshalJSON is the custom marshaler for SiteAuthSettings. 18171func (sas SiteAuthSettings) MarshalJSON() ([]byte, error) { 18172 objectMap := make(map[string]interface{}) 18173 if sas.SiteAuthSettingsProperties != nil { 18174 objectMap["properties"] = sas.SiteAuthSettingsProperties 18175 } 18176 if sas.Kind != nil { 18177 objectMap["kind"] = sas.Kind 18178 } 18179 return json.Marshal(objectMap) 18180} 18181 18182// UnmarshalJSON is the custom unmarshaler for SiteAuthSettings struct. 18183func (sas *SiteAuthSettings) UnmarshalJSON(body []byte) error { 18184 var m map[string]*json.RawMessage 18185 err := json.Unmarshal(body, &m) 18186 if err != nil { 18187 return err 18188 } 18189 for k, v := range m { 18190 switch k { 18191 case "properties": 18192 if v != nil { 18193 var siteAuthSettingsProperties SiteAuthSettingsProperties 18194 err = json.Unmarshal(*v, &siteAuthSettingsProperties) 18195 if err != nil { 18196 return err 18197 } 18198 sas.SiteAuthSettingsProperties = &siteAuthSettingsProperties 18199 } 18200 case "id": 18201 if v != nil { 18202 var ID string 18203 err = json.Unmarshal(*v, &ID) 18204 if err != nil { 18205 return err 18206 } 18207 sas.ID = &ID 18208 } 18209 case "name": 18210 if v != nil { 18211 var name string 18212 err = json.Unmarshal(*v, &name) 18213 if err != nil { 18214 return err 18215 } 18216 sas.Name = &name 18217 } 18218 case "kind": 18219 if v != nil { 18220 var kind string 18221 err = json.Unmarshal(*v, &kind) 18222 if err != nil { 18223 return err 18224 } 18225 sas.Kind = &kind 18226 } 18227 case "type": 18228 if v != nil { 18229 var typeVar string 18230 err = json.Unmarshal(*v, &typeVar) 18231 if err != nil { 18232 return err 18233 } 18234 sas.Type = &typeVar 18235 } 18236 } 18237 } 18238 18239 return nil 18240} 18241 18242// SiteAuthSettingsProperties siteAuthSettings resource specific properties 18243type SiteAuthSettingsProperties struct { 18244 // Enabled - <code>true</code> if the Authentication / Authorization feature is enabled for the current app; otherwise, <code>false</code>. 18245 Enabled *bool `json:"enabled,omitempty"` 18246 // RuntimeVersion - The RuntimeVersion of the Authentication / Authorization feature in use for the current app. 18247 // The setting in this value can control the behavior of certain features in the Authentication / Authorization module. 18248 RuntimeVersion *string `json:"runtimeVersion,omitempty"` 18249 // UnauthenticatedClientAction - The action to take when an unauthenticated client attempts to access the app. Possible values include: 'RedirectToLoginPage', 'AllowAnonymous' 18250 UnauthenticatedClientAction UnauthenticatedClientAction `json:"unauthenticatedClientAction,omitempty"` 18251 // TokenStoreEnabled - <code>true</code> to durably store platform-specific security tokens that are obtained during login flows; otherwise, <code>false</code>. 18252 // The default is <code>false</code>. 18253 TokenStoreEnabled *bool `json:"tokenStoreEnabled,omitempty"` 18254 // AllowedExternalRedirectUrls - External URLs that can be redirected to as part of logging in or logging out of the app. Note that the query string part of the URL is ignored. 18255 // This is an advanced setting typically only needed by Windows Store application backends. 18256 // Note that URLs within the current domain are always implicitly allowed. 18257 AllowedExternalRedirectUrls *[]string `json:"allowedExternalRedirectUrls,omitempty"` 18258 // DefaultProvider - The default authentication provider to use when multiple providers are configured. 18259 // This setting is only needed if multiple providers are configured and the unauthenticated client 18260 // action is set to "RedirectToLoginPage". Possible values include: 'AzureActiveDirectory', 'Facebook', 'Google', 'MicrosoftAccount', 'Twitter' 18261 DefaultProvider BuiltInAuthenticationProvider `json:"defaultProvider,omitempty"` 18262 // TokenRefreshExtensionHours - The number of hours after session token expiration that a session token can be used to 18263 // call the token refresh API. The default is 72 hours. 18264 TokenRefreshExtensionHours *float64 `json:"tokenRefreshExtensionHours,omitempty"` 18265 // ClientID - The Client ID of this relying party application, known as the client_id. 18266 // This setting is required for enabling OpenID Connection authentication with Azure Active Directory or 18267 // other 3rd party OpenID Connect providers. 18268 // More information on OpenID Connect: http://openid.net/specs/openid-connect-core-1_0.html 18269 ClientID *string `json:"clientId,omitempty"` 18270 // ClientSecret - The Client Secret of this relying party application (in Azure Active Directory, this is also referred to as the Key). 18271 // This setting is optional. If no client secret is configured, the OpenID Connect implicit auth flow is used to authenticate end users. 18272 // Otherwise, the OpenID Connect Authorization Code Flow is used to authenticate end users. 18273 // More information on OpenID Connect: http://openid.net/specs/openid-connect-core-1_0.html 18274 ClientSecret *string `json:"clientSecret,omitempty"` 18275 // ClientSecretCertificateThumbprint - An alternative to the client secret, that is the thumbprint of a certificate used for signing purposes. This property acts as 18276 // a replacement for the Client Secret. It is also optional. 18277 ClientSecretCertificateThumbprint *string `json:"clientSecretCertificateThumbprint,omitempty"` 18278 // Issuer - The OpenID Connect Issuer URI that represents the entity which issues access tokens for this application. 18279 // When using Azure Active Directory, this value is the URI of the directory tenant, e.g. https://sts.windows.net/{tenant-guid}/. 18280 // This URI is a case-sensitive identifier for the token issuer. 18281 // More information on OpenID Connect Discovery: http://openid.net/specs/openid-connect-discovery-1_0.html 18282 Issuer *string `json:"issuer,omitempty"` 18283 // ValidateIssuer - Gets a value indicating whether the issuer should be a valid HTTPS url and be validated as such. 18284 ValidateIssuer *bool `json:"validateIssuer,omitempty"` 18285 // AllowedAudiences - Allowed audience values to consider when validating JWTs issued by 18286 // Azure Active Directory. Note that the <code>ClientID</code> value is always considered an 18287 // allowed audience, regardless of this setting. 18288 AllowedAudiences *[]string `json:"allowedAudiences,omitempty"` 18289 // AdditionalLoginParams - Login parameters to send to the OpenID Connect authorization endpoint when 18290 // a user logs in. Each parameter must be in the form "key=value". 18291 AdditionalLoginParams *[]string `json:"additionalLoginParams,omitempty"` 18292 // GoogleClientID - The OpenID Connect Client ID for the Google web application. 18293 // This setting is required for enabling Google Sign-In. 18294 // Google Sign-In documentation: https://developers.google.com/identity/sign-in/web/ 18295 GoogleClientID *string `json:"googleClientId,omitempty"` 18296 // GoogleClientSecret - The client secret associated with the Google web application. 18297 // This setting is required for enabling Google Sign-In. 18298 // Google Sign-In documentation: https://developers.google.com/identity/sign-in/web/ 18299 GoogleClientSecret *string `json:"googleClientSecret,omitempty"` 18300 // GoogleOAuthScopes - The OAuth 2.0 scopes that will be requested as part of Google Sign-In authentication. 18301 // This setting is optional. If not specified, "openid", "profile", and "email" are used as default scopes. 18302 // Google Sign-In documentation: https://developers.google.com/identity/sign-in/web/ 18303 GoogleOAuthScopes *[]string `json:"googleOAuthScopes,omitempty"` 18304 // FacebookAppID - The App ID of the Facebook app used for login. 18305 // This setting is required for enabling Facebook Login. 18306 // Facebook Login documentation: https://developers.facebook.com/docs/facebook-login 18307 FacebookAppID *string `json:"facebookAppId,omitempty"` 18308 // FacebookAppSecret - The App Secret of the Facebook app used for Facebook Login. 18309 // This setting is required for enabling Facebook Login. 18310 // Facebook Login documentation: https://developers.facebook.com/docs/facebook-login 18311 FacebookAppSecret *string `json:"facebookAppSecret,omitempty"` 18312 // FacebookOAuthScopes - The OAuth 2.0 scopes that will be requested as part of Facebook Login authentication. 18313 // This setting is optional. 18314 // Facebook Login documentation: https://developers.facebook.com/docs/facebook-login 18315 FacebookOAuthScopes *[]string `json:"facebookOAuthScopes,omitempty"` 18316 // TwitterConsumerKey - The OAuth 1.0a consumer key of the Twitter application used for sign-in. 18317 // This setting is required for enabling Twitter Sign-In. 18318 // Twitter Sign-In documentation: https://dev.twitter.com/web/sign-in 18319 TwitterConsumerKey *string `json:"twitterConsumerKey,omitempty"` 18320 // TwitterConsumerSecret - The OAuth 1.0a consumer secret of the Twitter application used for sign-in. 18321 // This setting is required for enabling Twitter Sign-In. 18322 // Twitter Sign-In documentation: https://dev.twitter.com/web/sign-in 18323 TwitterConsumerSecret *string `json:"twitterConsumerSecret,omitempty"` 18324 // MicrosoftAccountClientID - The OAuth 2.0 client ID that was created for the app used for authentication. 18325 // This setting is required for enabling Microsoft Account authentication. 18326 // Microsoft Account OAuth documentation: https://dev.onedrive.com/auth/msa_oauth.htm 18327 MicrosoftAccountClientID *string `json:"microsoftAccountClientId,omitempty"` 18328 // MicrosoftAccountClientSecret - The OAuth 2.0 client secret that was created for the app used for authentication. 18329 // This setting is required for enabling Microsoft Account authentication. 18330 // Microsoft Account OAuth documentation: https://dev.onedrive.com/auth/msa_oauth.htm 18331 MicrosoftAccountClientSecret *string `json:"microsoftAccountClientSecret,omitempty"` 18332 // MicrosoftAccountOAuthScopes - The OAuth 2.0 scopes that will be requested as part of Microsoft Account authentication. 18333 // This setting is optional. If not specified, "wl.basic" is used as the default scope. 18334 // Microsoft Account Scopes and permissions documentation: https://msdn.microsoft.com/en-us/library/dn631845.aspx 18335 MicrosoftAccountOAuthScopes *[]string `json:"microsoftAccountOAuthScopes,omitempty"` 18336} 18337 18338// SiteCloneability represents whether or not an app is cloneable. 18339type SiteCloneability struct { 18340 autorest.Response `json:"-"` 18341 // Result - Name of app. Possible values include: 'Cloneable', 'PartiallyCloneable', 'NotCloneable' 18342 Result CloneAbilityResult `json:"result,omitempty"` 18343 // BlockingFeatures - List of features enabled on app that prevent cloning. 18344 BlockingFeatures *[]SiteCloneabilityCriterion `json:"blockingFeatures,omitempty"` 18345 // UnsupportedFeatures - List of features enabled on app that are non-blocking but cannot be cloned. The app can still be cloned 18346 // but the features in this list will not be set up on cloned app. 18347 UnsupportedFeatures *[]SiteCloneabilityCriterion `json:"unsupportedFeatures,omitempty"` 18348 // BlockingCharacteristics - List of blocking application characteristics. 18349 BlockingCharacteristics *[]SiteCloneabilityCriterion `json:"blockingCharacteristics,omitempty"` 18350} 18351 18352// SiteCloneabilityCriterion an app cloneability criterion. 18353type SiteCloneabilityCriterion struct { 18354 // Name - Name of criterion. 18355 Name *string `json:"name,omitempty"` 18356 // Description - Description of criterion. 18357 Description *string `json:"description,omitempty"` 18358} 18359 18360// SiteConfig configuration of an App Service app. 18361type SiteConfig struct { 18362 // NumberOfWorkers - Number of workers. 18363 NumberOfWorkers *int32 `json:"numberOfWorkers,omitempty"` 18364 // DefaultDocuments - Default documents. 18365 DefaultDocuments *[]string `json:"defaultDocuments,omitempty"` 18366 // NetFrameworkVersion - .NET Framework version. 18367 NetFrameworkVersion *string `json:"netFrameworkVersion,omitempty"` 18368 // PhpVersion - Version of PHP. 18369 PhpVersion *string `json:"phpVersion,omitempty"` 18370 // PythonVersion - Version of Python. 18371 PythonVersion *string `json:"pythonVersion,omitempty"` 18372 // NodeVersion - Version of Node.js. 18373 NodeVersion *string `json:"nodeVersion,omitempty"` 18374 // LinuxFxVersion - Linux App Framework and version 18375 LinuxFxVersion *string `json:"linuxFxVersion,omitempty"` 18376 // WindowsFxVersion - Xenon App Framework and version 18377 WindowsFxVersion *string `json:"windowsFxVersion,omitempty"` 18378 // RequestTracingEnabled - <code>true</code> if request tracing is enabled; otherwise, <code>false</code>. 18379 RequestTracingEnabled *bool `json:"requestTracingEnabled,omitempty"` 18380 // RequestTracingExpirationTime - Request tracing expiration time. 18381 RequestTracingExpirationTime *date.Time `json:"requestTracingExpirationTime,omitempty"` 18382 // RemoteDebuggingEnabled - <code>true</code> if remote debugging is enabled; otherwise, <code>false</code>. 18383 RemoteDebuggingEnabled *bool `json:"remoteDebuggingEnabled,omitempty"` 18384 // RemoteDebuggingVersion - Remote debugging version. 18385 RemoteDebuggingVersion *string `json:"remoteDebuggingVersion,omitempty"` 18386 // HTTPLoggingEnabled - <code>true</code> if HTTP logging is enabled; otherwise, <code>false</code>. 18387 HTTPLoggingEnabled *bool `json:"httpLoggingEnabled,omitempty"` 18388 // LogsDirectorySizeLimit - HTTP logs directory size limit. 18389 LogsDirectorySizeLimit *int32 `json:"logsDirectorySizeLimit,omitempty"` 18390 // DetailedErrorLoggingEnabled - <code>true</code> if detailed error logging is enabled; otherwise, <code>false</code>. 18391 DetailedErrorLoggingEnabled *bool `json:"detailedErrorLoggingEnabled,omitempty"` 18392 // PublishingUsername - Publishing user name. 18393 PublishingUsername *string `json:"publishingUsername,omitempty"` 18394 // AppSettings - Application settings. 18395 AppSettings *[]NameValuePair `json:"appSettings,omitempty"` 18396 // AzureStorageAccounts - User-provided Azure storage accounts. 18397 AzureStorageAccounts map[string]*AzureStorageInfoValue `json:"azureStorageAccounts"` 18398 // ConnectionStrings - Connection strings. 18399 ConnectionStrings *[]ConnStringInfo `json:"connectionStrings,omitempty"` 18400 // MachineKey - READ-ONLY; Site MachineKey. 18401 MachineKey *SiteMachineKey `json:"machineKey,omitempty"` 18402 // HandlerMappings - Handler mappings. 18403 HandlerMappings *[]HandlerMapping `json:"handlerMappings,omitempty"` 18404 // DocumentRoot - Document root. 18405 DocumentRoot *string `json:"documentRoot,omitempty"` 18406 // ScmType - SCM type. Possible values include: 'ScmTypeNone', 'ScmTypeDropbox', 'ScmTypeTfs', 'ScmTypeLocalGit', 'ScmTypeGitHub', 'ScmTypeCodePlexGit', 'ScmTypeCodePlexHg', 'ScmTypeBitbucketGit', 'ScmTypeBitbucketHg', 'ScmTypeExternalGit', 'ScmTypeExternalHg', 'ScmTypeOneDrive', 'ScmTypeVSO' 18407 ScmType ScmType `json:"scmType,omitempty"` 18408 // Use32BitWorkerProcess - <code>true</code> to use 32-bit worker process; otherwise, <code>false</code>. 18409 Use32BitWorkerProcess *bool `json:"use32BitWorkerProcess,omitempty"` 18410 // WebSocketsEnabled - <code>true</code> if WebSocket is enabled; otherwise, <code>false</code>. 18411 WebSocketsEnabled *bool `json:"webSocketsEnabled,omitempty"` 18412 // AlwaysOn - <code>true</code> if Always On is enabled; otherwise, <code>false</code>. 18413 AlwaysOn *bool `json:"alwaysOn,omitempty"` 18414 // JavaVersion - Java version. 18415 JavaVersion *string `json:"javaVersion,omitempty"` 18416 // JavaContainer - Java container. 18417 JavaContainer *string `json:"javaContainer,omitempty"` 18418 // JavaContainerVersion - Java container version. 18419 JavaContainerVersion *string `json:"javaContainerVersion,omitempty"` 18420 // AppCommandLine - App command line to launch. 18421 AppCommandLine *string `json:"appCommandLine,omitempty"` 18422 // ManagedPipelineMode - Managed pipeline mode. Possible values include: 'Integrated', 'Classic' 18423 ManagedPipelineMode ManagedPipelineMode `json:"managedPipelineMode,omitempty"` 18424 // VirtualApplications - Virtual applications. 18425 VirtualApplications *[]VirtualApplication `json:"virtualApplications,omitempty"` 18426 // LoadBalancing - Site load balancing. Possible values include: 'WeightedRoundRobin', 'LeastRequests', 'LeastResponseTime', 'WeightedTotalTraffic', 'RequestHash' 18427 LoadBalancing SiteLoadBalancing `json:"loadBalancing,omitempty"` 18428 // Experiments - This is work around for polymorphic types. 18429 Experiments *Experiments `json:"experiments,omitempty"` 18430 // Limits - Site limits. 18431 Limits *SiteLimits `json:"limits,omitempty"` 18432 // AutoHealEnabled - <code>true</code> if Auto Heal is enabled; otherwise, <code>false</code>. 18433 AutoHealEnabled *bool `json:"autoHealEnabled,omitempty"` 18434 // AutoHealRules - Auto Heal rules. 18435 AutoHealRules *AutoHealRules `json:"autoHealRules,omitempty"` 18436 // TracingOptions - Tracing options. 18437 TracingOptions *string `json:"tracingOptions,omitempty"` 18438 // VnetName - Virtual Network name. 18439 VnetName *string `json:"vnetName,omitempty"` 18440 // Cors - Cross-Origin Resource Sharing (CORS) settings. 18441 Cors *CorsSettings `json:"cors,omitempty"` 18442 // Push - Push endpoint settings. 18443 Push *PushSettings `json:"push,omitempty"` 18444 // APIDefinition - Information about the formal API definition for the app. 18445 APIDefinition *APIDefinitionInfo `json:"apiDefinition,omitempty"` 18446 // AutoSwapSlotName - Auto-swap slot name. 18447 AutoSwapSlotName *string `json:"autoSwapSlotName,omitempty"` 18448 // LocalMySQLEnabled - <code>true</code> to enable local MySQL; otherwise, <code>false</code>. 18449 LocalMySQLEnabled *bool `json:"localMySqlEnabled,omitempty"` 18450 // ManagedServiceIdentityID - Managed Service Identity Id 18451 ManagedServiceIdentityID *int32 `json:"managedServiceIdentityId,omitempty"` 18452 // XManagedServiceIdentityID - Explicit Managed Service Identity Id 18453 XManagedServiceIdentityID *int32 `json:"xManagedServiceIdentityId,omitempty"` 18454 // IPSecurityRestrictions - IP security restrictions for main. 18455 IPSecurityRestrictions *[]IPSecurityRestriction `json:"ipSecurityRestrictions,omitempty"` 18456 // ScmIPSecurityRestrictions - IP security restrictions for scm. 18457 ScmIPSecurityRestrictions *[]IPSecurityRestriction `json:"scmIpSecurityRestrictions,omitempty"` 18458 // ScmIPSecurityRestrictionsUseMain - IP security restrictions for scm to use main. 18459 ScmIPSecurityRestrictionsUseMain *bool `json:"scmIpSecurityRestrictionsUseMain,omitempty"` 18460 // HTTP20Enabled - Http20Enabled: configures a web site to allow clients to connect over http2.0 18461 HTTP20Enabled *bool `json:"http20Enabled,omitempty"` 18462 // MinTLSVersion - MinTlsVersion: configures the minimum version of TLS required for SSL requests. Possible values include: 'OneFullStopZero', 'OneFullStopOne', 'OneFullStopTwo' 18463 MinTLSVersion SupportedTLSVersions `json:"minTlsVersion,omitempty"` 18464 // FtpsState - State of FTP / FTPS service. Possible values include: 'AllAllowed', 'FtpsOnly', 'Disabled' 18465 FtpsState FtpsState `json:"ftpsState,omitempty"` 18466 // ReservedInstanceCount - Number of reserved instances. 18467 // This setting only applies to the Consumption Plan 18468 ReservedInstanceCount *int32 `json:"reservedInstanceCount,omitempty"` 18469} 18470 18471// MarshalJSON is the custom marshaler for SiteConfig. 18472func (sc SiteConfig) MarshalJSON() ([]byte, error) { 18473 objectMap := make(map[string]interface{}) 18474 if sc.NumberOfWorkers != nil { 18475 objectMap["numberOfWorkers"] = sc.NumberOfWorkers 18476 } 18477 if sc.DefaultDocuments != nil { 18478 objectMap["defaultDocuments"] = sc.DefaultDocuments 18479 } 18480 if sc.NetFrameworkVersion != nil { 18481 objectMap["netFrameworkVersion"] = sc.NetFrameworkVersion 18482 } 18483 if sc.PhpVersion != nil { 18484 objectMap["phpVersion"] = sc.PhpVersion 18485 } 18486 if sc.PythonVersion != nil { 18487 objectMap["pythonVersion"] = sc.PythonVersion 18488 } 18489 if sc.NodeVersion != nil { 18490 objectMap["nodeVersion"] = sc.NodeVersion 18491 } 18492 if sc.LinuxFxVersion != nil { 18493 objectMap["linuxFxVersion"] = sc.LinuxFxVersion 18494 } 18495 if sc.WindowsFxVersion != nil { 18496 objectMap["windowsFxVersion"] = sc.WindowsFxVersion 18497 } 18498 if sc.RequestTracingEnabled != nil { 18499 objectMap["requestTracingEnabled"] = sc.RequestTracingEnabled 18500 } 18501 if sc.RequestTracingExpirationTime != nil { 18502 objectMap["requestTracingExpirationTime"] = sc.RequestTracingExpirationTime 18503 } 18504 if sc.RemoteDebuggingEnabled != nil { 18505 objectMap["remoteDebuggingEnabled"] = sc.RemoteDebuggingEnabled 18506 } 18507 if sc.RemoteDebuggingVersion != nil { 18508 objectMap["remoteDebuggingVersion"] = sc.RemoteDebuggingVersion 18509 } 18510 if sc.HTTPLoggingEnabled != nil { 18511 objectMap["httpLoggingEnabled"] = sc.HTTPLoggingEnabled 18512 } 18513 if sc.LogsDirectorySizeLimit != nil { 18514 objectMap["logsDirectorySizeLimit"] = sc.LogsDirectorySizeLimit 18515 } 18516 if sc.DetailedErrorLoggingEnabled != nil { 18517 objectMap["detailedErrorLoggingEnabled"] = sc.DetailedErrorLoggingEnabled 18518 } 18519 if sc.PublishingUsername != nil { 18520 objectMap["publishingUsername"] = sc.PublishingUsername 18521 } 18522 if sc.AppSettings != nil { 18523 objectMap["appSettings"] = sc.AppSettings 18524 } 18525 if sc.AzureStorageAccounts != nil { 18526 objectMap["azureStorageAccounts"] = sc.AzureStorageAccounts 18527 } 18528 if sc.ConnectionStrings != nil { 18529 objectMap["connectionStrings"] = sc.ConnectionStrings 18530 } 18531 if sc.HandlerMappings != nil { 18532 objectMap["handlerMappings"] = sc.HandlerMappings 18533 } 18534 if sc.DocumentRoot != nil { 18535 objectMap["documentRoot"] = sc.DocumentRoot 18536 } 18537 if sc.ScmType != "" { 18538 objectMap["scmType"] = sc.ScmType 18539 } 18540 if sc.Use32BitWorkerProcess != nil { 18541 objectMap["use32BitWorkerProcess"] = sc.Use32BitWorkerProcess 18542 } 18543 if sc.WebSocketsEnabled != nil { 18544 objectMap["webSocketsEnabled"] = sc.WebSocketsEnabled 18545 } 18546 if sc.AlwaysOn != nil { 18547 objectMap["alwaysOn"] = sc.AlwaysOn 18548 } 18549 if sc.JavaVersion != nil { 18550 objectMap["javaVersion"] = sc.JavaVersion 18551 } 18552 if sc.JavaContainer != nil { 18553 objectMap["javaContainer"] = sc.JavaContainer 18554 } 18555 if sc.JavaContainerVersion != nil { 18556 objectMap["javaContainerVersion"] = sc.JavaContainerVersion 18557 } 18558 if sc.AppCommandLine != nil { 18559 objectMap["appCommandLine"] = sc.AppCommandLine 18560 } 18561 if sc.ManagedPipelineMode != "" { 18562 objectMap["managedPipelineMode"] = sc.ManagedPipelineMode 18563 } 18564 if sc.VirtualApplications != nil { 18565 objectMap["virtualApplications"] = sc.VirtualApplications 18566 } 18567 if sc.LoadBalancing != "" { 18568 objectMap["loadBalancing"] = sc.LoadBalancing 18569 } 18570 if sc.Experiments != nil { 18571 objectMap["experiments"] = sc.Experiments 18572 } 18573 if sc.Limits != nil { 18574 objectMap["limits"] = sc.Limits 18575 } 18576 if sc.AutoHealEnabled != nil { 18577 objectMap["autoHealEnabled"] = sc.AutoHealEnabled 18578 } 18579 if sc.AutoHealRules != nil { 18580 objectMap["autoHealRules"] = sc.AutoHealRules 18581 } 18582 if sc.TracingOptions != nil { 18583 objectMap["tracingOptions"] = sc.TracingOptions 18584 } 18585 if sc.VnetName != nil { 18586 objectMap["vnetName"] = sc.VnetName 18587 } 18588 if sc.Cors != nil { 18589 objectMap["cors"] = sc.Cors 18590 } 18591 if sc.Push != nil { 18592 objectMap["push"] = sc.Push 18593 } 18594 if sc.APIDefinition != nil { 18595 objectMap["apiDefinition"] = sc.APIDefinition 18596 } 18597 if sc.AutoSwapSlotName != nil { 18598 objectMap["autoSwapSlotName"] = sc.AutoSwapSlotName 18599 } 18600 if sc.LocalMySQLEnabled != nil { 18601 objectMap["localMySqlEnabled"] = sc.LocalMySQLEnabled 18602 } 18603 if sc.ManagedServiceIdentityID != nil { 18604 objectMap["managedServiceIdentityId"] = sc.ManagedServiceIdentityID 18605 } 18606 if sc.XManagedServiceIdentityID != nil { 18607 objectMap["xManagedServiceIdentityId"] = sc.XManagedServiceIdentityID 18608 } 18609 if sc.IPSecurityRestrictions != nil { 18610 objectMap["ipSecurityRestrictions"] = sc.IPSecurityRestrictions 18611 } 18612 if sc.ScmIPSecurityRestrictions != nil { 18613 objectMap["scmIpSecurityRestrictions"] = sc.ScmIPSecurityRestrictions 18614 } 18615 if sc.ScmIPSecurityRestrictionsUseMain != nil { 18616 objectMap["scmIpSecurityRestrictionsUseMain"] = sc.ScmIPSecurityRestrictionsUseMain 18617 } 18618 if sc.HTTP20Enabled != nil { 18619 objectMap["http20Enabled"] = sc.HTTP20Enabled 18620 } 18621 if sc.MinTLSVersion != "" { 18622 objectMap["minTlsVersion"] = sc.MinTLSVersion 18623 } 18624 if sc.FtpsState != "" { 18625 objectMap["ftpsState"] = sc.FtpsState 18626 } 18627 if sc.ReservedInstanceCount != nil { 18628 objectMap["reservedInstanceCount"] = sc.ReservedInstanceCount 18629 } 18630 return json.Marshal(objectMap) 18631} 18632 18633// SiteConfigResource web app configuration ARM resource. 18634type SiteConfigResource struct { 18635 autorest.Response `json:"-"` 18636 // SiteConfig - Core resource properties 18637 *SiteConfig `json:"properties,omitempty"` 18638 // ID - READ-ONLY; Resource Id. 18639 ID *string `json:"id,omitempty"` 18640 // Name - READ-ONLY; Resource Name. 18641 Name *string `json:"name,omitempty"` 18642 // Kind - Kind of resource. 18643 Kind *string `json:"kind,omitempty"` 18644 // Type - READ-ONLY; Resource type. 18645 Type *string `json:"type,omitempty"` 18646} 18647 18648// MarshalJSON is the custom marshaler for SiteConfigResource. 18649func (scr SiteConfigResource) MarshalJSON() ([]byte, error) { 18650 objectMap := make(map[string]interface{}) 18651 if scr.SiteConfig != nil { 18652 objectMap["properties"] = scr.SiteConfig 18653 } 18654 if scr.Kind != nil { 18655 objectMap["kind"] = scr.Kind 18656 } 18657 return json.Marshal(objectMap) 18658} 18659 18660// UnmarshalJSON is the custom unmarshaler for SiteConfigResource struct. 18661func (scr *SiteConfigResource) UnmarshalJSON(body []byte) error { 18662 var m map[string]*json.RawMessage 18663 err := json.Unmarshal(body, &m) 18664 if err != nil { 18665 return err 18666 } 18667 for k, v := range m { 18668 switch k { 18669 case "properties": 18670 if v != nil { 18671 var siteConfig SiteConfig 18672 err = json.Unmarshal(*v, &siteConfig) 18673 if err != nil { 18674 return err 18675 } 18676 scr.SiteConfig = &siteConfig 18677 } 18678 case "id": 18679 if v != nil { 18680 var ID string 18681 err = json.Unmarshal(*v, &ID) 18682 if err != nil { 18683 return err 18684 } 18685 scr.ID = &ID 18686 } 18687 case "name": 18688 if v != nil { 18689 var name string 18690 err = json.Unmarshal(*v, &name) 18691 if err != nil { 18692 return err 18693 } 18694 scr.Name = &name 18695 } 18696 case "kind": 18697 if v != nil { 18698 var kind string 18699 err = json.Unmarshal(*v, &kind) 18700 if err != nil { 18701 return err 18702 } 18703 scr.Kind = &kind 18704 } 18705 case "type": 18706 if v != nil { 18707 var typeVar string 18708 err = json.Unmarshal(*v, &typeVar) 18709 if err != nil { 18710 return err 18711 } 18712 scr.Type = &typeVar 18713 } 18714 } 18715 } 18716 18717 return nil 18718} 18719 18720// SiteConfigResourceCollection collection of site configurations. 18721type SiteConfigResourceCollection struct { 18722 autorest.Response `json:"-"` 18723 // Value - Collection of resources. 18724 Value *[]SiteConfigResource `json:"value,omitempty"` 18725 // NextLink - READ-ONLY; Link to next page of resources. 18726 NextLink *string `json:"nextLink,omitempty"` 18727} 18728 18729// MarshalJSON is the custom marshaler for SiteConfigResourceCollection. 18730func (scrc SiteConfigResourceCollection) MarshalJSON() ([]byte, error) { 18731 objectMap := make(map[string]interface{}) 18732 if scrc.Value != nil { 18733 objectMap["value"] = scrc.Value 18734 } 18735 return json.Marshal(objectMap) 18736} 18737 18738// SiteConfigResourceCollectionIterator provides access to a complete listing of SiteConfigResource values. 18739type SiteConfigResourceCollectionIterator struct { 18740 i int 18741 page SiteConfigResourceCollectionPage 18742} 18743 18744// NextWithContext advances to the next value. If there was an error making 18745// the request the iterator does not advance and the error is returned. 18746func (iter *SiteConfigResourceCollectionIterator) NextWithContext(ctx context.Context) (err error) { 18747 if tracing.IsEnabled() { 18748 ctx = tracing.StartSpan(ctx, fqdn+"/SiteConfigResourceCollectionIterator.NextWithContext") 18749 defer func() { 18750 sc := -1 18751 if iter.Response().Response.Response != nil { 18752 sc = iter.Response().Response.Response.StatusCode 18753 } 18754 tracing.EndSpan(ctx, sc, err) 18755 }() 18756 } 18757 iter.i++ 18758 if iter.i < len(iter.page.Values()) { 18759 return nil 18760 } 18761 err = iter.page.NextWithContext(ctx) 18762 if err != nil { 18763 iter.i-- 18764 return err 18765 } 18766 iter.i = 0 18767 return nil 18768} 18769 18770// Next advances to the next value. If there was an error making 18771// the request the iterator does not advance and the error is returned. 18772// Deprecated: Use NextWithContext() instead. 18773func (iter *SiteConfigResourceCollectionIterator) Next() error { 18774 return iter.NextWithContext(context.Background()) 18775} 18776 18777// NotDone returns true if the enumeration should be started or is not yet complete. 18778func (iter SiteConfigResourceCollectionIterator) NotDone() bool { 18779 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 18780} 18781 18782// Response returns the raw server response from the last page request. 18783func (iter SiteConfigResourceCollectionIterator) Response() SiteConfigResourceCollection { 18784 return iter.page.Response() 18785} 18786 18787// Value returns the current value or a zero-initialized value if the 18788// iterator has advanced beyond the end of the collection. 18789func (iter SiteConfigResourceCollectionIterator) Value() SiteConfigResource { 18790 if !iter.page.NotDone() { 18791 return SiteConfigResource{} 18792 } 18793 return iter.page.Values()[iter.i] 18794} 18795 18796// Creates a new instance of the SiteConfigResourceCollectionIterator type. 18797func NewSiteConfigResourceCollectionIterator(page SiteConfigResourceCollectionPage) SiteConfigResourceCollectionIterator { 18798 return SiteConfigResourceCollectionIterator{page: page} 18799} 18800 18801// IsEmpty returns true if the ListResult contains no values. 18802func (scrc SiteConfigResourceCollection) IsEmpty() bool { 18803 return scrc.Value == nil || len(*scrc.Value) == 0 18804} 18805 18806// hasNextLink returns true if the NextLink is not empty. 18807func (scrc SiteConfigResourceCollection) hasNextLink() bool { 18808 return scrc.NextLink != nil && len(*scrc.NextLink) != 0 18809} 18810 18811// siteConfigResourceCollectionPreparer prepares a request to retrieve the next set of results. 18812// It returns nil if no more results exist. 18813func (scrc SiteConfigResourceCollection) siteConfigResourceCollectionPreparer(ctx context.Context) (*http.Request, error) { 18814 if !scrc.hasNextLink() { 18815 return nil, nil 18816 } 18817 return autorest.Prepare((&http.Request{}).WithContext(ctx), 18818 autorest.AsJSON(), 18819 autorest.AsGet(), 18820 autorest.WithBaseURL(to.String(scrc.NextLink))) 18821} 18822 18823// SiteConfigResourceCollectionPage contains a page of SiteConfigResource values. 18824type SiteConfigResourceCollectionPage struct { 18825 fn func(context.Context, SiteConfigResourceCollection) (SiteConfigResourceCollection, error) 18826 scrc SiteConfigResourceCollection 18827} 18828 18829// NextWithContext advances to the next page of values. If there was an error making 18830// the request the page does not advance and the error is returned. 18831func (page *SiteConfigResourceCollectionPage) NextWithContext(ctx context.Context) (err error) { 18832 if tracing.IsEnabled() { 18833 ctx = tracing.StartSpan(ctx, fqdn+"/SiteConfigResourceCollectionPage.NextWithContext") 18834 defer func() { 18835 sc := -1 18836 if page.Response().Response.Response != nil { 18837 sc = page.Response().Response.Response.StatusCode 18838 } 18839 tracing.EndSpan(ctx, sc, err) 18840 }() 18841 } 18842 for { 18843 next, err := page.fn(ctx, page.scrc) 18844 if err != nil { 18845 return err 18846 } 18847 page.scrc = next 18848 if !next.hasNextLink() || !next.IsEmpty() { 18849 break 18850 } 18851 } 18852 return nil 18853} 18854 18855// Next advances to the next page of values. If there was an error making 18856// the request the page does not advance and the error is returned. 18857// Deprecated: Use NextWithContext() instead. 18858func (page *SiteConfigResourceCollectionPage) Next() error { 18859 return page.NextWithContext(context.Background()) 18860} 18861 18862// NotDone returns true if the page enumeration should be started or is not yet complete. 18863func (page SiteConfigResourceCollectionPage) NotDone() bool { 18864 return !page.scrc.IsEmpty() 18865} 18866 18867// Response returns the raw server response from the last page request. 18868func (page SiteConfigResourceCollectionPage) Response() SiteConfigResourceCollection { 18869 return page.scrc 18870} 18871 18872// Values returns the slice of values for the current page or nil if there are no values. 18873func (page SiteConfigResourceCollectionPage) Values() []SiteConfigResource { 18874 if page.scrc.IsEmpty() { 18875 return nil 18876 } 18877 return *page.scrc.Value 18878} 18879 18880// Creates a new instance of the SiteConfigResourceCollectionPage type. 18881func NewSiteConfigResourceCollectionPage(cur SiteConfigResourceCollection, getNextPage func(context.Context, SiteConfigResourceCollection) (SiteConfigResourceCollection, error)) SiteConfigResourceCollectionPage { 18882 return SiteConfigResourceCollectionPage{ 18883 fn: getNextPage, 18884 scrc: cur, 18885 } 18886} 18887 18888// SiteConfigurationSnapshotInfo a snapshot of a web app configuration. 18889type SiteConfigurationSnapshotInfo struct { 18890 // SiteConfigurationSnapshotInfoProperties - SiteConfigurationSnapshotInfo resource specific properties 18891 *SiteConfigurationSnapshotInfoProperties `json:"properties,omitempty"` 18892 // ID - READ-ONLY; Resource Id. 18893 ID *string `json:"id,omitempty"` 18894 // Name - READ-ONLY; Resource Name. 18895 Name *string `json:"name,omitempty"` 18896 // Kind - Kind of resource. 18897 Kind *string `json:"kind,omitempty"` 18898 // Type - READ-ONLY; Resource type. 18899 Type *string `json:"type,omitempty"` 18900} 18901 18902// MarshalJSON is the custom marshaler for SiteConfigurationSnapshotInfo. 18903func (scsi SiteConfigurationSnapshotInfo) MarshalJSON() ([]byte, error) { 18904 objectMap := make(map[string]interface{}) 18905 if scsi.SiteConfigurationSnapshotInfoProperties != nil { 18906 objectMap["properties"] = scsi.SiteConfigurationSnapshotInfoProperties 18907 } 18908 if scsi.Kind != nil { 18909 objectMap["kind"] = scsi.Kind 18910 } 18911 return json.Marshal(objectMap) 18912} 18913 18914// UnmarshalJSON is the custom unmarshaler for SiteConfigurationSnapshotInfo struct. 18915func (scsi *SiteConfigurationSnapshotInfo) UnmarshalJSON(body []byte) error { 18916 var m map[string]*json.RawMessage 18917 err := json.Unmarshal(body, &m) 18918 if err != nil { 18919 return err 18920 } 18921 for k, v := range m { 18922 switch k { 18923 case "properties": 18924 if v != nil { 18925 var siteConfigurationSnapshotInfoProperties SiteConfigurationSnapshotInfoProperties 18926 err = json.Unmarshal(*v, &siteConfigurationSnapshotInfoProperties) 18927 if err != nil { 18928 return err 18929 } 18930 scsi.SiteConfigurationSnapshotInfoProperties = &siteConfigurationSnapshotInfoProperties 18931 } 18932 case "id": 18933 if v != nil { 18934 var ID string 18935 err = json.Unmarshal(*v, &ID) 18936 if err != nil { 18937 return err 18938 } 18939 scsi.ID = &ID 18940 } 18941 case "name": 18942 if v != nil { 18943 var name string 18944 err = json.Unmarshal(*v, &name) 18945 if err != nil { 18946 return err 18947 } 18948 scsi.Name = &name 18949 } 18950 case "kind": 18951 if v != nil { 18952 var kind string 18953 err = json.Unmarshal(*v, &kind) 18954 if err != nil { 18955 return err 18956 } 18957 scsi.Kind = &kind 18958 } 18959 case "type": 18960 if v != nil { 18961 var typeVar string 18962 err = json.Unmarshal(*v, &typeVar) 18963 if err != nil { 18964 return err 18965 } 18966 scsi.Type = &typeVar 18967 } 18968 } 18969 } 18970 18971 return nil 18972} 18973 18974// SiteConfigurationSnapshotInfoCollection collection of metadata for the app configuration snapshots that 18975// can be restored. 18976type SiteConfigurationSnapshotInfoCollection struct { 18977 autorest.Response `json:"-"` 18978 // Value - Collection of resources. 18979 Value *[]SiteConfigurationSnapshotInfo `json:"value,omitempty"` 18980 // NextLink - READ-ONLY; Link to next page of resources. 18981 NextLink *string `json:"nextLink,omitempty"` 18982} 18983 18984// MarshalJSON is the custom marshaler for SiteConfigurationSnapshotInfoCollection. 18985func (scsic SiteConfigurationSnapshotInfoCollection) MarshalJSON() ([]byte, error) { 18986 objectMap := make(map[string]interface{}) 18987 if scsic.Value != nil { 18988 objectMap["value"] = scsic.Value 18989 } 18990 return json.Marshal(objectMap) 18991} 18992 18993// SiteConfigurationSnapshotInfoCollectionIterator provides access to a complete listing of 18994// SiteConfigurationSnapshotInfo values. 18995type SiteConfigurationSnapshotInfoCollectionIterator struct { 18996 i int 18997 page SiteConfigurationSnapshotInfoCollectionPage 18998} 18999 19000// NextWithContext advances to the next value. If there was an error making 19001// the request the iterator does not advance and the error is returned. 19002func (iter *SiteConfigurationSnapshotInfoCollectionIterator) NextWithContext(ctx context.Context) (err error) { 19003 if tracing.IsEnabled() { 19004 ctx = tracing.StartSpan(ctx, fqdn+"/SiteConfigurationSnapshotInfoCollectionIterator.NextWithContext") 19005 defer func() { 19006 sc := -1 19007 if iter.Response().Response.Response != nil { 19008 sc = iter.Response().Response.Response.StatusCode 19009 } 19010 tracing.EndSpan(ctx, sc, err) 19011 }() 19012 } 19013 iter.i++ 19014 if iter.i < len(iter.page.Values()) { 19015 return nil 19016 } 19017 err = iter.page.NextWithContext(ctx) 19018 if err != nil { 19019 iter.i-- 19020 return err 19021 } 19022 iter.i = 0 19023 return nil 19024} 19025 19026// Next advances to the next value. If there was an error making 19027// the request the iterator does not advance and the error is returned. 19028// Deprecated: Use NextWithContext() instead. 19029func (iter *SiteConfigurationSnapshotInfoCollectionIterator) Next() error { 19030 return iter.NextWithContext(context.Background()) 19031} 19032 19033// NotDone returns true if the enumeration should be started or is not yet complete. 19034func (iter SiteConfigurationSnapshotInfoCollectionIterator) NotDone() bool { 19035 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 19036} 19037 19038// Response returns the raw server response from the last page request. 19039func (iter SiteConfigurationSnapshotInfoCollectionIterator) Response() SiteConfigurationSnapshotInfoCollection { 19040 return iter.page.Response() 19041} 19042 19043// Value returns the current value or a zero-initialized value if the 19044// iterator has advanced beyond the end of the collection. 19045func (iter SiteConfigurationSnapshotInfoCollectionIterator) Value() SiteConfigurationSnapshotInfo { 19046 if !iter.page.NotDone() { 19047 return SiteConfigurationSnapshotInfo{} 19048 } 19049 return iter.page.Values()[iter.i] 19050} 19051 19052// Creates a new instance of the SiteConfigurationSnapshotInfoCollectionIterator type. 19053func NewSiteConfigurationSnapshotInfoCollectionIterator(page SiteConfigurationSnapshotInfoCollectionPage) SiteConfigurationSnapshotInfoCollectionIterator { 19054 return SiteConfigurationSnapshotInfoCollectionIterator{page: page} 19055} 19056 19057// IsEmpty returns true if the ListResult contains no values. 19058func (scsic SiteConfigurationSnapshotInfoCollection) IsEmpty() bool { 19059 return scsic.Value == nil || len(*scsic.Value) == 0 19060} 19061 19062// hasNextLink returns true if the NextLink is not empty. 19063func (scsic SiteConfigurationSnapshotInfoCollection) hasNextLink() bool { 19064 return scsic.NextLink != nil && len(*scsic.NextLink) != 0 19065} 19066 19067// siteConfigurationSnapshotInfoCollectionPreparer prepares a request to retrieve the next set of results. 19068// It returns nil if no more results exist. 19069func (scsic SiteConfigurationSnapshotInfoCollection) siteConfigurationSnapshotInfoCollectionPreparer(ctx context.Context) (*http.Request, error) { 19070 if !scsic.hasNextLink() { 19071 return nil, nil 19072 } 19073 return autorest.Prepare((&http.Request{}).WithContext(ctx), 19074 autorest.AsJSON(), 19075 autorest.AsGet(), 19076 autorest.WithBaseURL(to.String(scsic.NextLink))) 19077} 19078 19079// SiteConfigurationSnapshotInfoCollectionPage contains a page of SiteConfigurationSnapshotInfo values. 19080type SiteConfigurationSnapshotInfoCollectionPage struct { 19081 fn func(context.Context, SiteConfigurationSnapshotInfoCollection) (SiteConfigurationSnapshotInfoCollection, error) 19082 scsic SiteConfigurationSnapshotInfoCollection 19083} 19084 19085// NextWithContext advances to the next page of values. If there was an error making 19086// the request the page does not advance and the error is returned. 19087func (page *SiteConfigurationSnapshotInfoCollectionPage) NextWithContext(ctx context.Context) (err error) { 19088 if tracing.IsEnabled() { 19089 ctx = tracing.StartSpan(ctx, fqdn+"/SiteConfigurationSnapshotInfoCollectionPage.NextWithContext") 19090 defer func() { 19091 sc := -1 19092 if page.Response().Response.Response != nil { 19093 sc = page.Response().Response.Response.StatusCode 19094 } 19095 tracing.EndSpan(ctx, sc, err) 19096 }() 19097 } 19098 for { 19099 next, err := page.fn(ctx, page.scsic) 19100 if err != nil { 19101 return err 19102 } 19103 page.scsic = next 19104 if !next.hasNextLink() || !next.IsEmpty() { 19105 break 19106 } 19107 } 19108 return nil 19109} 19110 19111// Next advances to the next page of values. If there was an error making 19112// the request the page does not advance and the error is returned. 19113// Deprecated: Use NextWithContext() instead. 19114func (page *SiteConfigurationSnapshotInfoCollectionPage) Next() error { 19115 return page.NextWithContext(context.Background()) 19116} 19117 19118// NotDone returns true if the page enumeration should be started or is not yet complete. 19119func (page SiteConfigurationSnapshotInfoCollectionPage) NotDone() bool { 19120 return !page.scsic.IsEmpty() 19121} 19122 19123// Response returns the raw server response from the last page request. 19124func (page SiteConfigurationSnapshotInfoCollectionPage) Response() SiteConfigurationSnapshotInfoCollection { 19125 return page.scsic 19126} 19127 19128// Values returns the slice of values for the current page or nil if there are no values. 19129func (page SiteConfigurationSnapshotInfoCollectionPage) Values() []SiteConfigurationSnapshotInfo { 19130 if page.scsic.IsEmpty() { 19131 return nil 19132 } 19133 return *page.scsic.Value 19134} 19135 19136// Creates a new instance of the SiteConfigurationSnapshotInfoCollectionPage type. 19137func NewSiteConfigurationSnapshotInfoCollectionPage(cur SiteConfigurationSnapshotInfoCollection, getNextPage func(context.Context, SiteConfigurationSnapshotInfoCollection) (SiteConfigurationSnapshotInfoCollection, error)) SiteConfigurationSnapshotInfoCollectionPage { 19138 return SiteConfigurationSnapshotInfoCollectionPage{ 19139 fn: getNextPage, 19140 scsic: cur, 19141 } 19142} 19143 19144// SiteConfigurationSnapshotInfoProperties siteConfigurationSnapshotInfo resource specific properties 19145type SiteConfigurationSnapshotInfoProperties struct { 19146 // Time - READ-ONLY; The time the snapshot was taken. 19147 Time *date.Time `json:"time,omitempty"` 19148 // SnapshotID - READ-ONLY; The id of the snapshot 19149 SnapshotID *int32 `json:"snapshotId,omitempty"` 19150} 19151 19152// MarshalJSON is the custom marshaler for SiteConfigurationSnapshotInfoProperties. 19153func (scsi SiteConfigurationSnapshotInfoProperties) MarshalJSON() ([]byte, error) { 19154 objectMap := make(map[string]interface{}) 19155 return json.Marshal(objectMap) 19156} 19157 19158// SiteExtensionInfo site Extension Information. 19159type SiteExtensionInfo struct { 19160 autorest.Response `json:"-"` 19161 // SiteExtensionInfoProperties - SiteExtensionInfo resource specific properties 19162 *SiteExtensionInfoProperties `json:"properties,omitempty"` 19163 // ID - READ-ONLY; Resource Id. 19164 ID *string `json:"id,omitempty"` 19165 // Name - READ-ONLY; Resource Name. 19166 Name *string `json:"name,omitempty"` 19167 // Kind - Kind of resource. 19168 Kind *string `json:"kind,omitempty"` 19169 // Type - READ-ONLY; Resource type. 19170 Type *string `json:"type,omitempty"` 19171} 19172 19173// MarshalJSON is the custom marshaler for SiteExtensionInfo. 19174func (sei SiteExtensionInfo) MarshalJSON() ([]byte, error) { 19175 objectMap := make(map[string]interface{}) 19176 if sei.SiteExtensionInfoProperties != nil { 19177 objectMap["properties"] = sei.SiteExtensionInfoProperties 19178 } 19179 if sei.Kind != nil { 19180 objectMap["kind"] = sei.Kind 19181 } 19182 return json.Marshal(objectMap) 19183} 19184 19185// UnmarshalJSON is the custom unmarshaler for SiteExtensionInfo struct. 19186func (sei *SiteExtensionInfo) UnmarshalJSON(body []byte) error { 19187 var m map[string]*json.RawMessage 19188 err := json.Unmarshal(body, &m) 19189 if err != nil { 19190 return err 19191 } 19192 for k, v := range m { 19193 switch k { 19194 case "properties": 19195 if v != nil { 19196 var siteExtensionInfoProperties SiteExtensionInfoProperties 19197 err = json.Unmarshal(*v, &siteExtensionInfoProperties) 19198 if err != nil { 19199 return err 19200 } 19201 sei.SiteExtensionInfoProperties = &siteExtensionInfoProperties 19202 } 19203 case "id": 19204 if v != nil { 19205 var ID string 19206 err = json.Unmarshal(*v, &ID) 19207 if err != nil { 19208 return err 19209 } 19210 sei.ID = &ID 19211 } 19212 case "name": 19213 if v != nil { 19214 var name string 19215 err = json.Unmarshal(*v, &name) 19216 if err != nil { 19217 return err 19218 } 19219 sei.Name = &name 19220 } 19221 case "kind": 19222 if v != nil { 19223 var kind string 19224 err = json.Unmarshal(*v, &kind) 19225 if err != nil { 19226 return err 19227 } 19228 sei.Kind = &kind 19229 } 19230 case "type": 19231 if v != nil { 19232 var typeVar string 19233 err = json.Unmarshal(*v, &typeVar) 19234 if err != nil { 19235 return err 19236 } 19237 sei.Type = &typeVar 19238 } 19239 } 19240 } 19241 19242 return nil 19243} 19244 19245// SiteExtensionInfoCollection collection of Kudu site extension information elements. 19246type SiteExtensionInfoCollection struct { 19247 autorest.Response `json:"-"` 19248 // Value - Collection of resources. 19249 Value *[]SiteExtensionInfo `json:"value,omitempty"` 19250 // NextLink - READ-ONLY; Link to next page of resources. 19251 NextLink *string `json:"nextLink,omitempty"` 19252} 19253 19254// MarshalJSON is the custom marshaler for SiteExtensionInfoCollection. 19255func (seic SiteExtensionInfoCollection) MarshalJSON() ([]byte, error) { 19256 objectMap := make(map[string]interface{}) 19257 if seic.Value != nil { 19258 objectMap["value"] = seic.Value 19259 } 19260 return json.Marshal(objectMap) 19261} 19262 19263// SiteExtensionInfoCollectionIterator provides access to a complete listing of SiteExtensionInfo values. 19264type SiteExtensionInfoCollectionIterator struct { 19265 i int 19266 page SiteExtensionInfoCollectionPage 19267} 19268 19269// NextWithContext advances to the next value. If there was an error making 19270// the request the iterator does not advance and the error is returned. 19271func (iter *SiteExtensionInfoCollectionIterator) NextWithContext(ctx context.Context) (err error) { 19272 if tracing.IsEnabled() { 19273 ctx = tracing.StartSpan(ctx, fqdn+"/SiteExtensionInfoCollectionIterator.NextWithContext") 19274 defer func() { 19275 sc := -1 19276 if iter.Response().Response.Response != nil { 19277 sc = iter.Response().Response.Response.StatusCode 19278 } 19279 tracing.EndSpan(ctx, sc, err) 19280 }() 19281 } 19282 iter.i++ 19283 if iter.i < len(iter.page.Values()) { 19284 return nil 19285 } 19286 err = iter.page.NextWithContext(ctx) 19287 if err != nil { 19288 iter.i-- 19289 return err 19290 } 19291 iter.i = 0 19292 return nil 19293} 19294 19295// Next advances to the next value. If there was an error making 19296// the request the iterator does not advance and the error is returned. 19297// Deprecated: Use NextWithContext() instead. 19298func (iter *SiteExtensionInfoCollectionIterator) Next() error { 19299 return iter.NextWithContext(context.Background()) 19300} 19301 19302// NotDone returns true if the enumeration should be started or is not yet complete. 19303func (iter SiteExtensionInfoCollectionIterator) NotDone() bool { 19304 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 19305} 19306 19307// Response returns the raw server response from the last page request. 19308func (iter SiteExtensionInfoCollectionIterator) Response() SiteExtensionInfoCollection { 19309 return iter.page.Response() 19310} 19311 19312// Value returns the current value or a zero-initialized value if the 19313// iterator has advanced beyond the end of the collection. 19314func (iter SiteExtensionInfoCollectionIterator) Value() SiteExtensionInfo { 19315 if !iter.page.NotDone() { 19316 return SiteExtensionInfo{} 19317 } 19318 return iter.page.Values()[iter.i] 19319} 19320 19321// Creates a new instance of the SiteExtensionInfoCollectionIterator type. 19322func NewSiteExtensionInfoCollectionIterator(page SiteExtensionInfoCollectionPage) SiteExtensionInfoCollectionIterator { 19323 return SiteExtensionInfoCollectionIterator{page: page} 19324} 19325 19326// IsEmpty returns true if the ListResult contains no values. 19327func (seic SiteExtensionInfoCollection) IsEmpty() bool { 19328 return seic.Value == nil || len(*seic.Value) == 0 19329} 19330 19331// hasNextLink returns true if the NextLink is not empty. 19332func (seic SiteExtensionInfoCollection) hasNextLink() bool { 19333 return seic.NextLink != nil && len(*seic.NextLink) != 0 19334} 19335 19336// siteExtensionInfoCollectionPreparer prepares a request to retrieve the next set of results. 19337// It returns nil if no more results exist. 19338func (seic SiteExtensionInfoCollection) siteExtensionInfoCollectionPreparer(ctx context.Context) (*http.Request, error) { 19339 if !seic.hasNextLink() { 19340 return nil, nil 19341 } 19342 return autorest.Prepare((&http.Request{}).WithContext(ctx), 19343 autorest.AsJSON(), 19344 autorest.AsGet(), 19345 autorest.WithBaseURL(to.String(seic.NextLink))) 19346} 19347 19348// SiteExtensionInfoCollectionPage contains a page of SiteExtensionInfo values. 19349type SiteExtensionInfoCollectionPage struct { 19350 fn func(context.Context, SiteExtensionInfoCollection) (SiteExtensionInfoCollection, error) 19351 seic SiteExtensionInfoCollection 19352} 19353 19354// NextWithContext advances to the next page of values. If there was an error making 19355// the request the page does not advance and the error is returned. 19356func (page *SiteExtensionInfoCollectionPage) NextWithContext(ctx context.Context) (err error) { 19357 if tracing.IsEnabled() { 19358 ctx = tracing.StartSpan(ctx, fqdn+"/SiteExtensionInfoCollectionPage.NextWithContext") 19359 defer func() { 19360 sc := -1 19361 if page.Response().Response.Response != nil { 19362 sc = page.Response().Response.Response.StatusCode 19363 } 19364 tracing.EndSpan(ctx, sc, err) 19365 }() 19366 } 19367 for { 19368 next, err := page.fn(ctx, page.seic) 19369 if err != nil { 19370 return err 19371 } 19372 page.seic = next 19373 if !next.hasNextLink() || !next.IsEmpty() { 19374 break 19375 } 19376 } 19377 return nil 19378} 19379 19380// Next advances to the next page of values. If there was an error making 19381// the request the page does not advance and the error is returned. 19382// Deprecated: Use NextWithContext() instead. 19383func (page *SiteExtensionInfoCollectionPage) Next() error { 19384 return page.NextWithContext(context.Background()) 19385} 19386 19387// NotDone returns true if the page enumeration should be started or is not yet complete. 19388func (page SiteExtensionInfoCollectionPage) NotDone() bool { 19389 return !page.seic.IsEmpty() 19390} 19391 19392// Response returns the raw server response from the last page request. 19393func (page SiteExtensionInfoCollectionPage) Response() SiteExtensionInfoCollection { 19394 return page.seic 19395} 19396 19397// Values returns the slice of values for the current page or nil if there are no values. 19398func (page SiteExtensionInfoCollectionPage) Values() []SiteExtensionInfo { 19399 if page.seic.IsEmpty() { 19400 return nil 19401 } 19402 return *page.seic.Value 19403} 19404 19405// Creates a new instance of the SiteExtensionInfoCollectionPage type. 19406func NewSiteExtensionInfoCollectionPage(cur SiteExtensionInfoCollection, getNextPage func(context.Context, SiteExtensionInfoCollection) (SiteExtensionInfoCollection, error)) SiteExtensionInfoCollectionPage { 19407 return SiteExtensionInfoCollectionPage{ 19408 fn: getNextPage, 19409 seic: cur, 19410 } 19411} 19412 19413// SiteExtensionInfoProperties siteExtensionInfo resource specific properties 19414type SiteExtensionInfoProperties struct { 19415 // ExtensionID - Site extension ID. 19416 ExtensionID *string `json:"extension_id,omitempty"` 19417 Title *string `json:"title,omitempty"` 19418 // ExtensionType - Site extension type. Possible values include: 'Gallery', 'WebRoot' 19419 ExtensionType SiteExtensionType `json:"extension_type,omitempty"` 19420 // Summary - Summary description. 19421 Summary *string `json:"summary,omitempty"` 19422 // Description - Detailed description. 19423 Description *string `json:"description,omitempty"` 19424 // Version - Version information. 19425 Version *string `json:"version,omitempty"` 19426 // ExtensionURL - Extension URL. 19427 ExtensionURL *string `json:"extension_url,omitempty"` 19428 // ProjectURL - Project URL. 19429 ProjectURL *string `json:"project_url,omitempty"` 19430 // IconURL - Icon URL. 19431 IconURL *string `json:"icon_url,omitempty"` 19432 // LicenseURL - License URL. 19433 LicenseURL *string `json:"license_url,omitempty"` 19434 // FeedURL - Feed URL. 19435 FeedURL *string `json:"feed_url,omitempty"` 19436 // Authors - List of authors. 19437 Authors *[]string `json:"authors,omitempty"` 19438 // InstallerCommandLineParams - Installer command line parameters. 19439 InstallerCommandLineParams *string `json:"installer_command_line_params,omitempty"` 19440 // PublishedDateTime - Published timestamp. 19441 PublishedDateTime *date.Time `json:"published_date_time,omitempty"` 19442 // DownloadCount - Count of downloads. 19443 DownloadCount *int32 `json:"download_count,omitempty"` 19444 // LocalIsLatestVersion - <code>true</code> if the local version is the latest version; <code>false</code> otherwise. 19445 LocalIsLatestVersion *bool `json:"local_is_latest_version,omitempty"` 19446 // LocalPath - Local path. 19447 LocalPath *string `json:"local_path,omitempty"` 19448 // InstalledDateTime - Installed timestamp. 19449 InstalledDateTime *date.Time `json:"installed_date_time,omitempty"` 19450 // ProvisioningState - Provisioning state. 19451 ProvisioningState *string `json:"provisioningState,omitempty"` 19452 // Comment - Site Extension comment. 19453 Comment *string `json:"comment,omitempty"` 19454} 19455 19456// SiteInstance instance of an app. 19457type SiteInstance struct { 19458 // SiteInstanceProperties - SiteInstance resource specific properties 19459 *SiteInstanceProperties `json:"properties,omitempty"` 19460 // ID - READ-ONLY; Resource Id. 19461 ID *string `json:"id,omitempty"` 19462 // Name - READ-ONLY; Resource Name. 19463 Name *string `json:"name,omitempty"` 19464 // Kind - Kind of resource. 19465 Kind *string `json:"kind,omitempty"` 19466 // Type - READ-ONLY; Resource type. 19467 Type *string `json:"type,omitempty"` 19468} 19469 19470// MarshalJSON is the custom marshaler for SiteInstance. 19471func (si SiteInstance) MarshalJSON() ([]byte, error) { 19472 objectMap := make(map[string]interface{}) 19473 if si.SiteInstanceProperties != nil { 19474 objectMap["properties"] = si.SiteInstanceProperties 19475 } 19476 if si.Kind != nil { 19477 objectMap["kind"] = si.Kind 19478 } 19479 return json.Marshal(objectMap) 19480} 19481 19482// UnmarshalJSON is the custom unmarshaler for SiteInstance struct. 19483func (si *SiteInstance) UnmarshalJSON(body []byte) error { 19484 var m map[string]*json.RawMessage 19485 err := json.Unmarshal(body, &m) 19486 if err != nil { 19487 return err 19488 } 19489 for k, v := range m { 19490 switch k { 19491 case "properties": 19492 if v != nil { 19493 var siteInstanceProperties SiteInstanceProperties 19494 err = json.Unmarshal(*v, &siteInstanceProperties) 19495 if err != nil { 19496 return err 19497 } 19498 si.SiteInstanceProperties = &siteInstanceProperties 19499 } 19500 case "id": 19501 if v != nil { 19502 var ID string 19503 err = json.Unmarshal(*v, &ID) 19504 if err != nil { 19505 return err 19506 } 19507 si.ID = &ID 19508 } 19509 case "name": 19510 if v != nil { 19511 var name string 19512 err = json.Unmarshal(*v, &name) 19513 if err != nil { 19514 return err 19515 } 19516 si.Name = &name 19517 } 19518 case "kind": 19519 if v != nil { 19520 var kind string 19521 err = json.Unmarshal(*v, &kind) 19522 if err != nil { 19523 return err 19524 } 19525 si.Kind = &kind 19526 } 19527 case "type": 19528 if v != nil { 19529 var typeVar string 19530 err = json.Unmarshal(*v, &typeVar) 19531 if err != nil { 19532 return err 19533 } 19534 si.Type = &typeVar 19535 } 19536 } 19537 } 19538 19539 return nil 19540} 19541 19542// SiteInstanceProperties siteInstance resource specific properties 19543type SiteInstanceProperties struct { 19544 // SiteInstanceName - READ-ONLY; Name of instance. 19545 SiteInstanceName *string `json:"siteInstanceName,omitempty"` 19546} 19547 19548// MarshalJSON is the custom marshaler for SiteInstanceProperties. 19549func (si SiteInstanceProperties) MarshalJSON() ([]byte, error) { 19550 objectMap := make(map[string]interface{}) 19551 return json.Marshal(objectMap) 19552} 19553 19554// SiteLimits metric limits set on an app. 19555type SiteLimits struct { 19556 // MaxPercentageCPU - Maximum allowed CPU usage percentage. 19557 MaxPercentageCPU *float64 `json:"maxPercentageCpu,omitempty"` 19558 // MaxMemoryInMb - Maximum allowed memory usage in MB. 19559 MaxMemoryInMb *int64 `json:"maxMemoryInMb,omitempty"` 19560 // MaxDiskSizeInMb - Maximum allowed disk size usage in MB. 19561 MaxDiskSizeInMb *int64 `json:"maxDiskSizeInMb,omitempty"` 19562} 19563 19564// SiteLogsConfig configuration of App Service site logs. 19565type SiteLogsConfig struct { 19566 autorest.Response `json:"-"` 19567 // SiteLogsConfigProperties - SiteLogsConfig resource specific properties 19568 *SiteLogsConfigProperties `json:"properties,omitempty"` 19569 // ID - READ-ONLY; Resource Id. 19570 ID *string `json:"id,omitempty"` 19571 // Name - READ-ONLY; Resource Name. 19572 Name *string `json:"name,omitempty"` 19573 // Kind - Kind of resource. 19574 Kind *string `json:"kind,omitempty"` 19575 // Type - READ-ONLY; Resource type. 19576 Type *string `json:"type,omitempty"` 19577} 19578 19579// MarshalJSON is the custom marshaler for SiteLogsConfig. 19580func (slc SiteLogsConfig) MarshalJSON() ([]byte, error) { 19581 objectMap := make(map[string]interface{}) 19582 if slc.SiteLogsConfigProperties != nil { 19583 objectMap["properties"] = slc.SiteLogsConfigProperties 19584 } 19585 if slc.Kind != nil { 19586 objectMap["kind"] = slc.Kind 19587 } 19588 return json.Marshal(objectMap) 19589} 19590 19591// UnmarshalJSON is the custom unmarshaler for SiteLogsConfig struct. 19592func (slc *SiteLogsConfig) UnmarshalJSON(body []byte) error { 19593 var m map[string]*json.RawMessage 19594 err := json.Unmarshal(body, &m) 19595 if err != nil { 19596 return err 19597 } 19598 for k, v := range m { 19599 switch k { 19600 case "properties": 19601 if v != nil { 19602 var siteLogsConfigProperties SiteLogsConfigProperties 19603 err = json.Unmarshal(*v, &siteLogsConfigProperties) 19604 if err != nil { 19605 return err 19606 } 19607 slc.SiteLogsConfigProperties = &siteLogsConfigProperties 19608 } 19609 case "id": 19610 if v != nil { 19611 var ID string 19612 err = json.Unmarshal(*v, &ID) 19613 if err != nil { 19614 return err 19615 } 19616 slc.ID = &ID 19617 } 19618 case "name": 19619 if v != nil { 19620 var name string 19621 err = json.Unmarshal(*v, &name) 19622 if err != nil { 19623 return err 19624 } 19625 slc.Name = &name 19626 } 19627 case "kind": 19628 if v != nil { 19629 var kind string 19630 err = json.Unmarshal(*v, &kind) 19631 if err != nil { 19632 return err 19633 } 19634 slc.Kind = &kind 19635 } 19636 case "type": 19637 if v != nil { 19638 var typeVar string 19639 err = json.Unmarshal(*v, &typeVar) 19640 if err != nil { 19641 return err 19642 } 19643 slc.Type = &typeVar 19644 } 19645 } 19646 } 19647 19648 return nil 19649} 19650 19651// SiteLogsConfigProperties siteLogsConfig resource specific properties 19652type SiteLogsConfigProperties struct { 19653 // ApplicationLogs - Application logs configuration. 19654 ApplicationLogs *ApplicationLogsConfig `json:"applicationLogs,omitempty"` 19655 // HTTPLogs - HTTP logs configuration. 19656 HTTPLogs *HTTPLogsConfig `json:"httpLogs,omitempty"` 19657 // FailedRequestsTracing - Failed requests tracing configuration. 19658 FailedRequestsTracing *EnabledConfig `json:"failedRequestsTracing,omitempty"` 19659 // DetailedErrorMessages - Detailed error messages configuration. 19660 DetailedErrorMessages *EnabledConfig `json:"detailedErrorMessages,omitempty"` 19661} 19662 19663// SiteMachineKey machineKey of an app. 19664type SiteMachineKey struct { 19665 // Validation - MachineKey validation. 19666 Validation *string `json:"validation,omitempty"` 19667 // ValidationKey - Validation key. 19668 ValidationKey *string `json:"validationKey,omitempty"` 19669 // Decryption - Algorithm used for decryption. 19670 Decryption *string `json:"decryption,omitempty"` 19671 // DecryptionKey - Decryption key. 19672 DecryptionKey *string `json:"decryptionKey,omitempty"` 19673} 19674 19675// SitePatchResource ARM resource for a site. 19676type SitePatchResource struct { 19677 // SitePatchResourceProperties - SitePatchResource resource specific properties 19678 *SitePatchResourceProperties `json:"properties,omitempty"` 19679 Identity *ManagedServiceIdentity `json:"identity,omitempty"` 19680 // ID - READ-ONLY; Resource Id. 19681 ID *string `json:"id,omitempty"` 19682 // Name - READ-ONLY; Resource Name. 19683 Name *string `json:"name,omitempty"` 19684 // Kind - Kind of resource. 19685 Kind *string `json:"kind,omitempty"` 19686 // Type - READ-ONLY; Resource type. 19687 Type *string `json:"type,omitempty"` 19688} 19689 19690// MarshalJSON is the custom marshaler for SitePatchResource. 19691func (spr SitePatchResource) MarshalJSON() ([]byte, error) { 19692 objectMap := make(map[string]interface{}) 19693 if spr.SitePatchResourceProperties != nil { 19694 objectMap["properties"] = spr.SitePatchResourceProperties 19695 } 19696 if spr.Identity != nil { 19697 objectMap["identity"] = spr.Identity 19698 } 19699 if spr.Kind != nil { 19700 objectMap["kind"] = spr.Kind 19701 } 19702 return json.Marshal(objectMap) 19703} 19704 19705// UnmarshalJSON is the custom unmarshaler for SitePatchResource struct. 19706func (spr *SitePatchResource) UnmarshalJSON(body []byte) error { 19707 var m map[string]*json.RawMessage 19708 err := json.Unmarshal(body, &m) 19709 if err != nil { 19710 return err 19711 } 19712 for k, v := range m { 19713 switch k { 19714 case "properties": 19715 if v != nil { 19716 var sitePatchResourceProperties SitePatchResourceProperties 19717 err = json.Unmarshal(*v, &sitePatchResourceProperties) 19718 if err != nil { 19719 return err 19720 } 19721 spr.SitePatchResourceProperties = &sitePatchResourceProperties 19722 } 19723 case "identity": 19724 if v != nil { 19725 var identity ManagedServiceIdentity 19726 err = json.Unmarshal(*v, &identity) 19727 if err != nil { 19728 return err 19729 } 19730 spr.Identity = &identity 19731 } 19732 case "id": 19733 if v != nil { 19734 var ID string 19735 err = json.Unmarshal(*v, &ID) 19736 if err != nil { 19737 return err 19738 } 19739 spr.ID = &ID 19740 } 19741 case "name": 19742 if v != nil { 19743 var name string 19744 err = json.Unmarshal(*v, &name) 19745 if err != nil { 19746 return err 19747 } 19748 spr.Name = &name 19749 } 19750 case "kind": 19751 if v != nil { 19752 var kind string 19753 err = json.Unmarshal(*v, &kind) 19754 if err != nil { 19755 return err 19756 } 19757 spr.Kind = &kind 19758 } 19759 case "type": 19760 if v != nil { 19761 var typeVar string 19762 err = json.Unmarshal(*v, &typeVar) 19763 if err != nil { 19764 return err 19765 } 19766 spr.Type = &typeVar 19767 } 19768 } 19769 } 19770 19771 return nil 19772} 19773 19774// SitePatchResourceProperties sitePatchResource resource specific properties 19775type SitePatchResourceProperties struct { 19776 // State - READ-ONLY; Current state of the app. 19777 State *string `json:"state,omitempty"` 19778 // HostNames - READ-ONLY; Hostnames associated with the app. 19779 HostNames *[]string `json:"hostNames,omitempty"` 19780 // RepositorySiteName - READ-ONLY; Name of the repository site. 19781 RepositorySiteName *string `json:"repositorySiteName,omitempty"` 19782 // UsageState - READ-ONLY; State indicating whether the app has exceeded its quota usage. Read-only. Possible values include: 'UsageStateNormal', 'UsageStateExceeded' 19783 UsageState UsageState `json:"usageState,omitempty"` 19784 // Enabled - <code>true</code> if the app is enabled; otherwise, <code>false</code>. Setting this value to false disables the app (takes the app offline). 19785 Enabled *bool `json:"enabled,omitempty"` 19786 // EnabledHostNames - READ-ONLY; Enabled hostnames for the app.Hostnames need to be assigned (see HostNames) AND enabled. Otherwise, 19787 // the app is not served on those hostnames. 19788 EnabledHostNames *[]string `json:"enabledHostNames,omitempty"` 19789 // AvailabilityState - READ-ONLY; Management information availability state for the app. Possible values include: 'Normal', 'Limited', 'DisasterRecoveryMode' 19790 AvailabilityState SiteAvailabilityState `json:"availabilityState,omitempty"` 19791 // HostNameSslStates - Hostname SSL states are used to manage the SSL bindings for app's hostnames. 19792 HostNameSslStates *[]HostNameSslState `json:"hostNameSslStates,omitempty"` 19793 // ServerFarmID - Resource ID of the associated App Service plan, formatted as: "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}". 19794 ServerFarmID *string `json:"serverFarmId,omitempty"` 19795 // Reserved - <code>true</code> if reserved; otherwise, <code>false</code>. 19796 Reserved *bool `json:"reserved,omitempty"` 19797 // IsXenon - Obsolete: Hyper-V sandbox. 19798 IsXenon *bool `json:"isXenon,omitempty"` 19799 // HyperV - Hyper-V sandbox. 19800 HyperV *bool `json:"hyperV,omitempty"` 19801 // LastModifiedTimeUtc - READ-ONLY; Last time the app was modified, in UTC. Read-only. 19802 LastModifiedTimeUtc *date.Time `json:"lastModifiedTimeUtc,omitempty"` 19803 // SiteConfig - Configuration of the app. 19804 SiteConfig *SiteConfig `json:"siteConfig,omitempty"` 19805 // TrafficManagerHostNames - READ-ONLY; Azure Traffic Manager hostnames associated with the app. Read-only. 19806 TrafficManagerHostNames *[]string `json:"trafficManagerHostNames,omitempty"` 19807 // ScmSiteAlsoStopped - <code>true</code> to stop SCM (KUDU) site when the app is stopped; otherwise, <code>false</code>. The default is <code>false</code>. 19808 ScmSiteAlsoStopped *bool `json:"scmSiteAlsoStopped,omitempty"` 19809 // TargetSwapSlot - READ-ONLY; Specifies which deployment slot this app will swap into. Read-only. 19810 TargetSwapSlot *string `json:"targetSwapSlot,omitempty"` 19811 // HostingEnvironmentProfile - App Service Environment to use for the app. 19812 HostingEnvironmentProfile *HostingEnvironmentProfile `json:"hostingEnvironmentProfile,omitempty"` 19813 // ClientAffinityEnabled - <code>true</code> to enable client affinity; <code>false</code> to stop sending session affinity cookies, which route client requests in the same session to the same instance. Default is <code>true</code>. 19814 ClientAffinityEnabled *bool `json:"clientAffinityEnabled,omitempty"` 19815 // ClientCertEnabled - <code>true</code> to enable client certificate authentication (TLS mutual authentication); otherwise, <code>false</code>. Default is <code>false</code>. 19816 ClientCertEnabled *bool `json:"clientCertEnabled,omitempty"` 19817 // ClientCertExclusionPaths - client certificate authentication comma-separated exclusion paths 19818 ClientCertExclusionPaths *string `json:"clientCertExclusionPaths,omitempty"` 19819 // HostNamesDisabled - <code>true</code> to disable the public hostnames of the app; otherwise, <code>false</code>. 19820 // If <code>true</code>, the app is only accessible via API management process. 19821 HostNamesDisabled *bool `json:"hostNamesDisabled,omitempty"` 19822 // OutboundIPAddresses - READ-ONLY; List of IP addresses that the app uses for outbound connections (e.g. database access). Includes VIPs from tenants that site can be hosted with current settings. Read-only. 19823 OutboundIPAddresses *string `json:"outboundIpAddresses,omitempty"` 19824 // PossibleOutboundIPAddresses - READ-ONLY; List of IP addresses that the app uses for outbound connections (e.g. database access). Includes VIPs from all tenants. Read-only. 19825 PossibleOutboundIPAddresses *string `json:"possibleOutboundIpAddresses,omitempty"` 19826 // ContainerSize - Size of the function container. 19827 ContainerSize *int32 `json:"containerSize,omitempty"` 19828 // DailyMemoryTimeQuota - Maximum allowed daily memory-time quota (applicable on dynamic apps only). 19829 DailyMemoryTimeQuota *int32 `json:"dailyMemoryTimeQuota,omitempty"` 19830 // SuspendedTill - READ-ONLY; App suspended till in case memory-time quota is exceeded. 19831 SuspendedTill *date.Time `json:"suspendedTill,omitempty"` 19832 // MaxNumberOfWorkers - READ-ONLY; Maximum number of workers. 19833 // This only applies to Functions container. 19834 MaxNumberOfWorkers *int32 `json:"maxNumberOfWorkers,omitempty"` 19835 // CloningInfo - If specified during app creation, the app is cloned from a source app. 19836 CloningInfo *CloningInfo `json:"cloningInfo,omitempty"` 19837 // ResourceGroup - READ-ONLY; Name of the resource group the app belongs to. Read-only. 19838 ResourceGroup *string `json:"resourceGroup,omitempty"` 19839 // IsDefaultContainer - READ-ONLY; <code>true</code> if the app is a default container; otherwise, <code>false</code>. 19840 IsDefaultContainer *bool `json:"isDefaultContainer,omitempty"` 19841 // DefaultHostName - READ-ONLY; Default hostname of the app. Read-only. 19842 DefaultHostName *string `json:"defaultHostName,omitempty"` 19843 // SlotSwapStatus - READ-ONLY; Status of the last deployment slot swap operation. 19844 SlotSwapStatus *SlotSwapStatus `json:"slotSwapStatus,omitempty"` 19845 // HTTPSOnly - HttpsOnly: configures a web site to accept only https requests. Issues redirect for 19846 // http requests 19847 HTTPSOnly *bool `json:"httpsOnly,omitempty"` 19848 // RedundancyMode - Site redundancy mode. Possible values include: 'RedundancyModeNone', 'RedundancyModeManual', 'RedundancyModeFailover', 'RedundancyModeActiveActive', 'RedundancyModeGeoRedundant' 19849 RedundancyMode RedundancyMode `json:"redundancyMode,omitempty"` 19850 // InProgressOperationID - READ-ONLY; Specifies an operation id if this site has a pending operation. 19851 InProgressOperationID *uuid.UUID `json:"inProgressOperationId,omitempty"` 19852 // GeoDistributions - GeoDistributions for this site 19853 GeoDistributions *[]GeoDistribution `json:"geoDistributions,omitempty"` 19854} 19855 19856// MarshalJSON is the custom marshaler for SitePatchResourceProperties. 19857func (spr SitePatchResourceProperties) MarshalJSON() ([]byte, error) { 19858 objectMap := make(map[string]interface{}) 19859 if spr.Enabled != nil { 19860 objectMap["enabled"] = spr.Enabled 19861 } 19862 if spr.HostNameSslStates != nil { 19863 objectMap["hostNameSslStates"] = spr.HostNameSslStates 19864 } 19865 if spr.ServerFarmID != nil { 19866 objectMap["serverFarmId"] = spr.ServerFarmID 19867 } 19868 if spr.Reserved != nil { 19869 objectMap["reserved"] = spr.Reserved 19870 } 19871 if spr.IsXenon != nil { 19872 objectMap["isXenon"] = spr.IsXenon 19873 } 19874 if spr.HyperV != nil { 19875 objectMap["hyperV"] = spr.HyperV 19876 } 19877 if spr.SiteConfig != nil { 19878 objectMap["siteConfig"] = spr.SiteConfig 19879 } 19880 if spr.ScmSiteAlsoStopped != nil { 19881 objectMap["scmSiteAlsoStopped"] = spr.ScmSiteAlsoStopped 19882 } 19883 if spr.HostingEnvironmentProfile != nil { 19884 objectMap["hostingEnvironmentProfile"] = spr.HostingEnvironmentProfile 19885 } 19886 if spr.ClientAffinityEnabled != nil { 19887 objectMap["clientAffinityEnabled"] = spr.ClientAffinityEnabled 19888 } 19889 if spr.ClientCertEnabled != nil { 19890 objectMap["clientCertEnabled"] = spr.ClientCertEnabled 19891 } 19892 if spr.ClientCertExclusionPaths != nil { 19893 objectMap["clientCertExclusionPaths"] = spr.ClientCertExclusionPaths 19894 } 19895 if spr.HostNamesDisabled != nil { 19896 objectMap["hostNamesDisabled"] = spr.HostNamesDisabled 19897 } 19898 if spr.ContainerSize != nil { 19899 objectMap["containerSize"] = spr.ContainerSize 19900 } 19901 if spr.DailyMemoryTimeQuota != nil { 19902 objectMap["dailyMemoryTimeQuota"] = spr.DailyMemoryTimeQuota 19903 } 19904 if spr.CloningInfo != nil { 19905 objectMap["cloningInfo"] = spr.CloningInfo 19906 } 19907 if spr.HTTPSOnly != nil { 19908 objectMap["httpsOnly"] = spr.HTTPSOnly 19909 } 19910 if spr.RedundancyMode != "" { 19911 objectMap["redundancyMode"] = spr.RedundancyMode 19912 } 19913 if spr.GeoDistributions != nil { 19914 objectMap["geoDistributions"] = spr.GeoDistributions 19915 } 19916 return json.Marshal(objectMap) 19917} 19918 19919// SitePhpErrorLogFlag used for getting PHP error logging flag. 19920type SitePhpErrorLogFlag struct { 19921 autorest.Response `json:"-"` 19922 // SitePhpErrorLogFlagProperties - SitePhpErrorLogFlag resource specific properties 19923 *SitePhpErrorLogFlagProperties `json:"properties,omitempty"` 19924 // ID - READ-ONLY; Resource Id. 19925 ID *string `json:"id,omitempty"` 19926 // Name - READ-ONLY; Resource Name. 19927 Name *string `json:"name,omitempty"` 19928 // Kind - Kind of resource. 19929 Kind *string `json:"kind,omitempty"` 19930 // Type - READ-ONLY; Resource type. 19931 Type *string `json:"type,omitempty"` 19932} 19933 19934// MarshalJSON is the custom marshaler for SitePhpErrorLogFlag. 19935func (spelf SitePhpErrorLogFlag) MarshalJSON() ([]byte, error) { 19936 objectMap := make(map[string]interface{}) 19937 if spelf.SitePhpErrorLogFlagProperties != nil { 19938 objectMap["properties"] = spelf.SitePhpErrorLogFlagProperties 19939 } 19940 if spelf.Kind != nil { 19941 objectMap["kind"] = spelf.Kind 19942 } 19943 return json.Marshal(objectMap) 19944} 19945 19946// UnmarshalJSON is the custom unmarshaler for SitePhpErrorLogFlag struct. 19947func (spelf *SitePhpErrorLogFlag) UnmarshalJSON(body []byte) error { 19948 var m map[string]*json.RawMessage 19949 err := json.Unmarshal(body, &m) 19950 if err != nil { 19951 return err 19952 } 19953 for k, v := range m { 19954 switch k { 19955 case "properties": 19956 if v != nil { 19957 var sitePhpErrorLogFlagProperties SitePhpErrorLogFlagProperties 19958 err = json.Unmarshal(*v, &sitePhpErrorLogFlagProperties) 19959 if err != nil { 19960 return err 19961 } 19962 spelf.SitePhpErrorLogFlagProperties = &sitePhpErrorLogFlagProperties 19963 } 19964 case "id": 19965 if v != nil { 19966 var ID string 19967 err = json.Unmarshal(*v, &ID) 19968 if err != nil { 19969 return err 19970 } 19971 spelf.ID = &ID 19972 } 19973 case "name": 19974 if v != nil { 19975 var name string 19976 err = json.Unmarshal(*v, &name) 19977 if err != nil { 19978 return err 19979 } 19980 spelf.Name = &name 19981 } 19982 case "kind": 19983 if v != nil { 19984 var kind string 19985 err = json.Unmarshal(*v, &kind) 19986 if err != nil { 19987 return err 19988 } 19989 spelf.Kind = &kind 19990 } 19991 case "type": 19992 if v != nil { 19993 var typeVar string 19994 err = json.Unmarshal(*v, &typeVar) 19995 if err != nil { 19996 return err 19997 } 19998 spelf.Type = &typeVar 19999 } 20000 } 20001 } 20002 20003 return nil 20004} 20005 20006// SitePhpErrorLogFlagProperties sitePhpErrorLogFlag resource specific properties 20007type SitePhpErrorLogFlagProperties struct { 20008 // LocalLogErrors - Local log_errors setting. 20009 LocalLogErrors *string `json:"localLogErrors,omitempty"` 20010 // MasterLogErrors - Master log_errors setting. 20011 MasterLogErrors *string `json:"masterLogErrors,omitempty"` 20012 // LocalLogErrorsMaxLength - Local log_errors_max_len setting. 20013 LocalLogErrorsMaxLength *string `json:"localLogErrorsMaxLength,omitempty"` 20014 // MasterLogErrorsMaxLength - Master log_errors_max_len setting. 20015 MasterLogErrorsMaxLength *string `json:"masterLogErrorsMaxLength,omitempty"` 20016} 20017 20018// SiteProperties site resource specific properties 20019type SiteProperties struct { 20020 // State - READ-ONLY; Current state of the app. 20021 State *string `json:"state,omitempty"` 20022 // HostNames - READ-ONLY; Hostnames associated with the app. 20023 HostNames *[]string `json:"hostNames,omitempty"` 20024 // RepositorySiteName - READ-ONLY; Name of the repository site. 20025 RepositorySiteName *string `json:"repositorySiteName,omitempty"` 20026 // UsageState - READ-ONLY; State indicating whether the app has exceeded its quota usage. Read-only. Possible values include: 'UsageStateNormal', 'UsageStateExceeded' 20027 UsageState UsageState `json:"usageState,omitempty"` 20028 // Enabled - <code>true</code> if the app is enabled; otherwise, <code>false</code>. Setting this value to false disables the app (takes the app offline). 20029 Enabled *bool `json:"enabled,omitempty"` 20030 // EnabledHostNames - READ-ONLY; Enabled hostnames for the app.Hostnames need to be assigned (see HostNames) AND enabled. Otherwise, 20031 // the app is not served on those hostnames. 20032 EnabledHostNames *[]string `json:"enabledHostNames,omitempty"` 20033 // AvailabilityState - READ-ONLY; Management information availability state for the app. Possible values include: 'Normal', 'Limited', 'DisasterRecoveryMode' 20034 AvailabilityState SiteAvailabilityState `json:"availabilityState,omitempty"` 20035 // HostNameSslStates - Hostname SSL states are used to manage the SSL bindings for app's hostnames. 20036 HostNameSslStates *[]HostNameSslState `json:"hostNameSslStates,omitempty"` 20037 // ServerFarmID - Resource ID of the associated App Service plan, formatted as: "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}". 20038 ServerFarmID *string `json:"serverFarmId,omitempty"` 20039 // Reserved - <code>true</code> if reserved; otherwise, <code>false</code>. 20040 Reserved *bool `json:"reserved,omitempty"` 20041 // IsXenon - Obsolete: Hyper-V sandbox. 20042 IsXenon *bool `json:"isXenon,omitempty"` 20043 // HyperV - Hyper-V sandbox. 20044 HyperV *bool `json:"hyperV,omitempty"` 20045 // LastModifiedTimeUtc - READ-ONLY; Last time the app was modified, in UTC. Read-only. 20046 LastModifiedTimeUtc *date.Time `json:"lastModifiedTimeUtc,omitempty"` 20047 // SiteConfig - Configuration of the app. 20048 SiteConfig *SiteConfig `json:"siteConfig,omitempty"` 20049 // TrafficManagerHostNames - READ-ONLY; Azure Traffic Manager hostnames associated with the app. Read-only. 20050 TrafficManagerHostNames *[]string `json:"trafficManagerHostNames,omitempty"` 20051 // ScmSiteAlsoStopped - <code>true</code> to stop SCM (KUDU) site when the app is stopped; otherwise, <code>false</code>. The default is <code>false</code>. 20052 ScmSiteAlsoStopped *bool `json:"scmSiteAlsoStopped,omitempty"` 20053 // TargetSwapSlot - READ-ONLY; Specifies which deployment slot this app will swap into. Read-only. 20054 TargetSwapSlot *string `json:"targetSwapSlot,omitempty"` 20055 // HostingEnvironmentProfile - App Service Environment to use for the app. 20056 HostingEnvironmentProfile *HostingEnvironmentProfile `json:"hostingEnvironmentProfile,omitempty"` 20057 // ClientAffinityEnabled - <code>true</code> to enable client affinity; <code>false</code> to stop sending session affinity cookies, which route client requests in the same session to the same instance. Default is <code>true</code>. 20058 ClientAffinityEnabled *bool `json:"clientAffinityEnabled,omitempty"` 20059 // ClientCertEnabled - <code>true</code> to enable client certificate authentication (TLS mutual authentication); otherwise, <code>false</code>. Default is <code>false</code>. 20060 ClientCertEnabled *bool `json:"clientCertEnabled,omitempty"` 20061 // ClientCertExclusionPaths - client certificate authentication comma-separated exclusion paths 20062 ClientCertExclusionPaths *string `json:"clientCertExclusionPaths,omitempty"` 20063 // HostNamesDisabled - <code>true</code> to disable the public hostnames of the app; otherwise, <code>false</code>. 20064 // If <code>true</code>, the app is only accessible via API management process. 20065 HostNamesDisabled *bool `json:"hostNamesDisabled,omitempty"` 20066 // OutboundIPAddresses - READ-ONLY; List of IP addresses that the app uses for outbound connections (e.g. database access). Includes VIPs from tenants that site can be hosted with current settings. Read-only. 20067 OutboundIPAddresses *string `json:"outboundIpAddresses,omitempty"` 20068 // PossibleOutboundIPAddresses - READ-ONLY; List of IP addresses that the app uses for outbound connections (e.g. database access). Includes VIPs from all tenants. Read-only. 20069 PossibleOutboundIPAddresses *string `json:"possibleOutboundIpAddresses,omitempty"` 20070 // ContainerSize - Size of the function container. 20071 ContainerSize *int32 `json:"containerSize,omitempty"` 20072 // DailyMemoryTimeQuota - Maximum allowed daily memory-time quota (applicable on dynamic apps only). 20073 DailyMemoryTimeQuota *int32 `json:"dailyMemoryTimeQuota,omitempty"` 20074 // SuspendedTill - READ-ONLY; App suspended till in case memory-time quota is exceeded. 20075 SuspendedTill *date.Time `json:"suspendedTill,omitempty"` 20076 // MaxNumberOfWorkers - READ-ONLY; Maximum number of workers. 20077 // This only applies to Functions container. 20078 MaxNumberOfWorkers *int32 `json:"maxNumberOfWorkers,omitempty"` 20079 // CloningInfo - If specified during app creation, the app is cloned from a source app. 20080 CloningInfo *CloningInfo `json:"cloningInfo,omitempty"` 20081 // ResourceGroup - READ-ONLY; Name of the resource group the app belongs to. Read-only. 20082 ResourceGroup *string `json:"resourceGroup,omitempty"` 20083 // IsDefaultContainer - READ-ONLY; <code>true</code> if the app is a default container; otherwise, <code>false</code>. 20084 IsDefaultContainer *bool `json:"isDefaultContainer,omitempty"` 20085 // DefaultHostName - READ-ONLY; Default hostname of the app. Read-only. 20086 DefaultHostName *string `json:"defaultHostName,omitempty"` 20087 // SlotSwapStatus - READ-ONLY; Status of the last deployment slot swap operation. 20088 SlotSwapStatus *SlotSwapStatus `json:"slotSwapStatus,omitempty"` 20089 // HTTPSOnly - HttpsOnly: configures a web site to accept only https requests. Issues redirect for 20090 // http requests 20091 HTTPSOnly *bool `json:"httpsOnly,omitempty"` 20092 // RedundancyMode - Site redundancy mode. Possible values include: 'RedundancyModeNone', 'RedundancyModeManual', 'RedundancyModeFailover', 'RedundancyModeActiveActive', 'RedundancyModeGeoRedundant' 20093 RedundancyMode RedundancyMode `json:"redundancyMode,omitempty"` 20094 // InProgressOperationID - READ-ONLY; Specifies an operation id if this site has a pending operation. 20095 InProgressOperationID *uuid.UUID `json:"inProgressOperationId,omitempty"` 20096 // GeoDistributions - GeoDistributions for this site 20097 GeoDistributions *[]GeoDistribution `json:"geoDistributions,omitempty"` 20098} 20099 20100// MarshalJSON is the custom marshaler for SiteProperties. 20101func (s SiteProperties) MarshalJSON() ([]byte, error) { 20102 objectMap := make(map[string]interface{}) 20103 if s.Enabled != nil { 20104 objectMap["enabled"] = s.Enabled 20105 } 20106 if s.HostNameSslStates != nil { 20107 objectMap["hostNameSslStates"] = s.HostNameSslStates 20108 } 20109 if s.ServerFarmID != nil { 20110 objectMap["serverFarmId"] = s.ServerFarmID 20111 } 20112 if s.Reserved != nil { 20113 objectMap["reserved"] = s.Reserved 20114 } 20115 if s.IsXenon != nil { 20116 objectMap["isXenon"] = s.IsXenon 20117 } 20118 if s.HyperV != nil { 20119 objectMap["hyperV"] = s.HyperV 20120 } 20121 if s.SiteConfig != nil { 20122 objectMap["siteConfig"] = s.SiteConfig 20123 } 20124 if s.ScmSiteAlsoStopped != nil { 20125 objectMap["scmSiteAlsoStopped"] = s.ScmSiteAlsoStopped 20126 } 20127 if s.HostingEnvironmentProfile != nil { 20128 objectMap["hostingEnvironmentProfile"] = s.HostingEnvironmentProfile 20129 } 20130 if s.ClientAffinityEnabled != nil { 20131 objectMap["clientAffinityEnabled"] = s.ClientAffinityEnabled 20132 } 20133 if s.ClientCertEnabled != nil { 20134 objectMap["clientCertEnabled"] = s.ClientCertEnabled 20135 } 20136 if s.ClientCertExclusionPaths != nil { 20137 objectMap["clientCertExclusionPaths"] = s.ClientCertExclusionPaths 20138 } 20139 if s.HostNamesDisabled != nil { 20140 objectMap["hostNamesDisabled"] = s.HostNamesDisabled 20141 } 20142 if s.ContainerSize != nil { 20143 objectMap["containerSize"] = s.ContainerSize 20144 } 20145 if s.DailyMemoryTimeQuota != nil { 20146 objectMap["dailyMemoryTimeQuota"] = s.DailyMemoryTimeQuota 20147 } 20148 if s.CloningInfo != nil { 20149 objectMap["cloningInfo"] = s.CloningInfo 20150 } 20151 if s.HTTPSOnly != nil { 20152 objectMap["httpsOnly"] = s.HTTPSOnly 20153 } 20154 if s.RedundancyMode != "" { 20155 objectMap["redundancyMode"] = s.RedundancyMode 20156 } 20157 if s.GeoDistributions != nil { 20158 objectMap["geoDistributions"] = s.GeoDistributions 20159 } 20160 return json.Marshal(objectMap) 20161} 20162 20163// SiteSeal site seal 20164type SiteSeal struct { 20165 autorest.Response `json:"-"` 20166 // HTML - HTML snippet 20167 HTML *string `json:"html,omitempty"` 20168} 20169 20170// SiteSealRequest site seal request. 20171type SiteSealRequest struct { 20172 // LightTheme - If <code>true</code> use the light color theme for site seal; otherwise, use the default color theme. 20173 LightTheme *bool `json:"lightTheme,omitempty"` 20174 // Locale - Locale of site seal. 20175 Locale *string `json:"locale,omitempty"` 20176} 20177 20178// SiteSourceControl source control configuration for an app. 20179type SiteSourceControl struct { 20180 autorest.Response `json:"-"` 20181 // SiteSourceControlProperties - SiteSourceControl resource specific properties 20182 *SiteSourceControlProperties `json:"properties,omitempty"` 20183 // ID - READ-ONLY; Resource Id. 20184 ID *string `json:"id,omitempty"` 20185 // Name - READ-ONLY; Resource Name. 20186 Name *string `json:"name,omitempty"` 20187 // Kind - Kind of resource. 20188 Kind *string `json:"kind,omitempty"` 20189 // Type - READ-ONLY; Resource type. 20190 Type *string `json:"type,omitempty"` 20191} 20192 20193// MarshalJSON is the custom marshaler for SiteSourceControl. 20194func (ssc SiteSourceControl) MarshalJSON() ([]byte, error) { 20195 objectMap := make(map[string]interface{}) 20196 if ssc.SiteSourceControlProperties != nil { 20197 objectMap["properties"] = ssc.SiteSourceControlProperties 20198 } 20199 if ssc.Kind != nil { 20200 objectMap["kind"] = ssc.Kind 20201 } 20202 return json.Marshal(objectMap) 20203} 20204 20205// UnmarshalJSON is the custom unmarshaler for SiteSourceControl struct. 20206func (ssc *SiteSourceControl) UnmarshalJSON(body []byte) error { 20207 var m map[string]*json.RawMessage 20208 err := json.Unmarshal(body, &m) 20209 if err != nil { 20210 return err 20211 } 20212 for k, v := range m { 20213 switch k { 20214 case "properties": 20215 if v != nil { 20216 var siteSourceControlProperties SiteSourceControlProperties 20217 err = json.Unmarshal(*v, &siteSourceControlProperties) 20218 if err != nil { 20219 return err 20220 } 20221 ssc.SiteSourceControlProperties = &siteSourceControlProperties 20222 } 20223 case "id": 20224 if v != nil { 20225 var ID string 20226 err = json.Unmarshal(*v, &ID) 20227 if err != nil { 20228 return err 20229 } 20230 ssc.ID = &ID 20231 } 20232 case "name": 20233 if v != nil { 20234 var name string 20235 err = json.Unmarshal(*v, &name) 20236 if err != nil { 20237 return err 20238 } 20239 ssc.Name = &name 20240 } 20241 case "kind": 20242 if v != nil { 20243 var kind string 20244 err = json.Unmarshal(*v, &kind) 20245 if err != nil { 20246 return err 20247 } 20248 ssc.Kind = &kind 20249 } 20250 case "type": 20251 if v != nil { 20252 var typeVar string 20253 err = json.Unmarshal(*v, &typeVar) 20254 if err != nil { 20255 return err 20256 } 20257 ssc.Type = &typeVar 20258 } 20259 } 20260 } 20261 20262 return nil 20263} 20264 20265// SiteSourceControlProperties siteSourceControl resource specific properties 20266type SiteSourceControlProperties struct { 20267 // RepoURL - Repository or source control URL. 20268 RepoURL *string `json:"repoUrl,omitempty"` 20269 // Branch - Name of branch to use for deployment. 20270 Branch *string `json:"branch,omitempty"` 20271 // IsManualIntegration - <code>true</code> to limit to manual integration; <code>false</code> to enable continuous integration (which configures webhooks into online repos like GitHub). 20272 IsManualIntegration *bool `json:"isManualIntegration,omitempty"` 20273 // DeploymentRollbackEnabled - <code>true</code> to enable deployment rollback; otherwise, <code>false</code>. 20274 DeploymentRollbackEnabled *bool `json:"deploymentRollbackEnabled,omitempty"` 20275 // IsMercurial - <code>true</code> for a Mercurial repository; <code>false</code> for a Git repository. 20276 IsMercurial *bool `json:"isMercurial,omitempty"` 20277} 20278 20279// SkuCapacity description of the App Service plan scale options. 20280type SkuCapacity struct { 20281 // Minimum - Minimum number of workers for this App Service plan SKU. 20282 Minimum *int32 `json:"minimum,omitempty"` 20283 // Maximum - Maximum number of workers for this App Service plan SKU. 20284 Maximum *int32 `json:"maximum,omitempty"` 20285 // Default - Default number of workers for this App Service plan SKU. 20286 Default *int32 `json:"default,omitempty"` 20287 // ScaleType - Available scale configurations for an App Service plan. 20288 ScaleType *string `json:"scaleType,omitempty"` 20289} 20290 20291// SkuDescription description of a SKU for a scalable resource. 20292type SkuDescription struct { 20293 // Name - Name of the resource SKU. 20294 Name *string `json:"name,omitempty"` 20295 // Tier - Service tier of the resource SKU. 20296 Tier *string `json:"tier,omitempty"` 20297 // Size - Size specifier of the resource SKU. 20298 Size *string `json:"size,omitempty"` 20299 // Family - Family code of the resource SKU. 20300 Family *string `json:"family,omitempty"` 20301 // Capacity - Current number of instances assigned to the resource. 20302 Capacity *int32 `json:"capacity,omitempty"` 20303 // SkuCapacity - Min, max, and default scale values of the SKU. 20304 SkuCapacity *SkuCapacity `json:"skuCapacity,omitempty"` 20305 // Locations - Locations of the SKU. 20306 Locations *[]string `json:"locations,omitempty"` 20307 // Capabilities - Capabilities of the SKU, e.g., is traffic manager enabled? 20308 Capabilities *[]Capability `json:"capabilities,omitempty"` 20309} 20310 20311// SkuInfo SKU discovery information. 20312type SkuInfo struct { 20313 // ResourceType - Resource type that this SKU applies to. 20314 ResourceType *string `json:"resourceType,omitempty"` 20315 // Sku - Name and tier of the SKU. 20316 Sku *SkuDescription `json:"sku,omitempty"` 20317 // Capacity - Min, max, and default scale values of the SKU. 20318 Capacity *SkuCapacity `json:"capacity,omitempty"` 20319} 20320 20321// SkuInfoCollection collection of SKU information. 20322type SkuInfoCollection struct { 20323 autorest.Response `json:"-"` 20324 // Value - Collection of resources. 20325 Value *[]SkuInfo `json:"value,omitempty"` 20326 // NextLink - READ-ONLY; Link to next page of resources. 20327 NextLink *string `json:"nextLink,omitempty"` 20328} 20329 20330// MarshalJSON is the custom marshaler for SkuInfoCollection. 20331func (sic SkuInfoCollection) MarshalJSON() ([]byte, error) { 20332 objectMap := make(map[string]interface{}) 20333 if sic.Value != nil { 20334 objectMap["value"] = sic.Value 20335 } 20336 return json.Marshal(objectMap) 20337} 20338 20339// SkuInfoCollectionIterator provides access to a complete listing of SkuInfo values. 20340type SkuInfoCollectionIterator struct { 20341 i int 20342 page SkuInfoCollectionPage 20343} 20344 20345// NextWithContext advances to the next value. If there was an error making 20346// the request the iterator does not advance and the error is returned. 20347func (iter *SkuInfoCollectionIterator) NextWithContext(ctx context.Context) (err error) { 20348 if tracing.IsEnabled() { 20349 ctx = tracing.StartSpan(ctx, fqdn+"/SkuInfoCollectionIterator.NextWithContext") 20350 defer func() { 20351 sc := -1 20352 if iter.Response().Response.Response != nil { 20353 sc = iter.Response().Response.Response.StatusCode 20354 } 20355 tracing.EndSpan(ctx, sc, err) 20356 }() 20357 } 20358 iter.i++ 20359 if iter.i < len(iter.page.Values()) { 20360 return nil 20361 } 20362 err = iter.page.NextWithContext(ctx) 20363 if err != nil { 20364 iter.i-- 20365 return err 20366 } 20367 iter.i = 0 20368 return nil 20369} 20370 20371// Next advances to the next value. If there was an error making 20372// the request the iterator does not advance and the error is returned. 20373// Deprecated: Use NextWithContext() instead. 20374func (iter *SkuInfoCollectionIterator) Next() error { 20375 return iter.NextWithContext(context.Background()) 20376} 20377 20378// NotDone returns true if the enumeration should be started or is not yet complete. 20379func (iter SkuInfoCollectionIterator) NotDone() bool { 20380 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 20381} 20382 20383// Response returns the raw server response from the last page request. 20384func (iter SkuInfoCollectionIterator) Response() SkuInfoCollection { 20385 return iter.page.Response() 20386} 20387 20388// Value returns the current value or a zero-initialized value if the 20389// iterator has advanced beyond the end of the collection. 20390func (iter SkuInfoCollectionIterator) Value() SkuInfo { 20391 if !iter.page.NotDone() { 20392 return SkuInfo{} 20393 } 20394 return iter.page.Values()[iter.i] 20395} 20396 20397// Creates a new instance of the SkuInfoCollectionIterator type. 20398func NewSkuInfoCollectionIterator(page SkuInfoCollectionPage) SkuInfoCollectionIterator { 20399 return SkuInfoCollectionIterator{page: page} 20400} 20401 20402// IsEmpty returns true if the ListResult contains no values. 20403func (sic SkuInfoCollection) IsEmpty() bool { 20404 return sic.Value == nil || len(*sic.Value) == 0 20405} 20406 20407// hasNextLink returns true if the NextLink is not empty. 20408func (sic SkuInfoCollection) hasNextLink() bool { 20409 return sic.NextLink != nil && len(*sic.NextLink) != 0 20410} 20411 20412// skuInfoCollectionPreparer prepares a request to retrieve the next set of results. 20413// It returns nil if no more results exist. 20414func (sic SkuInfoCollection) skuInfoCollectionPreparer(ctx context.Context) (*http.Request, error) { 20415 if !sic.hasNextLink() { 20416 return nil, nil 20417 } 20418 return autorest.Prepare((&http.Request{}).WithContext(ctx), 20419 autorest.AsJSON(), 20420 autorest.AsGet(), 20421 autorest.WithBaseURL(to.String(sic.NextLink))) 20422} 20423 20424// SkuInfoCollectionPage contains a page of SkuInfo values. 20425type SkuInfoCollectionPage struct { 20426 fn func(context.Context, SkuInfoCollection) (SkuInfoCollection, error) 20427 sic SkuInfoCollection 20428} 20429 20430// NextWithContext advances to the next page of values. If there was an error making 20431// the request the page does not advance and the error is returned. 20432func (page *SkuInfoCollectionPage) NextWithContext(ctx context.Context) (err error) { 20433 if tracing.IsEnabled() { 20434 ctx = tracing.StartSpan(ctx, fqdn+"/SkuInfoCollectionPage.NextWithContext") 20435 defer func() { 20436 sc := -1 20437 if page.Response().Response.Response != nil { 20438 sc = page.Response().Response.Response.StatusCode 20439 } 20440 tracing.EndSpan(ctx, sc, err) 20441 }() 20442 } 20443 for { 20444 next, err := page.fn(ctx, page.sic) 20445 if err != nil { 20446 return err 20447 } 20448 page.sic = next 20449 if !next.hasNextLink() || !next.IsEmpty() { 20450 break 20451 } 20452 } 20453 return nil 20454} 20455 20456// Next advances to the next page of values. If there was an error making 20457// the request the page does not advance and the error is returned. 20458// Deprecated: Use NextWithContext() instead. 20459func (page *SkuInfoCollectionPage) Next() error { 20460 return page.NextWithContext(context.Background()) 20461} 20462 20463// NotDone returns true if the page enumeration should be started or is not yet complete. 20464func (page SkuInfoCollectionPage) NotDone() bool { 20465 return !page.sic.IsEmpty() 20466} 20467 20468// Response returns the raw server response from the last page request. 20469func (page SkuInfoCollectionPage) Response() SkuInfoCollection { 20470 return page.sic 20471} 20472 20473// Values returns the slice of values for the current page or nil if there are no values. 20474func (page SkuInfoCollectionPage) Values() []SkuInfo { 20475 if page.sic.IsEmpty() { 20476 return nil 20477 } 20478 return *page.sic.Value 20479} 20480 20481// Creates a new instance of the SkuInfoCollectionPage type. 20482func NewSkuInfoCollectionPage(cur SkuInfoCollection, getNextPage func(context.Context, SkuInfoCollection) (SkuInfoCollection, error)) SkuInfoCollectionPage { 20483 return SkuInfoCollectionPage{ 20484 fn: getNextPage, 20485 sic: cur, 20486 } 20487} 20488 20489// SkuInfos collection of SKU information. 20490type SkuInfos struct { 20491 autorest.Response `json:"-"` 20492 // ResourceType - Resource type that this SKU applies to. 20493 ResourceType *string `json:"resourceType,omitempty"` 20494 // Skus - List of SKUs the subscription is able to use. 20495 Skus *[]GlobalCsmSkuDescription `json:"skus,omitempty"` 20496} 20497 20498// SlotConfigNames names for connection strings, application settings, and external Azure storage account 20499// configuration 20500// identifiers to be marked as sticky to the deployment slot and not moved during a swap operation. 20501// This is valid for all deployment slots in an app. 20502type SlotConfigNames struct { 20503 // ConnectionStringNames - List of connection string names. 20504 ConnectionStringNames *[]string `json:"connectionStringNames,omitempty"` 20505 // AppSettingNames - List of application settings names. 20506 AppSettingNames *[]string `json:"appSettingNames,omitempty"` 20507 // AzureStorageConfigNames - List of external Azure storage account identifiers. 20508 AzureStorageConfigNames *[]string `json:"azureStorageConfigNames,omitempty"` 20509} 20510 20511// SlotConfigNamesResource slot Config names azure resource. 20512type SlotConfigNamesResource struct { 20513 autorest.Response `json:"-"` 20514 // SlotConfigNames - Core resource properties 20515 *SlotConfigNames `json:"properties,omitempty"` 20516 // ID - READ-ONLY; Resource Id. 20517 ID *string `json:"id,omitempty"` 20518 // Name - READ-ONLY; Resource Name. 20519 Name *string `json:"name,omitempty"` 20520 // Kind - Kind of resource. 20521 Kind *string `json:"kind,omitempty"` 20522 // Type - READ-ONLY; Resource type. 20523 Type *string `json:"type,omitempty"` 20524} 20525 20526// MarshalJSON is the custom marshaler for SlotConfigNamesResource. 20527func (scnr SlotConfigNamesResource) MarshalJSON() ([]byte, error) { 20528 objectMap := make(map[string]interface{}) 20529 if scnr.SlotConfigNames != nil { 20530 objectMap["properties"] = scnr.SlotConfigNames 20531 } 20532 if scnr.Kind != nil { 20533 objectMap["kind"] = scnr.Kind 20534 } 20535 return json.Marshal(objectMap) 20536} 20537 20538// UnmarshalJSON is the custom unmarshaler for SlotConfigNamesResource struct. 20539func (scnr *SlotConfigNamesResource) UnmarshalJSON(body []byte) error { 20540 var m map[string]*json.RawMessage 20541 err := json.Unmarshal(body, &m) 20542 if err != nil { 20543 return err 20544 } 20545 for k, v := range m { 20546 switch k { 20547 case "properties": 20548 if v != nil { 20549 var slotConfigNames SlotConfigNames 20550 err = json.Unmarshal(*v, &slotConfigNames) 20551 if err != nil { 20552 return err 20553 } 20554 scnr.SlotConfigNames = &slotConfigNames 20555 } 20556 case "id": 20557 if v != nil { 20558 var ID string 20559 err = json.Unmarshal(*v, &ID) 20560 if err != nil { 20561 return err 20562 } 20563 scnr.ID = &ID 20564 } 20565 case "name": 20566 if v != nil { 20567 var name string 20568 err = json.Unmarshal(*v, &name) 20569 if err != nil { 20570 return err 20571 } 20572 scnr.Name = &name 20573 } 20574 case "kind": 20575 if v != nil { 20576 var kind string 20577 err = json.Unmarshal(*v, &kind) 20578 if err != nil { 20579 return err 20580 } 20581 scnr.Kind = &kind 20582 } 20583 case "type": 20584 if v != nil { 20585 var typeVar string 20586 err = json.Unmarshal(*v, &typeVar) 20587 if err != nil { 20588 return err 20589 } 20590 scnr.Type = &typeVar 20591 } 20592 } 20593 } 20594 20595 return nil 20596} 20597 20598// SlotDifference a setting difference between two deployment slots of an app. 20599type SlotDifference struct { 20600 // SlotDifferenceProperties - SlotDifference resource specific properties 20601 *SlotDifferenceProperties `json:"properties,omitempty"` 20602 // ID - READ-ONLY; Resource Id. 20603 ID *string `json:"id,omitempty"` 20604 // Name - READ-ONLY; Resource Name. 20605 Name *string `json:"name,omitempty"` 20606 // Kind - Kind of resource. 20607 Kind *string `json:"kind,omitempty"` 20608 // Type - READ-ONLY; Resource type. 20609 Type *string `json:"type,omitempty"` 20610} 20611 20612// MarshalJSON is the custom marshaler for SlotDifference. 20613func (sd SlotDifference) MarshalJSON() ([]byte, error) { 20614 objectMap := make(map[string]interface{}) 20615 if sd.SlotDifferenceProperties != nil { 20616 objectMap["properties"] = sd.SlotDifferenceProperties 20617 } 20618 if sd.Kind != nil { 20619 objectMap["kind"] = sd.Kind 20620 } 20621 return json.Marshal(objectMap) 20622} 20623 20624// UnmarshalJSON is the custom unmarshaler for SlotDifference struct. 20625func (sd *SlotDifference) UnmarshalJSON(body []byte) error { 20626 var m map[string]*json.RawMessage 20627 err := json.Unmarshal(body, &m) 20628 if err != nil { 20629 return err 20630 } 20631 for k, v := range m { 20632 switch k { 20633 case "properties": 20634 if v != nil { 20635 var slotDifferenceProperties SlotDifferenceProperties 20636 err = json.Unmarshal(*v, &slotDifferenceProperties) 20637 if err != nil { 20638 return err 20639 } 20640 sd.SlotDifferenceProperties = &slotDifferenceProperties 20641 } 20642 case "id": 20643 if v != nil { 20644 var ID string 20645 err = json.Unmarshal(*v, &ID) 20646 if err != nil { 20647 return err 20648 } 20649 sd.ID = &ID 20650 } 20651 case "name": 20652 if v != nil { 20653 var name string 20654 err = json.Unmarshal(*v, &name) 20655 if err != nil { 20656 return err 20657 } 20658 sd.Name = &name 20659 } 20660 case "kind": 20661 if v != nil { 20662 var kind string 20663 err = json.Unmarshal(*v, &kind) 20664 if err != nil { 20665 return err 20666 } 20667 sd.Kind = &kind 20668 } 20669 case "type": 20670 if v != nil { 20671 var typeVar string 20672 err = json.Unmarshal(*v, &typeVar) 20673 if err != nil { 20674 return err 20675 } 20676 sd.Type = &typeVar 20677 } 20678 } 20679 } 20680 20681 return nil 20682} 20683 20684// SlotDifferenceCollection collection of slot differences. 20685type SlotDifferenceCollection struct { 20686 autorest.Response `json:"-"` 20687 // Value - Collection of resources. 20688 Value *[]SlotDifference `json:"value,omitempty"` 20689 // NextLink - READ-ONLY; Link to next page of resources. 20690 NextLink *string `json:"nextLink,omitempty"` 20691} 20692 20693// MarshalJSON is the custom marshaler for SlotDifferenceCollection. 20694func (sdc SlotDifferenceCollection) MarshalJSON() ([]byte, error) { 20695 objectMap := make(map[string]interface{}) 20696 if sdc.Value != nil { 20697 objectMap["value"] = sdc.Value 20698 } 20699 return json.Marshal(objectMap) 20700} 20701 20702// SlotDifferenceCollectionIterator provides access to a complete listing of SlotDifference values. 20703type SlotDifferenceCollectionIterator struct { 20704 i int 20705 page SlotDifferenceCollectionPage 20706} 20707 20708// NextWithContext advances to the next value. If there was an error making 20709// the request the iterator does not advance and the error is returned. 20710func (iter *SlotDifferenceCollectionIterator) NextWithContext(ctx context.Context) (err error) { 20711 if tracing.IsEnabled() { 20712 ctx = tracing.StartSpan(ctx, fqdn+"/SlotDifferenceCollectionIterator.NextWithContext") 20713 defer func() { 20714 sc := -1 20715 if iter.Response().Response.Response != nil { 20716 sc = iter.Response().Response.Response.StatusCode 20717 } 20718 tracing.EndSpan(ctx, sc, err) 20719 }() 20720 } 20721 iter.i++ 20722 if iter.i < len(iter.page.Values()) { 20723 return nil 20724 } 20725 err = iter.page.NextWithContext(ctx) 20726 if err != nil { 20727 iter.i-- 20728 return err 20729 } 20730 iter.i = 0 20731 return nil 20732} 20733 20734// Next advances to the next value. If there was an error making 20735// the request the iterator does not advance and the error is returned. 20736// Deprecated: Use NextWithContext() instead. 20737func (iter *SlotDifferenceCollectionIterator) Next() error { 20738 return iter.NextWithContext(context.Background()) 20739} 20740 20741// NotDone returns true if the enumeration should be started or is not yet complete. 20742func (iter SlotDifferenceCollectionIterator) NotDone() bool { 20743 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 20744} 20745 20746// Response returns the raw server response from the last page request. 20747func (iter SlotDifferenceCollectionIterator) Response() SlotDifferenceCollection { 20748 return iter.page.Response() 20749} 20750 20751// Value returns the current value or a zero-initialized value if the 20752// iterator has advanced beyond the end of the collection. 20753func (iter SlotDifferenceCollectionIterator) Value() SlotDifference { 20754 if !iter.page.NotDone() { 20755 return SlotDifference{} 20756 } 20757 return iter.page.Values()[iter.i] 20758} 20759 20760// Creates a new instance of the SlotDifferenceCollectionIterator type. 20761func NewSlotDifferenceCollectionIterator(page SlotDifferenceCollectionPage) SlotDifferenceCollectionIterator { 20762 return SlotDifferenceCollectionIterator{page: page} 20763} 20764 20765// IsEmpty returns true if the ListResult contains no values. 20766func (sdc SlotDifferenceCollection) IsEmpty() bool { 20767 return sdc.Value == nil || len(*sdc.Value) == 0 20768} 20769 20770// hasNextLink returns true if the NextLink is not empty. 20771func (sdc SlotDifferenceCollection) hasNextLink() bool { 20772 return sdc.NextLink != nil && len(*sdc.NextLink) != 0 20773} 20774 20775// slotDifferenceCollectionPreparer prepares a request to retrieve the next set of results. 20776// It returns nil if no more results exist. 20777func (sdc SlotDifferenceCollection) slotDifferenceCollectionPreparer(ctx context.Context) (*http.Request, error) { 20778 if !sdc.hasNextLink() { 20779 return nil, nil 20780 } 20781 return autorest.Prepare((&http.Request{}).WithContext(ctx), 20782 autorest.AsJSON(), 20783 autorest.AsGet(), 20784 autorest.WithBaseURL(to.String(sdc.NextLink))) 20785} 20786 20787// SlotDifferenceCollectionPage contains a page of SlotDifference values. 20788type SlotDifferenceCollectionPage struct { 20789 fn func(context.Context, SlotDifferenceCollection) (SlotDifferenceCollection, error) 20790 sdc SlotDifferenceCollection 20791} 20792 20793// NextWithContext advances to the next page of values. If there was an error making 20794// the request the page does not advance and the error is returned. 20795func (page *SlotDifferenceCollectionPage) NextWithContext(ctx context.Context) (err error) { 20796 if tracing.IsEnabled() { 20797 ctx = tracing.StartSpan(ctx, fqdn+"/SlotDifferenceCollectionPage.NextWithContext") 20798 defer func() { 20799 sc := -1 20800 if page.Response().Response.Response != nil { 20801 sc = page.Response().Response.Response.StatusCode 20802 } 20803 tracing.EndSpan(ctx, sc, err) 20804 }() 20805 } 20806 for { 20807 next, err := page.fn(ctx, page.sdc) 20808 if err != nil { 20809 return err 20810 } 20811 page.sdc = next 20812 if !next.hasNextLink() || !next.IsEmpty() { 20813 break 20814 } 20815 } 20816 return nil 20817} 20818 20819// Next advances to the next page of values. If there was an error making 20820// the request the page does not advance and the error is returned. 20821// Deprecated: Use NextWithContext() instead. 20822func (page *SlotDifferenceCollectionPage) Next() error { 20823 return page.NextWithContext(context.Background()) 20824} 20825 20826// NotDone returns true if the page enumeration should be started or is not yet complete. 20827func (page SlotDifferenceCollectionPage) NotDone() bool { 20828 return !page.sdc.IsEmpty() 20829} 20830 20831// Response returns the raw server response from the last page request. 20832func (page SlotDifferenceCollectionPage) Response() SlotDifferenceCollection { 20833 return page.sdc 20834} 20835 20836// Values returns the slice of values for the current page or nil if there are no values. 20837func (page SlotDifferenceCollectionPage) Values() []SlotDifference { 20838 if page.sdc.IsEmpty() { 20839 return nil 20840 } 20841 return *page.sdc.Value 20842} 20843 20844// Creates a new instance of the SlotDifferenceCollectionPage type. 20845func NewSlotDifferenceCollectionPage(cur SlotDifferenceCollection, getNextPage func(context.Context, SlotDifferenceCollection) (SlotDifferenceCollection, error)) SlotDifferenceCollectionPage { 20846 return SlotDifferenceCollectionPage{ 20847 fn: getNextPage, 20848 sdc: cur, 20849 } 20850} 20851 20852// SlotDifferenceProperties slotDifference resource specific properties 20853type SlotDifferenceProperties struct { 20854 // Level - READ-ONLY; Level of the difference: Information, Warning or Error. 20855 Level *string `json:"level,omitempty"` 20856 // SettingType - READ-ONLY; The type of the setting: General, AppSetting or ConnectionString. 20857 SettingType *string `json:"settingType,omitempty"` 20858 // DiffRule - READ-ONLY; Rule that describes how to process the setting difference during a slot swap. 20859 DiffRule *string `json:"diffRule,omitempty"` 20860 // SettingName - READ-ONLY; Name of the setting. 20861 SettingName *string `json:"settingName,omitempty"` 20862 // ValueInCurrentSlot - READ-ONLY; Value of the setting in the current slot. 20863 ValueInCurrentSlot *string `json:"valueInCurrentSlot,omitempty"` 20864 // ValueInTargetSlot - READ-ONLY; Value of the setting in the target slot. 20865 ValueInTargetSlot *string `json:"valueInTargetSlot,omitempty"` 20866 // Description - READ-ONLY; Description of the setting difference. 20867 Description *string `json:"description,omitempty"` 20868} 20869 20870// MarshalJSON is the custom marshaler for SlotDifferenceProperties. 20871func (sd SlotDifferenceProperties) MarshalJSON() ([]byte, error) { 20872 objectMap := make(map[string]interface{}) 20873 return json.Marshal(objectMap) 20874} 20875 20876// SlotSwapStatus the status of the last successful slot swap operation. 20877type SlotSwapStatus struct { 20878 // TimestampUtc - READ-ONLY; The time the last successful slot swap completed. 20879 TimestampUtc *date.Time `json:"timestampUtc,omitempty"` 20880 // SourceSlotName - READ-ONLY; The source slot of the last swap operation. 20881 SourceSlotName *string `json:"sourceSlotName,omitempty"` 20882 // DestinationSlotName - READ-ONLY; The destination slot of the last swap operation. 20883 DestinationSlotName *string `json:"destinationSlotName,omitempty"` 20884} 20885 20886// MarshalJSON is the custom marshaler for SlotSwapStatus. 20887func (sss SlotSwapStatus) MarshalJSON() ([]byte, error) { 20888 objectMap := make(map[string]interface{}) 20889 return json.Marshal(objectMap) 20890} 20891 20892// SlowRequestsBasedTrigger trigger based on request execution time. 20893type SlowRequestsBasedTrigger struct { 20894 // TimeTaken - Time taken. 20895 TimeTaken *string `json:"timeTaken,omitempty"` 20896 // Count - Request Count. 20897 Count *int32 `json:"count,omitempty"` 20898 // TimeInterval - Time interval. 20899 TimeInterval *string `json:"timeInterval,omitempty"` 20900} 20901 20902// Snapshot a snapshot of an app. 20903type Snapshot struct { 20904 // SnapshotProperties - Snapshot resource specific properties 20905 *SnapshotProperties `json:"properties,omitempty"` 20906 // ID - READ-ONLY; Resource Id. 20907 ID *string `json:"id,omitempty"` 20908 // Name - READ-ONLY; Resource Name. 20909 Name *string `json:"name,omitempty"` 20910 // Kind - Kind of resource. 20911 Kind *string `json:"kind,omitempty"` 20912 // Type - READ-ONLY; Resource type. 20913 Type *string `json:"type,omitempty"` 20914} 20915 20916// MarshalJSON is the custom marshaler for Snapshot. 20917func (s Snapshot) MarshalJSON() ([]byte, error) { 20918 objectMap := make(map[string]interface{}) 20919 if s.SnapshotProperties != nil { 20920 objectMap["properties"] = s.SnapshotProperties 20921 } 20922 if s.Kind != nil { 20923 objectMap["kind"] = s.Kind 20924 } 20925 return json.Marshal(objectMap) 20926} 20927 20928// UnmarshalJSON is the custom unmarshaler for Snapshot struct. 20929func (s *Snapshot) UnmarshalJSON(body []byte) error { 20930 var m map[string]*json.RawMessage 20931 err := json.Unmarshal(body, &m) 20932 if err != nil { 20933 return err 20934 } 20935 for k, v := range m { 20936 switch k { 20937 case "properties": 20938 if v != nil { 20939 var snapshotProperties SnapshotProperties 20940 err = json.Unmarshal(*v, &snapshotProperties) 20941 if err != nil { 20942 return err 20943 } 20944 s.SnapshotProperties = &snapshotProperties 20945 } 20946 case "id": 20947 if v != nil { 20948 var ID string 20949 err = json.Unmarshal(*v, &ID) 20950 if err != nil { 20951 return err 20952 } 20953 s.ID = &ID 20954 } 20955 case "name": 20956 if v != nil { 20957 var name string 20958 err = json.Unmarshal(*v, &name) 20959 if err != nil { 20960 return err 20961 } 20962 s.Name = &name 20963 } 20964 case "kind": 20965 if v != nil { 20966 var kind string 20967 err = json.Unmarshal(*v, &kind) 20968 if err != nil { 20969 return err 20970 } 20971 s.Kind = &kind 20972 } 20973 case "type": 20974 if v != nil { 20975 var typeVar string 20976 err = json.Unmarshal(*v, &typeVar) 20977 if err != nil { 20978 return err 20979 } 20980 s.Type = &typeVar 20981 } 20982 } 20983 } 20984 20985 return nil 20986} 20987 20988// SnapshotCollection collection of snapshots which can be used to revert an app to a previous time. 20989type SnapshotCollection struct { 20990 autorest.Response `json:"-"` 20991 // Value - Collection of resources. 20992 Value *[]Snapshot `json:"value,omitempty"` 20993 // NextLink - READ-ONLY; Link to next page of resources. 20994 NextLink *string `json:"nextLink,omitempty"` 20995} 20996 20997// MarshalJSON is the custom marshaler for SnapshotCollection. 20998func (sc SnapshotCollection) MarshalJSON() ([]byte, error) { 20999 objectMap := make(map[string]interface{}) 21000 if sc.Value != nil { 21001 objectMap["value"] = sc.Value 21002 } 21003 return json.Marshal(objectMap) 21004} 21005 21006// SnapshotCollectionIterator provides access to a complete listing of Snapshot values. 21007type SnapshotCollectionIterator struct { 21008 i int 21009 page SnapshotCollectionPage 21010} 21011 21012// NextWithContext advances to the next value. If there was an error making 21013// the request the iterator does not advance and the error is returned. 21014func (iter *SnapshotCollectionIterator) NextWithContext(ctx context.Context) (err error) { 21015 if tracing.IsEnabled() { 21016 ctx = tracing.StartSpan(ctx, fqdn+"/SnapshotCollectionIterator.NextWithContext") 21017 defer func() { 21018 sc := -1 21019 if iter.Response().Response.Response != nil { 21020 sc = iter.Response().Response.Response.StatusCode 21021 } 21022 tracing.EndSpan(ctx, sc, err) 21023 }() 21024 } 21025 iter.i++ 21026 if iter.i < len(iter.page.Values()) { 21027 return nil 21028 } 21029 err = iter.page.NextWithContext(ctx) 21030 if err != nil { 21031 iter.i-- 21032 return err 21033 } 21034 iter.i = 0 21035 return nil 21036} 21037 21038// Next advances to the next value. If there was an error making 21039// the request the iterator does not advance and the error is returned. 21040// Deprecated: Use NextWithContext() instead. 21041func (iter *SnapshotCollectionIterator) Next() error { 21042 return iter.NextWithContext(context.Background()) 21043} 21044 21045// NotDone returns true if the enumeration should be started or is not yet complete. 21046func (iter SnapshotCollectionIterator) NotDone() bool { 21047 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 21048} 21049 21050// Response returns the raw server response from the last page request. 21051func (iter SnapshotCollectionIterator) Response() SnapshotCollection { 21052 return iter.page.Response() 21053} 21054 21055// Value returns the current value or a zero-initialized value if the 21056// iterator has advanced beyond the end of the collection. 21057func (iter SnapshotCollectionIterator) Value() Snapshot { 21058 if !iter.page.NotDone() { 21059 return Snapshot{} 21060 } 21061 return iter.page.Values()[iter.i] 21062} 21063 21064// Creates a new instance of the SnapshotCollectionIterator type. 21065func NewSnapshotCollectionIterator(page SnapshotCollectionPage) SnapshotCollectionIterator { 21066 return SnapshotCollectionIterator{page: page} 21067} 21068 21069// IsEmpty returns true if the ListResult contains no values. 21070func (sc SnapshotCollection) IsEmpty() bool { 21071 return sc.Value == nil || len(*sc.Value) == 0 21072} 21073 21074// hasNextLink returns true if the NextLink is not empty. 21075func (sc SnapshotCollection) hasNextLink() bool { 21076 return sc.NextLink != nil && len(*sc.NextLink) != 0 21077} 21078 21079// snapshotCollectionPreparer prepares a request to retrieve the next set of results. 21080// It returns nil if no more results exist. 21081func (sc SnapshotCollection) snapshotCollectionPreparer(ctx context.Context) (*http.Request, error) { 21082 if !sc.hasNextLink() { 21083 return nil, nil 21084 } 21085 return autorest.Prepare((&http.Request{}).WithContext(ctx), 21086 autorest.AsJSON(), 21087 autorest.AsGet(), 21088 autorest.WithBaseURL(to.String(sc.NextLink))) 21089} 21090 21091// SnapshotCollectionPage contains a page of Snapshot values. 21092type SnapshotCollectionPage struct { 21093 fn func(context.Context, SnapshotCollection) (SnapshotCollection, error) 21094 sc SnapshotCollection 21095} 21096 21097// NextWithContext advances to the next page of values. If there was an error making 21098// the request the page does not advance and the error is returned. 21099func (page *SnapshotCollectionPage) NextWithContext(ctx context.Context) (err error) { 21100 if tracing.IsEnabled() { 21101 ctx = tracing.StartSpan(ctx, fqdn+"/SnapshotCollectionPage.NextWithContext") 21102 defer func() { 21103 sc := -1 21104 if page.Response().Response.Response != nil { 21105 sc = page.Response().Response.Response.StatusCode 21106 } 21107 tracing.EndSpan(ctx, sc, err) 21108 }() 21109 } 21110 for { 21111 next, err := page.fn(ctx, page.sc) 21112 if err != nil { 21113 return err 21114 } 21115 page.sc = next 21116 if !next.hasNextLink() || !next.IsEmpty() { 21117 break 21118 } 21119 } 21120 return nil 21121} 21122 21123// Next advances to the next page of values. If there was an error making 21124// the request the page does not advance and the error is returned. 21125// Deprecated: Use NextWithContext() instead. 21126func (page *SnapshotCollectionPage) Next() error { 21127 return page.NextWithContext(context.Background()) 21128} 21129 21130// NotDone returns true if the page enumeration should be started or is not yet complete. 21131func (page SnapshotCollectionPage) NotDone() bool { 21132 return !page.sc.IsEmpty() 21133} 21134 21135// Response returns the raw server response from the last page request. 21136func (page SnapshotCollectionPage) Response() SnapshotCollection { 21137 return page.sc 21138} 21139 21140// Values returns the slice of values for the current page or nil if there are no values. 21141func (page SnapshotCollectionPage) Values() []Snapshot { 21142 if page.sc.IsEmpty() { 21143 return nil 21144 } 21145 return *page.sc.Value 21146} 21147 21148// Creates a new instance of the SnapshotCollectionPage type. 21149func NewSnapshotCollectionPage(cur SnapshotCollection, getNextPage func(context.Context, SnapshotCollection) (SnapshotCollection, error)) SnapshotCollectionPage { 21150 return SnapshotCollectionPage{ 21151 fn: getNextPage, 21152 sc: cur, 21153 } 21154} 21155 21156// SnapshotProperties snapshot resource specific properties 21157type SnapshotProperties struct { 21158 // Time - READ-ONLY; The time the snapshot was taken. 21159 Time *string `json:"time,omitempty"` 21160} 21161 21162// MarshalJSON is the custom marshaler for SnapshotProperties. 21163func (s SnapshotProperties) MarshalJSON() ([]byte, error) { 21164 objectMap := make(map[string]interface{}) 21165 return json.Marshal(objectMap) 21166} 21167 21168// SnapshotRecoverySource specifies the web app that snapshot contents will be retrieved from. 21169type SnapshotRecoverySource struct { 21170 // Location - Geographical location of the source web app, e.g. SouthEastAsia, SouthCentralUS 21171 Location *string `json:"location,omitempty"` 21172 // ID - ARM resource ID of the source app. 21173 // /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName} for production slots and 21174 // /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slotName} for other slots. 21175 ID *string `json:"id,omitempty"` 21176} 21177 21178// SnapshotRestoreRequest details about app recovery operation. 21179type SnapshotRestoreRequest struct { 21180 // SnapshotRestoreRequestProperties - SnapshotRestoreRequest resource specific properties 21181 *SnapshotRestoreRequestProperties `json:"properties,omitempty"` 21182 // ID - READ-ONLY; Resource Id. 21183 ID *string `json:"id,omitempty"` 21184 // Name - READ-ONLY; Resource Name. 21185 Name *string `json:"name,omitempty"` 21186 // Kind - Kind of resource. 21187 Kind *string `json:"kind,omitempty"` 21188 // Type - READ-ONLY; Resource type. 21189 Type *string `json:"type,omitempty"` 21190} 21191 21192// MarshalJSON is the custom marshaler for SnapshotRestoreRequest. 21193func (srr SnapshotRestoreRequest) MarshalJSON() ([]byte, error) { 21194 objectMap := make(map[string]interface{}) 21195 if srr.SnapshotRestoreRequestProperties != nil { 21196 objectMap["properties"] = srr.SnapshotRestoreRequestProperties 21197 } 21198 if srr.Kind != nil { 21199 objectMap["kind"] = srr.Kind 21200 } 21201 return json.Marshal(objectMap) 21202} 21203 21204// UnmarshalJSON is the custom unmarshaler for SnapshotRestoreRequest struct. 21205func (srr *SnapshotRestoreRequest) UnmarshalJSON(body []byte) error { 21206 var m map[string]*json.RawMessage 21207 err := json.Unmarshal(body, &m) 21208 if err != nil { 21209 return err 21210 } 21211 for k, v := range m { 21212 switch k { 21213 case "properties": 21214 if v != nil { 21215 var snapshotRestoreRequestProperties SnapshotRestoreRequestProperties 21216 err = json.Unmarshal(*v, &snapshotRestoreRequestProperties) 21217 if err != nil { 21218 return err 21219 } 21220 srr.SnapshotRestoreRequestProperties = &snapshotRestoreRequestProperties 21221 } 21222 case "id": 21223 if v != nil { 21224 var ID string 21225 err = json.Unmarshal(*v, &ID) 21226 if err != nil { 21227 return err 21228 } 21229 srr.ID = &ID 21230 } 21231 case "name": 21232 if v != nil { 21233 var name string 21234 err = json.Unmarshal(*v, &name) 21235 if err != nil { 21236 return err 21237 } 21238 srr.Name = &name 21239 } 21240 case "kind": 21241 if v != nil { 21242 var kind string 21243 err = json.Unmarshal(*v, &kind) 21244 if err != nil { 21245 return err 21246 } 21247 srr.Kind = &kind 21248 } 21249 case "type": 21250 if v != nil { 21251 var typeVar string 21252 err = json.Unmarshal(*v, &typeVar) 21253 if err != nil { 21254 return err 21255 } 21256 srr.Type = &typeVar 21257 } 21258 } 21259 } 21260 21261 return nil 21262} 21263 21264// SnapshotRestoreRequestProperties snapshotRestoreRequest resource specific properties 21265type SnapshotRestoreRequestProperties struct { 21266 // SnapshotTime - Point in time in which the app restore should be done, formatted as a DateTime string. 21267 SnapshotTime *string `json:"snapshotTime,omitempty"` 21268 // RecoverySource - Optional. Specifies the web app that snapshot contents will be retrieved from. 21269 // If empty, the targeted web app will be used as the source. 21270 RecoverySource *SnapshotRecoverySource `json:"recoverySource,omitempty"` 21271 // Overwrite - If <code>true</code> the restore operation can overwrite source app; otherwise, <code>false</code>. 21272 Overwrite *bool `json:"overwrite,omitempty"` 21273 // RecoverConfiguration - If true, site configuration, in addition to content, will be reverted. 21274 RecoverConfiguration *bool `json:"recoverConfiguration,omitempty"` 21275 // IgnoreConflictingHostNames - If true, custom hostname conflicts will be ignored when recovering to a target web app. 21276 // This setting is only necessary when RecoverConfiguration is enabled. 21277 IgnoreConflictingHostNames *bool `json:"ignoreConflictingHostNames,omitempty"` 21278 // UseDRSecondary - If true, the snapshot is retrieved from DRSecondary endpoint. 21279 UseDRSecondary *bool `json:"useDRSecondary,omitempty"` 21280} 21281 21282// Solution class Representing Solution for problems detected. 21283type Solution struct { 21284 // ID - Solution Id. 21285 ID *float64 `json:"id,omitempty"` 21286 // DisplayName - Display Name of the solution 21287 DisplayName *string `json:"displayName,omitempty"` 21288 // Order - Order of the solution. 21289 Order *float64 `json:"order,omitempty"` 21290 // Description - Description of the solution 21291 Description *string `json:"description,omitempty"` 21292 // Type - Type of Solution. Possible values include: 'QuickSolution', 'DeepInvestigation', 'BestPractices' 21293 Type SolutionType `json:"type,omitempty"` 21294 // Data - Solution Data. 21295 Data *[][]NameValuePair `json:"data,omitempty"` 21296 // Metadata - Solution Metadata. 21297 Metadata *[][]NameValuePair `json:"metadata,omitempty"` 21298} 21299 21300// SourceControl the source control OAuth token. 21301type SourceControl struct { 21302 autorest.Response `json:"-"` 21303 // SourceControlProperties - SourceControl resource specific properties 21304 *SourceControlProperties `json:"properties,omitempty"` 21305 // ID - READ-ONLY; Resource Id. 21306 ID *string `json:"id,omitempty"` 21307 // Name - READ-ONLY; Resource Name. 21308 Name *string `json:"name,omitempty"` 21309 // Kind - Kind of resource. 21310 Kind *string `json:"kind,omitempty"` 21311 // Type - READ-ONLY; Resource type. 21312 Type *string `json:"type,omitempty"` 21313} 21314 21315// MarshalJSON is the custom marshaler for SourceControl. 21316func (sc SourceControl) MarshalJSON() ([]byte, error) { 21317 objectMap := make(map[string]interface{}) 21318 if sc.SourceControlProperties != nil { 21319 objectMap["properties"] = sc.SourceControlProperties 21320 } 21321 if sc.Kind != nil { 21322 objectMap["kind"] = sc.Kind 21323 } 21324 return json.Marshal(objectMap) 21325} 21326 21327// UnmarshalJSON is the custom unmarshaler for SourceControl struct. 21328func (sc *SourceControl) UnmarshalJSON(body []byte) error { 21329 var m map[string]*json.RawMessage 21330 err := json.Unmarshal(body, &m) 21331 if err != nil { 21332 return err 21333 } 21334 for k, v := range m { 21335 switch k { 21336 case "properties": 21337 if v != nil { 21338 var sourceControlProperties SourceControlProperties 21339 err = json.Unmarshal(*v, &sourceControlProperties) 21340 if err != nil { 21341 return err 21342 } 21343 sc.SourceControlProperties = &sourceControlProperties 21344 } 21345 case "id": 21346 if v != nil { 21347 var ID string 21348 err = json.Unmarshal(*v, &ID) 21349 if err != nil { 21350 return err 21351 } 21352 sc.ID = &ID 21353 } 21354 case "name": 21355 if v != nil { 21356 var name string 21357 err = json.Unmarshal(*v, &name) 21358 if err != nil { 21359 return err 21360 } 21361 sc.Name = &name 21362 } 21363 case "kind": 21364 if v != nil { 21365 var kind string 21366 err = json.Unmarshal(*v, &kind) 21367 if err != nil { 21368 return err 21369 } 21370 sc.Kind = &kind 21371 } 21372 case "type": 21373 if v != nil { 21374 var typeVar string 21375 err = json.Unmarshal(*v, &typeVar) 21376 if err != nil { 21377 return err 21378 } 21379 sc.Type = &typeVar 21380 } 21381 } 21382 } 21383 21384 return nil 21385} 21386 21387// SourceControlCollection collection of source controls. 21388type SourceControlCollection struct { 21389 autorest.Response `json:"-"` 21390 // Value - Collection of resources. 21391 Value *[]SourceControl `json:"value,omitempty"` 21392 // NextLink - READ-ONLY; Link to next page of resources. 21393 NextLink *string `json:"nextLink,omitempty"` 21394} 21395 21396// MarshalJSON is the custom marshaler for SourceControlCollection. 21397func (scc SourceControlCollection) MarshalJSON() ([]byte, error) { 21398 objectMap := make(map[string]interface{}) 21399 if scc.Value != nil { 21400 objectMap["value"] = scc.Value 21401 } 21402 return json.Marshal(objectMap) 21403} 21404 21405// SourceControlCollectionIterator provides access to a complete listing of SourceControl values. 21406type SourceControlCollectionIterator struct { 21407 i int 21408 page SourceControlCollectionPage 21409} 21410 21411// NextWithContext advances to the next value. If there was an error making 21412// the request the iterator does not advance and the error is returned. 21413func (iter *SourceControlCollectionIterator) NextWithContext(ctx context.Context) (err error) { 21414 if tracing.IsEnabled() { 21415 ctx = tracing.StartSpan(ctx, fqdn+"/SourceControlCollectionIterator.NextWithContext") 21416 defer func() { 21417 sc := -1 21418 if iter.Response().Response.Response != nil { 21419 sc = iter.Response().Response.Response.StatusCode 21420 } 21421 tracing.EndSpan(ctx, sc, err) 21422 }() 21423 } 21424 iter.i++ 21425 if iter.i < len(iter.page.Values()) { 21426 return nil 21427 } 21428 err = iter.page.NextWithContext(ctx) 21429 if err != nil { 21430 iter.i-- 21431 return err 21432 } 21433 iter.i = 0 21434 return nil 21435} 21436 21437// Next advances to the next value. If there was an error making 21438// the request the iterator does not advance and the error is returned. 21439// Deprecated: Use NextWithContext() instead. 21440func (iter *SourceControlCollectionIterator) Next() error { 21441 return iter.NextWithContext(context.Background()) 21442} 21443 21444// NotDone returns true if the enumeration should be started or is not yet complete. 21445func (iter SourceControlCollectionIterator) NotDone() bool { 21446 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 21447} 21448 21449// Response returns the raw server response from the last page request. 21450func (iter SourceControlCollectionIterator) Response() SourceControlCollection { 21451 return iter.page.Response() 21452} 21453 21454// Value returns the current value or a zero-initialized value if the 21455// iterator has advanced beyond the end of the collection. 21456func (iter SourceControlCollectionIterator) Value() SourceControl { 21457 if !iter.page.NotDone() { 21458 return SourceControl{} 21459 } 21460 return iter.page.Values()[iter.i] 21461} 21462 21463// Creates a new instance of the SourceControlCollectionIterator type. 21464func NewSourceControlCollectionIterator(page SourceControlCollectionPage) SourceControlCollectionIterator { 21465 return SourceControlCollectionIterator{page: page} 21466} 21467 21468// IsEmpty returns true if the ListResult contains no values. 21469func (scc SourceControlCollection) IsEmpty() bool { 21470 return scc.Value == nil || len(*scc.Value) == 0 21471} 21472 21473// hasNextLink returns true if the NextLink is not empty. 21474func (scc SourceControlCollection) hasNextLink() bool { 21475 return scc.NextLink != nil && len(*scc.NextLink) != 0 21476} 21477 21478// sourceControlCollectionPreparer prepares a request to retrieve the next set of results. 21479// It returns nil if no more results exist. 21480func (scc SourceControlCollection) sourceControlCollectionPreparer(ctx context.Context) (*http.Request, error) { 21481 if !scc.hasNextLink() { 21482 return nil, nil 21483 } 21484 return autorest.Prepare((&http.Request{}).WithContext(ctx), 21485 autorest.AsJSON(), 21486 autorest.AsGet(), 21487 autorest.WithBaseURL(to.String(scc.NextLink))) 21488} 21489 21490// SourceControlCollectionPage contains a page of SourceControl values. 21491type SourceControlCollectionPage struct { 21492 fn func(context.Context, SourceControlCollection) (SourceControlCollection, error) 21493 scc SourceControlCollection 21494} 21495 21496// NextWithContext advances to the next page of values. If there was an error making 21497// the request the page does not advance and the error is returned. 21498func (page *SourceControlCollectionPage) NextWithContext(ctx context.Context) (err error) { 21499 if tracing.IsEnabled() { 21500 ctx = tracing.StartSpan(ctx, fqdn+"/SourceControlCollectionPage.NextWithContext") 21501 defer func() { 21502 sc := -1 21503 if page.Response().Response.Response != nil { 21504 sc = page.Response().Response.Response.StatusCode 21505 } 21506 tracing.EndSpan(ctx, sc, err) 21507 }() 21508 } 21509 for { 21510 next, err := page.fn(ctx, page.scc) 21511 if err != nil { 21512 return err 21513 } 21514 page.scc = next 21515 if !next.hasNextLink() || !next.IsEmpty() { 21516 break 21517 } 21518 } 21519 return nil 21520} 21521 21522// Next advances to the next page of values. If there was an error making 21523// the request the page does not advance and the error is returned. 21524// Deprecated: Use NextWithContext() instead. 21525func (page *SourceControlCollectionPage) Next() error { 21526 return page.NextWithContext(context.Background()) 21527} 21528 21529// NotDone returns true if the page enumeration should be started or is not yet complete. 21530func (page SourceControlCollectionPage) NotDone() bool { 21531 return !page.scc.IsEmpty() 21532} 21533 21534// Response returns the raw server response from the last page request. 21535func (page SourceControlCollectionPage) Response() SourceControlCollection { 21536 return page.scc 21537} 21538 21539// Values returns the slice of values for the current page or nil if there are no values. 21540func (page SourceControlCollectionPage) Values() []SourceControl { 21541 if page.scc.IsEmpty() { 21542 return nil 21543 } 21544 return *page.scc.Value 21545} 21546 21547// Creates a new instance of the SourceControlCollectionPage type. 21548func NewSourceControlCollectionPage(cur SourceControlCollection, getNextPage func(context.Context, SourceControlCollection) (SourceControlCollection, error)) SourceControlCollectionPage { 21549 return SourceControlCollectionPage{ 21550 fn: getNextPage, 21551 scc: cur, 21552 } 21553} 21554 21555// SourceControlProperties sourceControl resource specific properties 21556type SourceControlProperties struct { 21557 // Token - OAuth access token. 21558 Token *string `json:"token,omitempty"` 21559 // TokenSecret - OAuth access token secret. 21560 TokenSecret *string `json:"tokenSecret,omitempty"` 21561 // RefreshToken - OAuth refresh token. 21562 RefreshToken *string `json:"refreshToken,omitempty"` 21563 // ExpirationTime - OAuth token expiration. 21564 ExpirationTime *date.Time `json:"expirationTime,omitempty"` 21565} 21566 21567// StackMajorVersion application stack major version. 21568type StackMajorVersion struct { 21569 // DisplayVersion - Application stack major version (display only). 21570 DisplayVersion *string `json:"displayVersion,omitempty"` 21571 // RuntimeVersion - Application stack major version (runtime only). 21572 RuntimeVersion *string `json:"runtimeVersion,omitempty"` 21573 // IsDefault - <code>true</code> if this is the default major version; otherwise, <code>false</code>. 21574 IsDefault *bool `json:"isDefault,omitempty"` 21575 // MinorVersions - Minor versions associated with the major version. 21576 MinorVersions *[]StackMinorVersion `json:"minorVersions,omitempty"` 21577 // ApplicationInsights - <code>true</code> if this supports Application Insights; otherwise, <code>false</code>. 21578 ApplicationInsights *bool `json:"applicationInsights,omitempty"` 21579} 21580 21581// StackMinorVersion application stack minor version. 21582type StackMinorVersion struct { 21583 // DisplayVersion - Application stack minor version (display only). 21584 DisplayVersion *string `json:"displayVersion,omitempty"` 21585 // RuntimeVersion - Application stack minor version (runtime only). 21586 RuntimeVersion *string `json:"runtimeVersion,omitempty"` 21587 // IsDefault - <code>true</code> if this is the default minor version; otherwise, <code>false</code>. 21588 IsDefault *bool `json:"isDefault,omitempty"` 21589 // IsRemoteDebuggingEnabled - <code>true</code> if this supports Remote Debugging, otherwise <code>false</code>. 21590 IsRemoteDebuggingEnabled *bool `json:"isRemoteDebuggingEnabled,omitempty"` 21591} 21592 21593// StampCapacity stamp capacity information. 21594type StampCapacity struct { 21595 // Name - Name of the stamp. 21596 Name *string `json:"name,omitempty"` 21597 // AvailableCapacity - Available capacity (# of machines, bytes of storage etc...). 21598 AvailableCapacity *int64 `json:"availableCapacity,omitempty"` 21599 // TotalCapacity - Total capacity (# of machines, bytes of storage etc...). 21600 TotalCapacity *int64 `json:"totalCapacity,omitempty"` 21601 // Unit - Name of the unit. 21602 Unit *string `json:"unit,omitempty"` 21603 // ComputeMode - Shared/dedicated workers. Possible values include: 'ComputeModeOptionsShared', 'ComputeModeOptionsDedicated', 'ComputeModeOptionsDynamic' 21604 ComputeMode ComputeModeOptions `json:"computeMode,omitempty"` 21605 // WorkerSize - Size of the machines. Possible values include: 'WorkerSizeOptionsSmall', 'WorkerSizeOptionsMedium', 'WorkerSizeOptionsLarge', 'WorkerSizeOptionsD1', 'WorkerSizeOptionsD2', 'WorkerSizeOptionsD3', 'WorkerSizeOptionsDefault' 21606 WorkerSize WorkerSizeOptions `json:"workerSize,omitempty"` 21607 // WorkerSizeID - Size ID of machines: 21608 // 0 - Small 21609 // 1 - Medium 21610 // 2 - Large 21611 WorkerSizeID *int32 `json:"workerSizeId,omitempty"` 21612 // ExcludeFromCapacityAllocation - If <code>true</code>, it includes basic apps. 21613 // Basic apps are not used for capacity allocation. 21614 ExcludeFromCapacityAllocation *bool `json:"excludeFromCapacityAllocation,omitempty"` 21615 // IsApplicableForAllComputeModes - <code>true</code> if capacity is applicable for all apps; otherwise, <code>false</code>. 21616 IsApplicableForAllComputeModes *bool `json:"isApplicableForAllComputeModes,omitempty"` 21617 // SiteMode - Shared or Dedicated. 21618 SiteMode *string `json:"siteMode,omitempty"` 21619 // IsLinux - Is this a linux stamp capacity 21620 IsLinux *bool `json:"isLinux,omitempty"` 21621} 21622 21623// StampCapacityCollection collection of stamp capacities. 21624type StampCapacityCollection struct { 21625 autorest.Response `json:"-"` 21626 // Value - Collection of resources. 21627 Value *[]StampCapacity `json:"value,omitempty"` 21628 // NextLink - READ-ONLY; Link to next page of resources. 21629 NextLink *string `json:"nextLink,omitempty"` 21630} 21631 21632// MarshalJSON is the custom marshaler for StampCapacityCollection. 21633func (scc StampCapacityCollection) MarshalJSON() ([]byte, error) { 21634 objectMap := make(map[string]interface{}) 21635 if scc.Value != nil { 21636 objectMap["value"] = scc.Value 21637 } 21638 return json.Marshal(objectMap) 21639} 21640 21641// StampCapacityCollectionIterator provides access to a complete listing of StampCapacity values. 21642type StampCapacityCollectionIterator struct { 21643 i int 21644 page StampCapacityCollectionPage 21645} 21646 21647// NextWithContext advances to the next value. If there was an error making 21648// the request the iterator does not advance and the error is returned. 21649func (iter *StampCapacityCollectionIterator) NextWithContext(ctx context.Context) (err error) { 21650 if tracing.IsEnabled() { 21651 ctx = tracing.StartSpan(ctx, fqdn+"/StampCapacityCollectionIterator.NextWithContext") 21652 defer func() { 21653 sc := -1 21654 if iter.Response().Response.Response != nil { 21655 sc = iter.Response().Response.Response.StatusCode 21656 } 21657 tracing.EndSpan(ctx, sc, err) 21658 }() 21659 } 21660 iter.i++ 21661 if iter.i < len(iter.page.Values()) { 21662 return nil 21663 } 21664 err = iter.page.NextWithContext(ctx) 21665 if err != nil { 21666 iter.i-- 21667 return err 21668 } 21669 iter.i = 0 21670 return nil 21671} 21672 21673// Next advances to the next value. If there was an error making 21674// the request the iterator does not advance and the error is returned. 21675// Deprecated: Use NextWithContext() instead. 21676func (iter *StampCapacityCollectionIterator) Next() error { 21677 return iter.NextWithContext(context.Background()) 21678} 21679 21680// NotDone returns true if the enumeration should be started or is not yet complete. 21681func (iter StampCapacityCollectionIterator) NotDone() bool { 21682 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 21683} 21684 21685// Response returns the raw server response from the last page request. 21686func (iter StampCapacityCollectionIterator) Response() StampCapacityCollection { 21687 return iter.page.Response() 21688} 21689 21690// Value returns the current value or a zero-initialized value if the 21691// iterator has advanced beyond the end of the collection. 21692func (iter StampCapacityCollectionIterator) Value() StampCapacity { 21693 if !iter.page.NotDone() { 21694 return StampCapacity{} 21695 } 21696 return iter.page.Values()[iter.i] 21697} 21698 21699// Creates a new instance of the StampCapacityCollectionIterator type. 21700func NewStampCapacityCollectionIterator(page StampCapacityCollectionPage) StampCapacityCollectionIterator { 21701 return StampCapacityCollectionIterator{page: page} 21702} 21703 21704// IsEmpty returns true if the ListResult contains no values. 21705func (scc StampCapacityCollection) IsEmpty() bool { 21706 return scc.Value == nil || len(*scc.Value) == 0 21707} 21708 21709// hasNextLink returns true if the NextLink is not empty. 21710func (scc StampCapacityCollection) hasNextLink() bool { 21711 return scc.NextLink != nil && len(*scc.NextLink) != 0 21712} 21713 21714// stampCapacityCollectionPreparer prepares a request to retrieve the next set of results. 21715// It returns nil if no more results exist. 21716func (scc StampCapacityCollection) stampCapacityCollectionPreparer(ctx context.Context) (*http.Request, error) { 21717 if !scc.hasNextLink() { 21718 return nil, nil 21719 } 21720 return autorest.Prepare((&http.Request{}).WithContext(ctx), 21721 autorest.AsJSON(), 21722 autorest.AsGet(), 21723 autorest.WithBaseURL(to.String(scc.NextLink))) 21724} 21725 21726// StampCapacityCollectionPage contains a page of StampCapacity values. 21727type StampCapacityCollectionPage struct { 21728 fn func(context.Context, StampCapacityCollection) (StampCapacityCollection, error) 21729 scc StampCapacityCollection 21730} 21731 21732// NextWithContext advances to the next page of values. If there was an error making 21733// the request the page does not advance and the error is returned. 21734func (page *StampCapacityCollectionPage) NextWithContext(ctx context.Context) (err error) { 21735 if tracing.IsEnabled() { 21736 ctx = tracing.StartSpan(ctx, fqdn+"/StampCapacityCollectionPage.NextWithContext") 21737 defer func() { 21738 sc := -1 21739 if page.Response().Response.Response != nil { 21740 sc = page.Response().Response.Response.StatusCode 21741 } 21742 tracing.EndSpan(ctx, sc, err) 21743 }() 21744 } 21745 for { 21746 next, err := page.fn(ctx, page.scc) 21747 if err != nil { 21748 return err 21749 } 21750 page.scc = next 21751 if !next.hasNextLink() || !next.IsEmpty() { 21752 break 21753 } 21754 } 21755 return nil 21756} 21757 21758// Next advances to the next page of values. If there was an error making 21759// the request the page does not advance and the error is returned. 21760// Deprecated: Use NextWithContext() instead. 21761func (page *StampCapacityCollectionPage) Next() error { 21762 return page.NextWithContext(context.Background()) 21763} 21764 21765// NotDone returns true if the page enumeration should be started or is not yet complete. 21766func (page StampCapacityCollectionPage) NotDone() bool { 21767 return !page.scc.IsEmpty() 21768} 21769 21770// Response returns the raw server response from the last page request. 21771func (page StampCapacityCollectionPage) Response() StampCapacityCollection { 21772 return page.scc 21773} 21774 21775// Values returns the slice of values for the current page or nil if there are no values. 21776func (page StampCapacityCollectionPage) Values() []StampCapacity { 21777 if page.scc.IsEmpty() { 21778 return nil 21779 } 21780 return *page.scc.Value 21781} 21782 21783// Creates a new instance of the StampCapacityCollectionPage type. 21784func NewStampCapacityCollectionPage(cur StampCapacityCollection, getNextPage func(context.Context, StampCapacityCollection) (StampCapacityCollection, error)) StampCapacityCollectionPage { 21785 return StampCapacityCollectionPage{ 21786 fn: getNextPage, 21787 scc: cur, 21788 } 21789} 21790 21791// StatusCodesBasedTrigger trigger based on status code. 21792type StatusCodesBasedTrigger struct { 21793 // Status - HTTP status code. 21794 Status *int32 `json:"status,omitempty"` 21795 // SubStatus - Request Sub Status. 21796 SubStatus *int32 `json:"subStatus,omitempty"` 21797 // Win32Status - Win32 error code. 21798 Win32Status *int32 `json:"win32Status,omitempty"` 21799 // Count - Request Count. 21800 Count *int32 `json:"count,omitempty"` 21801 // TimeInterval - Time interval. 21802 TimeInterval *string `json:"timeInterval,omitempty"` 21803} 21804 21805// StorageMigrationOptions options for app content migration. 21806type StorageMigrationOptions struct { 21807 // StorageMigrationOptionsProperties - StorageMigrationOptions resource specific properties 21808 *StorageMigrationOptionsProperties `json:"properties,omitempty"` 21809 // ID - READ-ONLY; Resource Id. 21810 ID *string `json:"id,omitempty"` 21811 // Name - READ-ONLY; Resource Name. 21812 Name *string `json:"name,omitempty"` 21813 // Kind - Kind of resource. 21814 Kind *string `json:"kind,omitempty"` 21815 // Type - READ-ONLY; Resource type. 21816 Type *string `json:"type,omitempty"` 21817} 21818 21819// MarshalJSON is the custom marshaler for StorageMigrationOptions. 21820func (smo StorageMigrationOptions) MarshalJSON() ([]byte, error) { 21821 objectMap := make(map[string]interface{}) 21822 if smo.StorageMigrationOptionsProperties != nil { 21823 objectMap["properties"] = smo.StorageMigrationOptionsProperties 21824 } 21825 if smo.Kind != nil { 21826 objectMap["kind"] = smo.Kind 21827 } 21828 return json.Marshal(objectMap) 21829} 21830 21831// UnmarshalJSON is the custom unmarshaler for StorageMigrationOptions struct. 21832func (smo *StorageMigrationOptions) UnmarshalJSON(body []byte) error { 21833 var m map[string]*json.RawMessage 21834 err := json.Unmarshal(body, &m) 21835 if err != nil { 21836 return err 21837 } 21838 for k, v := range m { 21839 switch k { 21840 case "properties": 21841 if v != nil { 21842 var storageMigrationOptionsProperties StorageMigrationOptionsProperties 21843 err = json.Unmarshal(*v, &storageMigrationOptionsProperties) 21844 if err != nil { 21845 return err 21846 } 21847 smo.StorageMigrationOptionsProperties = &storageMigrationOptionsProperties 21848 } 21849 case "id": 21850 if v != nil { 21851 var ID string 21852 err = json.Unmarshal(*v, &ID) 21853 if err != nil { 21854 return err 21855 } 21856 smo.ID = &ID 21857 } 21858 case "name": 21859 if v != nil { 21860 var name string 21861 err = json.Unmarshal(*v, &name) 21862 if err != nil { 21863 return err 21864 } 21865 smo.Name = &name 21866 } 21867 case "kind": 21868 if v != nil { 21869 var kind string 21870 err = json.Unmarshal(*v, &kind) 21871 if err != nil { 21872 return err 21873 } 21874 smo.Kind = &kind 21875 } 21876 case "type": 21877 if v != nil { 21878 var typeVar string 21879 err = json.Unmarshal(*v, &typeVar) 21880 if err != nil { 21881 return err 21882 } 21883 smo.Type = &typeVar 21884 } 21885 } 21886 } 21887 21888 return nil 21889} 21890 21891// StorageMigrationOptionsProperties storageMigrationOptions resource specific properties 21892type StorageMigrationOptionsProperties struct { 21893 // AzurefilesConnectionString - AzureFiles connection string. 21894 AzurefilesConnectionString *string `json:"azurefilesConnectionString,omitempty"` 21895 // AzurefilesShare - AzureFiles share. 21896 AzurefilesShare *string `json:"azurefilesShare,omitempty"` 21897 // SwitchSiteAfterMigration - <code>true</code>if the app should be switched over; otherwise, <code>false</code>. 21898 SwitchSiteAfterMigration *bool `json:"switchSiteAfterMigration,omitempty"` 21899 // BlockWriteAccessToSite - <code>true</code> if the app should be read only during copy operation; otherwise, <code>false</code>. 21900 BlockWriteAccessToSite *bool `json:"blockWriteAccessToSite,omitempty"` 21901} 21902 21903// StorageMigrationResponse response for a migration of app content request. 21904type StorageMigrationResponse struct { 21905 autorest.Response `json:"-"` 21906 // StorageMigrationResponseProperties - StorageMigrationResponse resource specific properties 21907 *StorageMigrationResponseProperties `json:"properties,omitempty"` 21908 // ID - READ-ONLY; Resource Id. 21909 ID *string `json:"id,omitempty"` 21910 // Name - READ-ONLY; Resource Name. 21911 Name *string `json:"name,omitempty"` 21912 // Kind - Kind of resource. 21913 Kind *string `json:"kind,omitempty"` 21914 // Type - READ-ONLY; Resource type. 21915 Type *string `json:"type,omitempty"` 21916} 21917 21918// MarshalJSON is the custom marshaler for StorageMigrationResponse. 21919func (smr StorageMigrationResponse) MarshalJSON() ([]byte, error) { 21920 objectMap := make(map[string]interface{}) 21921 if smr.StorageMigrationResponseProperties != nil { 21922 objectMap["properties"] = smr.StorageMigrationResponseProperties 21923 } 21924 if smr.Kind != nil { 21925 objectMap["kind"] = smr.Kind 21926 } 21927 return json.Marshal(objectMap) 21928} 21929 21930// UnmarshalJSON is the custom unmarshaler for StorageMigrationResponse struct. 21931func (smr *StorageMigrationResponse) UnmarshalJSON(body []byte) error { 21932 var m map[string]*json.RawMessage 21933 err := json.Unmarshal(body, &m) 21934 if err != nil { 21935 return err 21936 } 21937 for k, v := range m { 21938 switch k { 21939 case "properties": 21940 if v != nil { 21941 var storageMigrationResponseProperties StorageMigrationResponseProperties 21942 err = json.Unmarshal(*v, &storageMigrationResponseProperties) 21943 if err != nil { 21944 return err 21945 } 21946 smr.StorageMigrationResponseProperties = &storageMigrationResponseProperties 21947 } 21948 case "id": 21949 if v != nil { 21950 var ID string 21951 err = json.Unmarshal(*v, &ID) 21952 if err != nil { 21953 return err 21954 } 21955 smr.ID = &ID 21956 } 21957 case "name": 21958 if v != nil { 21959 var name string 21960 err = json.Unmarshal(*v, &name) 21961 if err != nil { 21962 return err 21963 } 21964 smr.Name = &name 21965 } 21966 case "kind": 21967 if v != nil { 21968 var kind string 21969 err = json.Unmarshal(*v, &kind) 21970 if err != nil { 21971 return err 21972 } 21973 smr.Kind = &kind 21974 } 21975 case "type": 21976 if v != nil { 21977 var typeVar string 21978 err = json.Unmarshal(*v, &typeVar) 21979 if err != nil { 21980 return err 21981 } 21982 smr.Type = &typeVar 21983 } 21984 } 21985 } 21986 21987 return nil 21988} 21989 21990// StorageMigrationResponseProperties storageMigrationResponse resource specific properties 21991type StorageMigrationResponseProperties struct { 21992 // OperationID - READ-ONLY; When server starts the migration process, it will return an operation ID identifying that particular migration operation. 21993 OperationID *string `json:"operationId,omitempty"` 21994} 21995 21996// MarshalJSON is the custom marshaler for StorageMigrationResponseProperties. 21997func (smr StorageMigrationResponseProperties) MarshalJSON() ([]byte, error) { 21998 objectMap := make(map[string]interface{}) 21999 return json.Marshal(objectMap) 22000} 22001 22002// String ... 22003type String struct { 22004 autorest.Response `json:"-"` 22005 Value *string `json:"value,omitempty"` 22006} 22007 22008// StringDictionary string dictionary resource. 22009type StringDictionary struct { 22010 autorest.Response `json:"-"` 22011 // Properties - Settings. 22012 Properties map[string]*string `json:"properties"` 22013 // ID - READ-ONLY; Resource Id. 22014 ID *string `json:"id,omitempty"` 22015 // Name - READ-ONLY; Resource Name. 22016 Name *string `json:"name,omitempty"` 22017 // Kind - Kind of resource. 22018 Kind *string `json:"kind,omitempty"` 22019 // Type - READ-ONLY; Resource type. 22020 Type *string `json:"type,omitempty"` 22021} 22022 22023// MarshalJSON is the custom marshaler for StringDictionary. 22024func (sd StringDictionary) MarshalJSON() ([]byte, error) { 22025 objectMap := make(map[string]interface{}) 22026 if sd.Properties != nil { 22027 objectMap["properties"] = sd.Properties 22028 } 22029 if sd.Kind != nil { 22030 objectMap["kind"] = sd.Kind 22031 } 22032 return json.Marshal(objectMap) 22033} 22034 22035// SwiftVirtualNetwork swift Virtual Network Contract. This is used to enable the new Swift way of doing 22036// virtual network integration. 22037type SwiftVirtualNetwork struct { 22038 autorest.Response `json:"-"` 22039 // SwiftVirtualNetworkProperties - SwiftVirtualNetwork resource specific properties 22040 *SwiftVirtualNetworkProperties `json:"properties,omitempty"` 22041 // ID - READ-ONLY; Resource Id. 22042 ID *string `json:"id,omitempty"` 22043 // Name - READ-ONLY; Resource Name. 22044 Name *string `json:"name,omitempty"` 22045 // Kind - Kind of resource. 22046 Kind *string `json:"kind,omitempty"` 22047 // Type - READ-ONLY; Resource type. 22048 Type *string `json:"type,omitempty"` 22049} 22050 22051// MarshalJSON is the custom marshaler for SwiftVirtualNetwork. 22052func (svn SwiftVirtualNetwork) MarshalJSON() ([]byte, error) { 22053 objectMap := make(map[string]interface{}) 22054 if svn.SwiftVirtualNetworkProperties != nil { 22055 objectMap["properties"] = svn.SwiftVirtualNetworkProperties 22056 } 22057 if svn.Kind != nil { 22058 objectMap["kind"] = svn.Kind 22059 } 22060 return json.Marshal(objectMap) 22061} 22062 22063// UnmarshalJSON is the custom unmarshaler for SwiftVirtualNetwork struct. 22064func (svn *SwiftVirtualNetwork) UnmarshalJSON(body []byte) error { 22065 var m map[string]*json.RawMessage 22066 err := json.Unmarshal(body, &m) 22067 if err != nil { 22068 return err 22069 } 22070 for k, v := range m { 22071 switch k { 22072 case "properties": 22073 if v != nil { 22074 var swiftVirtualNetworkProperties SwiftVirtualNetworkProperties 22075 err = json.Unmarshal(*v, &swiftVirtualNetworkProperties) 22076 if err != nil { 22077 return err 22078 } 22079 svn.SwiftVirtualNetworkProperties = &swiftVirtualNetworkProperties 22080 } 22081 case "id": 22082 if v != nil { 22083 var ID string 22084 err = json.Unmarshal(*v, &ID) 22085 if err != nil { 22086 return err 22087 } 22088 svn.ID = &ID 22089 } 22090 case "name": 22091 if v != nil { 22092 var name string 22093 err = json.Unmarshal(*v, &name) 22094 if err != nil { 22095 return err 22096 } 22097 svn.Name = &name 22098 } 22099 case "kind": 22100 if v != nil { 22101 var kind string 22102 err = json.Unmarshal(*v, &kind) 22103 if err != nil { 22104 return err 22105 } 22106 svn.Kind = &kind 22107 } 22108 case "type": 22109 if v != nil { 22110 var typeVar string 22111 err = json.Unmarshal(*v, &typeVar) 22112 if err != nil { 22113 return err 22114 } 22115 svn.Type = &typeVar 22116 } 22117 } 22118 } 22119 22120 return nil 22121} 22122 22123// SwiftVirtualNetworkProperties swiftVirtualNetwork resource specific properties 22124type SwiftVirtualNetworkProperties struct { 22125 // SubnetResourceID - The Virtual Network subnet's resource ID. This is the subnet that this Web App will join. This subnet must have a delegation to Microsoft.Web/serverFarms defined first. 22126 SubnetResourceID *string `json:"subnetResourceId,omitempty"` 22127 // SwiftSupported - A flag that specifies if the scale unit this Web App is on supports Swift integration. 22128 SwiftSupported *bool `json:"swiftSupported,omitempty"` 22129} 22130 22131// TldLegalAgreement legal agreement for a top level domain. 22132type TldLegalAgreement struct { 22133 // AgreementKey - Unique identifier for the agreement. 22134 AgreementKey *string `json:"agreementKey,omitempty"` 22135 // Title - Agreement title. 22136 Title *string `json:"title,omitempty"` 22137 // Content - Agreement details. 22138 Content *string `json:"content,omitempty"` 22139 // URL - URL where a copy of the agreement details is hosted. 22140 URL *string `json:"url,omitempty"` 22141} 22142 22143// TldLegalAgreementCollection collection of top-level domain legal agreements. 22144type TldLegalAgreementCollection struct { 22145 autorest.Response `json:"-"` 22146 // Value - Collection of resources. 22147 Value *[]TldLegalAgreement `json:"value,omitempty"` 22148 // NextLink - READ-ONLY; Link to next page of resources. 22149 NextLink *string `json:"nextLink,omitempty"` 22150} 22151 22152// MarshalJSON is the custom marshaler for TldLegalAgreementCollection. 22153func (tlac TldLegalAgreementCollection) MarshalJSON() ([]byte, error) { 22154 objectMap := make(map[string]interface{}) 22155 if tlac.Value != nil { 22156 objectMap["value"] = tlac.Value 22157 } 22158 return json.Marshal(objectMap) 22159} 22160 22161// TldLegalAgreementCollectionIterator provides access to a complete listing of TldLegalAgreement values. 22162type TldLegalAgreementCollectionIterator struct { 22163 i int 22164 page TldLegalAgreementCollectionPage 22165} 22166 22167// NextWithContext advances to the next value. If there was an error making 22168// the request the iterator does not advance and the error is returned. 22169func (iter *TldLegalAgreementCollectionIterator) NextWithContext(ctx context.Context) (err error) { 22170 if tracing.IsEnabled() { 22171 ctx = tracing.StartSpan(ctx, fqdn+"/TldLegalAgreementCollectionIterator.NextWithContext") 22172 defer func() { 22173 sc := -1 22174 if iter.Response().Response.Response != nil { 22175 sc = iter.Response().Response.Response.StatusCode 22176 } 22177 tracing.EndSpan(ctx, sc, err) 22178 }() 22179 } 22180 iter.i++ 22181 if iter.i < len(iter.page.Values()) { 22182 return nil 22183 } 22184 err = iter.page.NextWithContext(ctx) 22185 if err != nil { 22186 iter.i-- 22187 return err 22188 } 22189 iter.i = 0 22190 return nil 22191} 22192 22193// Next advances to the next value. If there was an error making 22194// the request the iterator does not advance and the error is returned. 22195// Deprecated: Use NextWithContext() instead. 22196func (iter *TldLegalAgreementCollectionIterator) Next() error { 22197 return iter.NextWithContext(context.Background()) 22198} 22199 22200// NotDone returns true if the enumeration should be started or is not yet complete. 22201func (iter TldLegalAgreementCollectionIterator) NotDone() bool { 22202 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 22203} 22204 22205// Response returns the raw server response from the last page request. 22206func (iter TldLegalAgreementCollectionIterator) Response() TldLegalAgreementCollection { 22207 return iter.page.Response() 22208} 22209 22210// Value returns the current value or a zero-initialized value if the 22211// iterator has advanced beyond the end of the collection. 22212func (iter TldLegalAgreementCollectionIterator) Value() TldLegalAgreement { 22213 if !iter.page.NotDone() { 22214 return TldLegalAgreement{} 22215 } 22216 return iter.page.Values()[iter.i] 22217} 22218 22219// Creates a new instance of the TldLegalAgreementCollectionIterator type. 22220func NewTldLegalAgreementCollectionIterator(page TldLegalAgreementCollectionPage) TldLegalAgreementCollectionIterator { 22221 return TldLegalAgreementCollectionIterator{page: page} 22222} 22223 22224// IsEmpty returns true if the ListResult contains no values. 22225func (tlac TldLegalAgreementCollection) IsEmpty() bool { 22226 return tlac.Value == nil || len(*tlac.Value) == 0 22227} 22228 22229// hasNextLink returns true if the NextLink is not empty. 22230func (tlac TldLegalAgreementCollection) hasNextLink() bool { 22231 return tlac.NextLink != nil && len(*tlac.NextLink) != 0 22232} 22233 22234// tldLegalAgreementCollectionPreparer prepares a request to retrieve the next set of results. 22235// It returns nil if no more results exist. 22236func (tlac TldLegalAgreementCollection) tldLegalAgreementCollectionPreparer(ctx context.Context) (*http.Request, error) { 22237 if !tlac.hasNextLink() { 22238 return nil, nil 22239 } 22240 return autorest.Prepare((&http.Request{}).WithContext(ctx), 22241 autorest.AsJSON(), 22242 autorest.AsGet(), 22243 autorest.WithBaseURL(to.String(tlac.NextLink))) 22244} 22245 22246// TldLegalAgreementCollectionPage contains a page of TldLegalAgreement values. 22247type TldLegalAgreementCollectionPage struct { 22248 fn func(context.Context, TldLegalAgreementCollection) (TldLegalAgreementCollection, error) 22249 tlac TldLegalAgreementCollection 22250} 22251 22252// NextWithContext advances to the next page of values. If there was an error making 22253// the request the page does not advance and the error is returned. 22254func (page *TldLegalAgreementCollectionPage) NextWithContext(ctx context.Context) (err error) { 22255 if tracing.IsEnabled() { 22256 ctx = tracing.StartSpan(ctx, fqdn+"/TldLegalAgreementCollectionPage.NextWithContext") 22257 defer func() { 22258 sc := -1 22259 if page.Response().Response.Response != nil { 22260 sc = page.Response().Response.Response.StatusCode 22261 } 22262 tracing.EndSpan(ctx, sc, err) 22263 }() 22264 } 22265 for { 22266 next, err := page.fn(ctx, page.tlac) 22267 if err != nil { 22268 return err 22269 } 22270 page.tlac = next 22271 if !next.hasNextLink() || !next.IsEmpty() { 22272 break 22273 } 22274 } 22275 return nil 22276} 22277 22278// Next advances to the next page of values. If there was an error making 22279// the request the page does not advance and the error is returned. 22280// Deprecated: Use NextWithContext() instead. 22281func (page *TldLegalAgreementCollectionPage) Next() error { 22282 return page.NextWithContext(context.Background()) 22283} 22284 22285// NotDone returns true if the page enumeration should be started or is not yet complete. 22286func (page TldLegalAgreementCollectionPage) NotDone() bool { 22287 return !page.tlac.IsEmpty() 22288} 22289 22290// Response returns the raw server response from the last page request. 22291func (page TldLegalAgreementCollectionPage) Response() TldLegalAgreementCollection { 22292 return page.tlac 22293} 22294 22295// Values returns the slice of values for the current page or nil if there are no values. 22296func (page TldLegalAgreementCollectionPage) Values() []TldLegalAgreement { 22297 if page.tlac.IsEmpty() { 22298 return nil 22299 } 22300 return *page.tlac.Value 22301} 22302 22303// Creates a new instance of the TldLegalAgreementCollectionPage type. 22304func NewTldLegalAgreementCollectionPage(cur TldLegalAgreementCollection, getNextPage func(context.Context, TldLegalAgreementCollection) (TldLegalAgreementCollection, error)) TldLegalAgreementCollectionPage { 22305 return TldLegalAgreementCollectionPage{ 22306 fn: getNextPage, 22307 tlac: cur, 22308 } 22309} 22310 22311// TopLevelDomain a top level domain object. 22312type TopLevelDomain struct { 22313 autorest.Response `json:"-"` 22314 // TopLevelDomainProperties - TopLevelDomain resource specific properties 22315 *TopLevelDomainProperties `json:"properties,omitempty"` 22316 // ID - READ-ONLY; Resource Id. 22317 ID *string `json:"id,omitempty"` 22318 // Name - READ-ONLY; Resource Name. 22319 Name *string `json:"name,omitempty"` 22320 // Kind - Kind of resource. 22321 Kind *string `json:"kind,omitempty"` 22322 // Type - READ-ONLY; Resource type. 22323 Type *string `json:"type,omitempty"` 22324} 22325 22326// MarshalJSON is the custom marshaler for TopLevelDomain. 22327func (tld TopLevelDomain) MarshalJSON() ([]byte, error) { 22328 objectMap := make(map[string]interface{}) 22329 if tld.TopLevelDomainProperties != nil { 22330 objectMap["properties"] = tld.TopLevelDomainProperties 22331 } 22332 if tld.Kind != nil { 22333 objectMap["kind"] = tld.Kind 22334 } 22335 return json.Marshal(objectMap) 22336} 22337 22338// UnmarshalJSON is the custom unmarshaler for TopLevelDomain struct. 22339func (tld *TopLevelDomain) UnmarshalJSON(body []byte) error { 22340 var m map[string]*json.RawMessage 22341 err := json.Unmarshal(body, &m) 22342 if err != nil { 22343 return err 22344 } 22345 for k, v := range m { 22346 switch k { 22347 case "properties": 22348 if v != nil { 22349 var topLevelDomainProperties TopLevelDomainProperties 22350 err = json.Unmarshal(*v, &topLevelDomainProperties) 22351 if err != nil { 22352 return err 22353 } 22354 tld.TopLevelDomainProperties = &topLevelDomainProperties 22355 } 22356 case "id": 22357 if v != nil { 22358 var ID string 22359 err = json.Unmarshal(*v, &ID) 22360 if err != nil { 22361 return err 22362 } 22363 tld.ID = &ID 22364 } 22365 case "name": 22366 if v != nil { 22367 var name string 22368 err = json.Unmarshal(*v, &name) 22369 if err != nil { 22370 return err 22371 } 22372 tld.Name = &name 22373 } 22374 case "kind": 22375 if v != nil { 22376 var kind string 22377 err = json.Unmarshal(*v, &kind) 22378 if err != nil { 22379 return err 22380 } 22381 tld.Kind = &kind 22382 } 22383 case "type": 22384 if v != nil { 22385 var typeVar string 22386 err = json.Unmarshal(*v, &typeVar) 22387 if err != nil { 22388 return err 22389 } 22390 tld.Type = &typeVar 22391 } 22392 } 22393 } 22394 22395 return nil 22396} 22397 22398// TopLevelDomainAgreementOption options for retrieving the list of top level domain legal agreements. 22399type TopLevelDomainAgreementOption struct { 22400 // IncludePrivacy - If <code>true</code>, then the list of agreements will include agreements for domain privacy as well; otherwise, <code>false</code>. 22401 IncludePrivacy *bool `json:"includePrivacy,omitempty"` 22402 // ForTransfer - If <code>true</code>, then the list of agreements will include agreements for domain transfer as well; otherwise, <code>false</code>. 22403 ForTransfer *bool `json:"forTransfer,omitempty"` 22404} 22405 22406// TopLevelDomainCollection collection of Top-level domains. 22407type TopLevelDomainCollection struct { 22408 autorest.Response `json:"-"` 22409 // Value - Collection of resources. 22410 Value *[]TopLevelDomain `json:"value,omitempty"` 22411 // NextLink - READ-ONLY; Link to next page of resources. 22412 NextLink *string `json:"nextLink,omitempty"` 22413} 22414 22415// MarshalJSON is the custom marshaler for TopLevelDomainCollection. 22416func (tldc TopLevelDomainCollection) MarshalJSON() ([]byte, error) { 22417 objectMap := make(map[string]interface{}) 22418 if tldc.Value != nil { 22419 objectMap["value"] = tldc.Value 22420 } 22421 return json.Marshal(objectMap) 22422} 22423 22424// TopLevelDomainCollectionIterator provides access to a complete listing of TopLevelDomain values. 22425type TopLevelDomainCollectionIterator struct { 22426 i int 22427 page TopLevelDomainCollectionPage 22428} 22429 22430// NextWithContext advances to the next value. If there was an error making 22431// the request the iterator does not advance and the error is returned. 22432func (iter *TopLevelDomainCollectionIterator) NextWithContext(ctx context.Context) (err error) { 22433 if tracing.IsEnabled() { 22434 ctx = tracing.StartSpan(ctx, fqdn+"/TopLevelDomainCollectionIterator.NextWithContext") 22435 defer func() { 22436 sc := -1 22437 if iter.Response().Response.Response != nil { 22438 sc = iter.Response().Response.Response.StatusCode 22439 } 22440 tracing.EndSpan(ctx, sc, err) 22441 }() 22442 } 22443 iter.i++ 22444 if iter.i < len(iter.page.Values()) { 22445 return nil 22446 } 22447 err = iter.page.NextWithContext(ctx) 22448 if err != nil { 22449 iter.i-- 22450 return err 22451 } 22452 iter.i = 0 22453 return nil 22454} 22455 22456// Next advances to the next value. If there was an error making 22457// the request the iterator does not advance and the error is returned. 22458// Deprecated: Use NextWithContext() instead. 22459func (iter *TopLevelDomainCollectionIterator) Next() error { 22460 return iter.NextWithContext(context.Background()) 22461} 22462 22463// NotDone returns true if the enumeration should be started or is not yet complete. 22464func (iter TopLevelDomainCollectionIterator) NotDone() bool { 22465 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 22466} 22467 22468// Response returns the raw server response from the last page request. 22469func (iter TopLevelDomainCollectionIterator) Response() TopLevelDomainCollection { 22470 return iter.page.Response() 22471} 22472 22473// Value returns the current value or a zero-initialized value if the 22474// iterator has advanced beyond the end of the collection. 22475func (iter TopLevelDomainCollectionIterator) Value() TopLevelDomain { 22476 if !iter.page.NotDone() { 22477 return TopLevelDomain{} 22478 } 22479 return iter.page.Values()[iter.i] 22480} 22481 22482// Creates a new instance of the TopLevelDomainCollectionIterator type. 22483func NewTopLevelDomainCollectionIterator(page TopLevelDomainCollectionPage) TopLevelDomainCollectionIterator { 22484 return TopLevelDomainCollectionIterator{page: page} 22485} 22486 22487// IsEmpty returns true if the ListResult contains no values. 22488func (tldc TopLevelDomainCollection) IsEmpty() bool { 22489 return tldc.Value == nil || len(*tldc.Value) == 0 22490} 22491 22492// hasNextLink returns true if the NextLink is not empty. 22493func (tldc TopLevelDomainCollection) hasNextLink() bool { 22494 return tldc.NextLink != nil && len(*tldc.NextLink) != 0 22495} 22496 22497// topLevelDomainCollectionPreparer prepares a request to retrieve the next set of results. 22498// It returns nil if no more results exist. 22499func (tldc TopLevelDomainCollection) topLevelDomainCollectionPreparer(ctx context.Context) (*http.Request, error) { 22500 if !tldc.hasNextLink() { 22501 return nil, nil 22502 } 22503 return autorest.Prepare((&http.Request{}).WithContext(ctx), 22504 autorest.AsJSON(), 22505 autorest.AsGet(), 22506 autorest.WithBaseURL(to.String(tldc.NextLink))) 22507} 22508 22509// TopLevelDomainCollectionPage contains a page of TopLevelDomain values. 22510type TopLevelDomainCollectionPage struct { 22511 fn func(context.Context, TopLevelDomainCollection) (TopLevelDomainCollection, error) 22512 tldc TopLevelDomainCollection 22513} 22514 22515// NextWithContext advances to the next page of values. If there was an error making 22516// the request the page does not advance and the error is returned. 22517func (page *TopLevelDomainCollectionPage) NextWithContext(ctx context.Context) (err error) { 22518 if tracing.IsEnabled() { 22519 ctx = tracing.StartSpan(ctx, fqdn+"/TopLevelDomainCollectionPage.NextWithContext") 22520 defer func() { 22521 sc := -1 22522 if page.Response().Response.Response != nil { 22523 sc = page.Response().Response.Response.StatusCode 22524 } 22525 tracing.EndSpan(ctx, sc, err) 22526 }() 22527 } 22528 for { 22529 next, err := page.fn(ctx, page.tldc) 22530 if err != nil { 22531 return err 22532 } 22533 page.tldc = next 22534 if !next.hasNextLink() || !next.IsEmpty() { 22535 break 22536 } 22537 } 22538 return nil 22539} 22540 22541// Next advances to the next page of values. If there was an error making 22542// the request the page does not advance and the error is returned. 22543// Deprecated: Use NextWithContext() instead. 22544func (page *TopLevelDomainCollectionPage) Next() error { 22545 return page.NextWithContext(context.Background()) 22546} 22547 22548// NotDone returns true if the page enumeration should be started or is not yet complete. 22549func (page TopLevelDomainCollectionPage) NotDone() bool { 22550 return !page.tldc.IsEmpty() 22551} 22552 22553// Response returns the raw server response from the last page request. 22554func (page TopLevelDomainCollectionPage) Response() TopLevelDomainCollection { 22555 return page.tldc 22556} 22557 22558// Values returns the slice of values for the current page or nil if there are no values. 22559func (page TopLevelDomainCollectionPage) Values() []TopLevelDomain { 22560 if page.tldc.IsEmpty() { 22561 return nil 22562 } 22563 return *page.tldc.Value 22564} 22565 22566// Creates a new instance of the TopLevelDomainCollectionPage type. 22567func NewTopLevelDomainCollectionPage(cur TopLevelDomainCollection, getNextPage func(context.Context, TopLevelDomainCollection) (TopLevelDomainCollection, error)) TopLevelDomainCollectionPage { 22568 return TopLevelDomainCollectionPage{ 22569 fn: getNextPage, 22570 tldc: cur, 22571 } 22572} 22573 22574// TopLevelDomainProperties topLevelDomain resource specific properties 22575type TopLevelDomainProperties struct { 22576 // Privacy - If <code>true</code>, then the top level domain supports domain privacy; otherwise, <code>false</code>. 22577 Privacy *bool `json:"privacy,omitempty"` 22578} 22579 22580// TriggeredJobHistory triggered Web Job History. List of Triggered Web Job Run Information elements. 22581type TriggeredJobHistory struct { 22582 autorest.Response `json:"-"` 22583 // TriggeredJobHistoryProperties - TriggeredJobHistory resource specific properties 22584 *TriggeredJobHistoryProperties `json:"properties,omitempty"` 22585 // ID - READ-ONLY; Resource Id. 22586 ID *string `json:"id,omitempty"` 22587 // Name - READ-ONLY; Resource Name. 22588 Name *string `json:"name,omitempty"` 22589 // Kind - Kind of resource. 22590 Kind *string `json:"kind,omitempty"` 22591 // Type - READ-ONLY; Resource type. 22592 Type *string `json:"type,omitempty"` 22593} 22594 22595// MarshalJSON is the custom marshaler for TriggeredJobHistory. 22596func (tjh TriggeredJobHistory) MarshalJSON() ([]byte, error) { 22597 objectMap := make(map[string]interface{}) 22598 if tjh.TriggeredJobHistoryProperties != nil { 22599 objectMap["properties"] = tjh.TriggeredJobHistoryProperties 22600 } 22601 if tjh.Kind != nil { 22602 objectMap["kind"] = tjh.Kind 22603 } 22604 return json.Marshal(objectMap) 22605} 22606 22607// UnmarshalJSON is the custom unmarshaler for TriggeredJobHistory struct. 22608func (tjh *TriggeredJobHistory) UnmarshalJSON(body []byte) error { 22609 var m map[string]*json.RawMessage 22610 err := json.Unmarshal(body, &m) 22611 if err != nil { 22612 return err 22613 } 22614 for k, v := range m { 22615 switch k { 22616 case "properties": 22617 if v != nil { 22618 var triggeredJobHistoryProperties TriggeredJobHistoryProperties 22619 err = json.Unmarshal(*v, &triggeredJobHistoryProperties) 22620 if err != nil { 22621 return err 22622 } 22623 tjh.TriggeredJobHistoryProperties = &triggeredJobHistoryProperties 22624 } 22625 case "id": 22626 if v != nil { 22627 var ID string 22628 err = json.Unmarshal(*v, &ID) 22629 if err != nil { 22630 return err 22631 } 22632 tjh.ID = &ID 22633 } 22634 case "name": 22635 if v != nil { 22636 var name string 22637 err = json.Unmarshal(*v, &name) 22638 if err != nil { 22639 return err 22640 } 22641 tjh.Name = &name 22642 } 22643 case "kind": 22644 if v != nil { 22645 var kind string 22646 err = json.Unmarshal(*v, &kind) 22647 if err != nil { 22648 return err 22649 } 22650 tjh.Kind = &kind 22651 } 22652 case "type": 22653 if v != nil { 22654 var typeVar string 22655 err = json.Unmarshal(*v, &typeVar) 22656 if err != nil { 22657 return err 22658 } 22659 tjh.Type = &typeVar 22660 } 22661 } 22662 } 22663 22664 return nil 22665} 22666 22667// TriggeredJobHistoryCollection collection of Kudu continuous web job information elements. 22668type TriggeredJobHistoryCollection struct { 22669 autorest.Response `json:"-"` 22670 // Value - Collection of resources. 22671 Value *[]TriggeredJobHistory `json:"value,omitempty"` 22672 // NextLink - READ-ONLY; Link to next page of resources. 22673 NextLink *string `json:"nextLink,omitempty"` 22674} 22675 22676// MarshalJSON is the custom marshaler for TriggeredJobHistoryCollection. 22677func (tjhc TriggeredJobHistoryCollection) MarshalJSON() ([]byte, error) { 22678 objectMap := make(map[string]interface{}) 22679 if tjhc.Value != nil { 22680 objectMap["value"] = tjhc.Value 22681 } 22682 return json.Marshal(objectMap) 22683} 22684 22685// TriggeredJobHistoryCollectionIterator provides access to a complete listing of TriggeredJobHistory 22686// values. 22687type TriggeredJobHistoryCollectionIterator struct { 22688 i int 22689 page TriggeredJobHistoryCollectionPage 22690} 22691 22692// NextWithContext advances to the next value. If there was an error making 22693// the request the iterator does not advance and the error is returned. 22694func (iter *TriggeredJobHistoryCollectionIterator) NextWithContext(ctx context.Context) (err error) { 22695 if tracing.IsEnabled() { 22696 ctx = tracing.StartSpan(ctx, fqdn+"/TriggeredJobHistoryCollectionIterator.NextWithContext") 22697 defer func() { 22698 sc := -1 22699 if iter.Response().Response.Response != nil { 22700 sc = iter.Response().Response.Response.StatusCode 22701 } 22702 tracing.EndSpan(ctx, sc, err) 22703 }() 22704 } 22705 iter.i++ 22706 if iter.i < len(iter.page.Values()) { 22707 return nil 22708 } 22709 err = iter.page.NextWithContext(ctx) 22710 if err != nil { 22711 iter.i-- 22712 return err 22713 } 22714 iter.i = 0 22715 return nil 22716} 22717 22718// Next advances to the next value. If there was an error making 22719// the request the iterator does not advance and the error is returned. 22720// Deprecated: Use NextWithContext() instead. 22721func (iter *TriggeredJobHistoryCollectionIterator) Next() error { 22722 return iter.NextWithContext(context.Background()) 22723} 22724 22725// NotDone returns true if the enumeration should be started or is not yet complete. 22726func (iter TriggeredJobHistoryCollectionIterator) NotDone() bool { 22727 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 22728} 22729 22730// Response returns the raw server response from the last page request. 22731func (iter TriggeredJobHistoryCollectionIterator) Response() TriggeredJobHistoryCollection { 22732 return iter.page.Response() 22733} 22734 22735// Value returns the current value or a zero-initialized value if the 22736// iterator has advanced beyond the end of the collection. 22737func (iter TriggeredJobHistoryCollectionIterator) Value() TriggeredJobHistory { 22738 if !iter.page.NotDone() { 22739 return TriggeredJobHistory{} 22740 } 22741 return iter.page.Values()[iter.i] 22742} 22743 22744// Creates a new instance of the TriggeredJobHistoryCollectionIterator type. 22745func NewTriggeredJobHistoryCollectionIterator(page TriggeredJobHistoryCollectionPage) TriggeredJobHistoryCollectionIterator { 22746 return TriggeredJobHistoryCollectionIterator{page: page} 22747} 22748 22749// IsEmpty returns true if the ListResult contains no values. 22750func (tjhc TriggeredJobHistoryCollection) IsEmpty() bool { 22751 return tjhc.Value == nil || len(*tjhc.Value) == 0 22752} 22753 22754// hasNextLink returns true if the NextLink is not empty. 22755func (tjhc TriggeredJobHistoryCollection) hasNextLink() bool { 22756 return tjhc.NextLink != nil && len(*tjhc.NextLink) != 0 22757} 22758 22759// triggeredJobHistoryCollectionPreparer prepares a request to retrieve the next set of results. 22760// It returns nil if no more results exist. 22761func (tjhc TriggeredJobHistoryCollection) triggeredJobHistoryCollectionPreparer(ctx context.Context) (*http.Request, error) { 22762 if !tjhc.hasNextLink() { 22763 return nil, nil 22764 } 22765 return autorest.Prepare((&http.Request{}).WithContext(ctx), 22766 autorest.AsJSON(), 22767 autorest.AsGet(), 22768 autorest.WithBaseURL(to.String(tjhc.NextLink))) 22769} 22770 22771// TriggeredJobHistoryCollectionPage contains a page of TriggeredJobHistory values. 22772type TriggeredJobHistoryCollectionPage struct { 22773 fn func(context.Context, TriggeredJobHistoryCollection) (TriggeredJobHistoryCollection, error) 22774 tjhc TriggeredJobHistoryCollection 22775} 22776 22777// NextWithContext advances to the next page of values. If there was an error making 22778// the request the page does not advance and the error is returned. 22779func (page *TriggeredJobHistoryCollectionPage) NextWithContext(ctx context.Context) (err error) { 22780 if tracing.IsEnabled() { 22781 ctx = tracing.StartSpan(ctx, fqdn+"/TriggeredJobHistoryCollectionPage.NextWithContext") 22782 defer func() { 22783 sc := -1 22784 if page.Response().Response.Response != nil { 22785 sc = page.Response().Response.Response.StatusCode 22786 } 22787 tracing.EndSpan(ctx, sc, err) 22788 }() 22789 } 22790 for { 22791 next, err := page.fn(ctx, page.tjhc) 22792 if err != nil { 22793 return err 22794 } 22795 page.tjhc = next 22796 if !next.hasNextLink() || !next.IsEmpty() { 22797 break 22798 } 22799 } 22800 return nil 22801} 22802 22803// Next advances to the next page of values. If there was an error making 22804// the request the page does not advance and the error is returned. 22805// Deprecated: Use NextWithContext() instead. 22806func (page *TriggeredJobHistoryCollectionPage) Next() error { 22807 return page.NextWithContext(context.Background()) 22808} 22809 22810// NotDone returns true if the page enumeration should be started or is not yet complete. 22811func (page TriggeredJobHistoryCollectionPage) NotDone() bool { 22812 return !page.tjhc.IsEmpty() 22813} 22814 22815// Response returns the raw server response from the last page request. 22816func (page TriggeredJobHistoryCollectionPage) Response() TriggeredJobHistoryCollection { 22817 return page.tjhc 22818} 22819 22820// Values returns the slice of values for the current page or nil if there are no values. 22821func (page TriggeredJobHistoryCollectionPage) Values() []TriggeredJobHistory { 22822 if page.tjhc.IsEmpty() { 22823 return nil 22824 } 22825 return *page.tjhc.Value 22826} 22827 22828// Creates a new instance of the TriggeredJobHistoryCollectionPage type. 22829func NewTriggeredJobHistoryCollectionPage(cur TriggeredJobHistoryCollection, getNextPage func(context.Context, TriggeredJobHistoryCollection) (TriggeredJobHistoryCollection, error)) TriggeredJobHistoryCollectionPage { 22830 return TriggeredJobHistoryCollectionPage{ 22831 fn: getNextPage, 22832 tjhc: cur, 22833 } 22834} 22835 22836// TriggeredJobHistoryProperties triggeredJobHistory resource specific properties 22837type TriggeredJobHistoryProperties struct { 22838 // Runs - List of triggered web job runs. 22839 Runs *[]TriggeredJobRun `json:"runs,omitempty"` 22840} 22841 22842// TriggeredJobRun triggered Web Job Run Information. 22843type TriggeredJobRun struct { 22844 // TriggeredJobRunProperties - TriggeredJobRun resource specific properties 22845 *TriggeredJobRunProperties `json:"properties,omitempty"` 22846 // ID - READ-ONLY; Resource Id. 22847 ID *string `json:"id,omitempty"` 22848 // Name - READ-ONLY; Resource Name. 22849 Name *string `json:"name,omitempty"` 22850 // Kind - Kind of resource. 22851 Kind *string `json:"kind,omitempty"` 22852 // Type - READ-ONLY; Resource type. 22853 Type *string `json:"type,omitempty"` 22854} 22855 22856// MarshalJSON is the custom marshaler for TriggeredJobRun. 22857func (tjr TriggeredJobRun) MarshalJSON() ([]byte, error) { 22858 objectMap := make(map[string]interface{}) 22859 if tjr.TriggeredJobRunProperties != nil { 22860 objectMap["properties"] = tjr.TriggeredJobRunProperties 22861 } 22862 if tjr.Kind != nil { 22863 objectMap["kind"] = tjr.Kind 22864 } 22865 return json.Marshal(objectMap) 22866} 22867 22868// UnmarshalJSON is the custom unmarshaler for TriggeredJobRun struct. 22869func (tjr *TriggeredJobRun) UnmarshalJSON(body []byte) error { 22870 var m map[string]*json.RawMessage 22871 err := json.Unmarshal(body, &m) 22872 if err != nil { 22873 return err 22874 } 22875 for k, v := range m { 22876 switch k { 22877 case "properties": 22878 if v != nil { 22879 var triggeredJobRunProperties TriggeredJobRunProperties 22880 err = json.Unmarshal(*v, &triggeredJobRunProperties) 22881 if err != nil { 22882 return err 22883 } 22884 tjr.TriggeredJobRunProperties = &triggeredJobRunProperties 22885 } 22886 case "id": 22887 if v != nil { 22888 var ID string 22889 err = json.Unmarshal(*v, &ID) 22890 if err != nil { 22891 return err 22892 } 22893 tjr.ID = &ID 22894 } 22895 case "name": 22896 if v != nil { 22897 var name string 22898 err = json.Unmarshal(*v, &name) 22899 if err != nil { 22900 return err 22901 } 22902 tjr.Name = &name 22903 } 22904 case "kind": 22905 if v != nil { 22906 var kind string 22907 err = json.Unmarshal(*v, &kind) 22908 if err != nil { 22909 return err 22910 } 22911 tjr.Kind = &kind 22912 } 22913 case "type": 22914 if v != nil { 22915 var typeVar string 22916 err = json.Unmarshal(*v, &typeVar) 22917 if err != nil { 22918 return err 22919 } 22920 tjr.Type = &typeVar 22921 } 22922 } 22923 } 22924 22925 return nil 22926} 22927 22928// TriggeredJobRunProperties triggeredJobRun resource specific properties 22929type TriggeredJobRunProperties struct { 22930 // WebJobID - Job ID. 22931 WebJobID *string `json:"web_job_id,omitempty"` 22932 // WebJobName - Job name. 22933 WebJobName *string `json:"web_job_name,omitempty"` 22934 // Status - Job status. Possible values include: 'TriggeredWebJobStatusSuccess', 'TriggeredWebJobStatusFailed', 'TriggeredWebJobStatusError' 22935 Status TriggeredWebJobStatus `json:"status,omitempty"` 22936 // StartTime - Start time. 22937 StartTime *date.Time `json:"start_time,omitempty"` 22938 // EndTime - End time. 22939 EndTime *date.Time `json:"end_time,omitempty"` 22940 // Duration - Job duration. 22941 Duration *string `json:"duration,omitempty"` 22942 // OutputURL - Output URL. 22943 OutputURL *string `json:"output_url,omitempty"` 22944 // ErrorURL - Error URL. 22945 ErrorURL *string `json:"error_url,omitempty"` 22946 // URL - Job URL. 22947 URL *string `json:"url,omitempty"` 22948 // JobName - Job name. 22949 JobName *string `json:"job_name,omitempty"` 22950 // Trigger - Job trigger. 22951 Trigger *string `json:"trigger,omitempty"` 22952} 22953 22954// TriggeredWebJob triggered Web Job Information. 22955type TriggeredWebJob struct { 22956 autorest.Response `json:"-"` 22957 // TriggeredWebJobProperties - TriggeredWebJob resource specific properties 22958 *TriggeredWebJobProperties `json:"properties,omitempty"` 22959 // ID - READ-ONLY; Resource Id. 22960 ID *string `json:"id,omitempty"` 22961 // Name - READ-ONLY; Resource Name. 22962 Name *string `json:"name,omitempty"` 22963 // Kind - Kind of resource. 22964 Kind *string `json:"kind,omitempty"` 22965 // Type - READ-ONLY; Resource type. 22966 Type *string `json:"type,omitempty"` 22967} 22968 22969// MarshalJSON is the custom marshaler for TriggeredWebJob. 22970func (twj TriggeredWebJob) MarshalJSON() ([]byte, error) { 22971 objectMap := make(map[string]interface{}) 22972 if twj.TriggeredWebJobProperties != nil { 22973 objectMap["properties"] = twj.TriggeredWebJobProperties 22974 } 22975 if twj.Kind != nil { 22976 objectMap["kind"] = twj.Kind 22977 } 22978 return json.Marshal(objectMap) 22979} 22980 22981// UnmarshalJSON is the custom unmarshaler for TriggeredWebJob struct. 22982func (twj *TriggeredWebJob) UnmarshalJSON(body []byte) error { 22983 var m map[string]*json.RawMessage 22984 err := json.Unmarshal(body, &m) 22985 if err != nil { 22986 return err 22987 } 22988 for k, v := range m { 22989 switch k { 22990 case "properties": 22991 if v != nil { 22992 var triggeredWebJobProperties TriggeredWebJobProperties 22993 err = json.Unmarshal(*v, &triggeredWebJobProperties) 22994 if err != nil { 22995 return err 22996 } 22997 twj.TriggeredWebJobProperties = &triggeredWebJobProperties 22998 } 22999 case "id": 23000 if v != nil { 23001 var ID string 23002 err = json.Unmarshal(*v, &ID) 23003 if err != nil { 23004 return err 23005 } 23006 twj.ID = &ID 23007 } 23008 case "name": 23009 if v != nil { 23010 var name string 23011 err = json.Unmarshal(*v, &name) 23012 if err != nil { 23013 return err 23014 } 23015 twj.Name = &name 23016 } 23017 case "kind": 23018 if v != nil { 23019 var kind string 23020 err = json.Unmarshal(*v, &kind) 23021 if err != nil { 23022 return err 23023 } 23024 twj.Kind = &kind 23025 } 23026 case "type": 23027 if v != nil { 23028 var typeVar string 23029 err = json.Unmarshal(*v, &typeVar) 23030 if err != nil { 23031 return err 23032 } 23033 twj.Type = &typeVar 23034 } 23035 } 23036 } 23037 23038 return nil 23039} 23040 23041// TriggeredWebJobCollection collection of Kudu continuous web job information elements. 23042type TriggeredWebJobCollection struct { 23043 autorest.Response `json:"-"` 23044 // Value - Collection of resources. 23045 Value *[]TriggeredWebJob `json:"value,omitempty"` 23046 // NextLink - READ-ONLY; Link to next page of resources. 23047 NextLink *string `json:"nextLink,omitempty"` 23048} 23049 23050// MarshalJSON is the custom marshaler for TriggeredWebJobCollection. 23051func (twjc TriggeredWebJobCollection) MarshalJSON() ([]byte, error) { 23052 objectMap := make(map[string]interface{}) 23053 if twjc.Value != nil { 23054 objectMap["value"] = twjc.Value 23055 } 23056 return json.Marshal(objectMap) 23057} 23058 23059// TriggeredWebJobCollectionIterator provides access to a complete listing of TriggeredWebJob values. 23060type TriggeredWebJobCollectionIterator struct { 23061 i int 23062 page TriggeredWebJobCollectionPage 23063} 23064 23065// NextWithContext advances to the next value. If there was an error making 23066// the request the iterator does not advance and the error is returned. 23067func (iter *TriggeredWebJobCollectionIterator) NextWithContext(ctx context.Context) (err error) { 23068 if tracing.IsEnabled() { 23069 ctx = tracing.StartSpan(ctx, fqdn+"/TriggeredWebJobCollectionIterator.NextWithContext") 23070 defer func() { 23071 sc := -1 23072 if iter.Response().Response.Response != nil { 23073 sc = iter.Response().Response.Response.StatusCode 23074 } 23075 tracing.EndSpan(ctx, sc, err) 23076 }() 23077 } 23078 iter.i++ 23079 if iter.i < len(iter.page.Values()) { 23080 return nil 23081 } 23082 err = iter.page.NextWithContext(ctx) 23083 if err != nil { 23084 iter.i-- 23085 return err 23086 } 23087 iter.i = 0 23088 return nil 23089} 23090 23091// Next advances to the next value. If there was an error making 23092// the request the iterator does not advance and the error is returned. 23093// Deprecated: Use NextWithContext() instead. 23094func (iter *TriggeredWebJobCollectionIterator) Next() error { 23095 return iter.NextWithContext(context.Background()) 23096} 23097 23098// NotDone returns true if the enumeration should be started or is not yet complete. 23099func (iter TriggeredWebJobCollectionIterator) NotDone() bool { 23100 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 23101} 23102 23103// Response returns the raw server response from the last page request. 23104func (iter TriggeredWebJobCollectionIterator) Response() TriggeredWebJobCollection { 23105 return iter.page.Response() 23106} 23107 23108// Value returns the current value or a zero-initialized value if the 23109// iterator has advanced beyond the end of the collection. 23110func (iter TriggeredWebJobCollectionIterator) Value() TriggeredWebJob { 23111 if !iter.page.NotDone() { 23112 return TriggeredWebJob{} 23113 } 23114 return iter.page.Values()[iter.i] 23115} 23116 23117// Creates a new instance of the TriggeredWebJobCollectionIterator type. 23118func NewTriggeredWebJobCollectionIterator(page TriggeredWebJobCollectionPage) TriggeredWebJobCollectionIterator { 23119 return TriggeredWebJobCollectionIterator{page: page} 23120} 23121 23122// IsEmpty returns true if the ListResult contains no values. 23123func (twjc TriggeredWebJobCollection) IsEmpty() bool { 23124 return twjc.Value == nil || len(*twjc.Value) == 0 23125} 23126 23127// hasNextLink returns true if the NextLink is not empty. 23128func (twjc TriggeredWebJobCollection) hasNextLink() bool { 23129 return twjc.NextLink != nil && len(*twjc.NextLink) != 0 23130} 23131 23132// triggeredWebJobCollectionPreparer prepares a request to retrieve the next set of results. 23133// It returns nil if no more results exist. 23134func (twjc TriggeredWebJobCollection) triggeredWebJobCollectionPreparer(ctx context.Context) (*http.Request, error) { 23135 if !twjc.hasNextLink() { 23136 return nil, nil 23137 } 23138 return autorest.Prepare((&http.Request{}).WithContext(ctx), 23139 autorest.AsJSON(), 23140 autorest.AsGet(), 23141 autorest.WithBaseURL(to.String(twjc.NextLink))) 23142} 23143 23144// TriggeredWebJobCollectionPage contains a page of TriggeredWebJob values. 23145type TriggeredWebJobCollectionPage struct { 23146 fn func(context.Context, TriggeredWebJobCollection) (TriggeredWebJobCollection, error) 23147 twjc TriggeredWebJobCollection 23148} 23149 23150// NextWithContext advances to the next page of values. If there was an error making 23151// the request the page does not advance and the error is returned. 23152func (page *TriggeredWebJobCollectionPage) NextWithContext(ctx context.Context) (err error) { 23153 if tracing.IsEnabled() { 23154 ctx = tracing.StartSpan(ctx, fqdn+"/TriggeredWebJobCollectionPage.NextWithContext") 23155 defer func() { 23156 sc := -1 23157 if page.Response().Response.Response != nil { 23158 sc = page.Response().Response.Response.StatusCode 23159 } 23160 tracing.EndSpan(ctx, sc, err) 23161 }() 23162 } 23163 for { 23164 next, err := page.fn(ctx, page.twjc) 23165 if err != nil { 23166 return err 23167 } 23168 page.twjc = next 23169 if !next.hasNextLink() || !next.IsEmpty() { 23170 break 23171 } 23172 } 23173 return nil 23174} 23175 23176// Next advances to the next page of values. If there was an error making 23177// the request the page does not advance and the error is returned. 23178// Deprecated: Use NextWithContext() instead. 23179func (page *TriggeredWebJobCollectionPage) Next() error { 23180 return page.NextWithContext(context.Background()) 23181} 23182 23183// NotDone returns true if the page enumeration should be started or is not yet complete. 23184func (page TriggeredWebJobCollectionPage) NotDone() bool { 23185 return !page.twjc.IsEmpty() 23186} 23187 23188// Response returns the raw server response from the last page request. 23189func (page TriggeredWebJobCollectionPage) Response() TriggeredWebJobCollection { 23190 return page.twjc 23191} 23192 23193// Values returns the slice of values for the current page or nil if there are no values. 23194func (page TriggeredWebJobCollectionPage) Values() []TriggeredWebJob { 23195 if page.twjc.IsEmpty() { 23196 return nil 23197 } 23198 return *page.twjc.Value 23199} 23200 23201// Creates a new instance of the TriggeredWebJobCollectionPage type. 23202func NewTriggeredWebJobCollectionPage(cur TriggeredWebJobCollection, getNextPage func(context.Context, TriggeredWebJobCollection) (TriggeredWebJobCollection, error)) TriggeredWebJobCollectionPage { 23203 return TriggeredWebJobCollectionPage{ 23204 fn: getNextPage, 23205 twjc: cur, 23206 } 23207} 23208 23209// TriggeredWebJobProperties triggeredWebJob resource specific properties 23210type TriggeredWebJobProperties struct { 23211 // LatestRun - Latest job run information. 23212 LatestRun *TriggeredJobRun `json:"latest_run,omitempty"` 23213 // HistoryURL - History URL. 23214 HistoryURL *string `json:"history_url,omitempty"` 23215 // SchedulerLogsURL - Scheduler Logs URL. 23216 SchedulerLogsURL *string `json:"scheduler_logs_url,omitempty"` 23217 // RunCommand - Run command. 23218 RunCommand *string `json:"run_command,omitempty"` 23219 // URL - Job URL. 23220 URL *string `json:"url,omitempty"` 23221 // ExtraInfoURL - Extra Info URL. 23222 ExtraInfoURL *string `json:"extra_info_url,omitempty"` 23223 // WebJobType - Job type. Possible values include: 'Continuous', 'Triggered' 23224 WebJobType JobType `json:"web_job_type,omitempty"` 23225 // Error - Error information. 23226 Error *string `json:"error,omitempty"` 23227 // UsingSdk - Using SDK? 23228 UsingSdk *bool `json:"using_sdk,omitempty"` 23229 // Settings - Job settings. 23230 Settings map[string]interface{} `json:"settings"` 23231} 23232 23233// MarshalJSON is the custom marshaler for TriggeredWebJobProperties. 23234func (twj TriggeredWebJobProperties) MarshalJSON() ([]byte, error) { 23235 objectMap := make(map[string]interface{}) 23236 if twj.LatestRun != nil { 23237 objectMap["latest_run"] = twj.LatestRun 23238 } 23239 if twj.HistoryURL != nil { 23240 objectMap["history_url"] = twj.HistoryURL 23241 } 23242 if twj.SchedulerLogsURL != nil { 23243 objectMap["scheduler_logs_url"] = twj.SchedulerLogsURL 23244 } 23245 if twj.RunCommand != nil { 23246 objectMap["run_command"] = twj.RunCommand 23247 } 23248 if twj.URL != nil { 23249 objectMap["url"] = twj.URL 23250 } 23251 if twj.ExtraInfoURL != nil { 23252 objectMap["extra_info_url"] = twj.ExtraInfoURL 23253 } 23254 if twj.WebJobType != "" { 23255 objectMap["web_job_type"] = twj.WebJobType 23256 } 23257 if twj.Error != nil { 23258 objectMap["error"] = twj.Error 23259 } 23260 if twj.UsingSdk != nil { 23261 objectMap["using_sdk"] = twj.UsingSdk 23262 } 23263 if twj.Settings != nil { 23264 objectMap["settings"] = twj.Settings 23265 } 23266 return json.Marshal(objectMap) 23267} 23268 23269// Usage usage of the quota resource. 23270type Usage struct { 23271 // UsageProperties - Usage resource specific properties 23272 *UsageProperties `json:"properties,omitempty"` 23273 // ID - READ-ONLY; Resource Id. 23274 ID *string `json:"id,omitempty"` 23275 // Name - READ-ONLY; Resource Name. 23276 Name *string `json:"name,omitempty"` 23277 // Kind - Kind of resource. 23278 Kind *string `json:"kind,omitempty"` 23279 // Type - READ-ONLY; Resource type. 23280 Type *string `json:"type,omitempty"` 23281} 23282 23283// MarshalJSON is the custom marshaler for Usage. 23284func (u Usage) MarshalJSON() ([]byte, error) { 23285 objectMap := make(map[string]interface{}) 23286 if u.UsageProperties != nil { 23287 objectMap["properties"] = u.UsageProperties 23288 } 23289 if u.Kind != nil { 23290 objectMap["kind"] = u.Kind 23291 } 23292 return json.Marshal(objectMap) 23293} 23294 23295// UnmarshalJSON is the custom unmarshaler for Usage struct. 23296func (u *Usage) UnmarshalJSON(body []byte) error { 23297 var m map[string]*json.RawMessage 23298 err := json.Unmarshal(body, &m) 23299 if err != nil { 23300 return err 23301 } 23302 for k, v := range m { 23303 switch k { 23304 case "properties": 23305 if v != nil { 23306 var usageProperties UsageProperties 23307 err = json.Unmarshal(*v, &usageProperties) 23308 if err != nil { 23309 return err 23310 } 23311 u.UsageProperties = &usageProperties 23312 } 23313 case "id": 23314 if v != nil { 23315 var ID string 23316 err = json.Unmarshal(*v, &ID) 23317 if err != nil { 23318 return err 23319 } 23320 u.ID = &ID 23321 } 23322 case "name": 23323 if v != nil { 23324 var name string 23325 err = json.Unmarshal(*v, &name) 23326 if err != nil { 23327 return err 23328 } 23329 u.Name = &name 23330 } 23331 case "kind": 23332 if v != nil { 23333 var kind string 23334 err = json.Unmarshal(*v, &kind) 23335 if err != nil { 23336 return err 23337 } 23338 u.Kind = &kind 23339 } 23340 case "type": 23341 if v != nil { 23342 var typeVar string 23343 err = json.Unmarshal(*v, &typeVar) 23344 if err != nil { 23345 return err 23346 } 23347 u.Type = &typeVar 23348 } 23349 } 23350 } 23351 23352 return nil 23353} 23354 23355// UsageCollection collection of usages. 23356type UsageCollection struct { 23357 autorest.Response `json:"-"` 23358 // Value - Collection of resources. 23359 Value *[]Usage `json:"value,omitempty"` 23360 // NextLink - READ-ONLY; Link to next page of resources. 23361 NextLink *string `json:"nextLink,omitempty"` 23362} 23363 23364// MarshalJSON is the custom marshaler for UsageCollection. 23365func (uc UsageCollection) MarshalJSON() ([]byte, error) { 23366 objectMap := make(map[string]interface{}) 23367 if uc.Value != nil { 23368 objectMap["value"] = uc.Value 23369 } 23370 return json.Marshal(objectMap) 23371} 23372 23373// UsageCollectionIterator provides access to a complete listing of Usage values. 23374type UsageCollectionIterator struct { 23375 i int 23376 page UsageCollectionPage 23377} 23378 23379// NextWithContext advances to the next value. If there was an error making 23380// the request the iterator does not advance and the error is returned. 23381func (iter *UsageCollectionIterator) NextWithContext(ctx context.Context) (err error) { 23382 if tracing.IsEnabled() { 23383 ctx = tracing.StartSpan(ctx, fqdn+"/UsageCollectionIterator.NextWithContext") 23384 defer func() { 23385 sc := -1 23386 if iter.Response().Response.Response != nil { 23387 sc = iter.Response().Response.Response.StatusCode 23388 } 23389 tracing.EndSpan(ctx, sc, err) 23390 }() 23391 } 23392 iter.i++ 23393 if iter.i < len(iter.page.Values()) { 23394 return nil 23395 } 23396 err = iter.page.NextWithContext(ctx) 23397 if err != nil { 23398 iter.i-- 23399 return err 23400 } 23401 iter.i = 0 23402 return nil 23403} 23404 23405// Next advances to the next value. If there was an error making 23406// the request the iterator does not advance and the error is returned. 23407// Deprecated: Use NextWithContext() instead. 23408func (iter *UsageCollectionIterator) Next() error { 23409 return iter.NextWithContext(context.Background()) 23410} 23411 23412// NotDone returns true if the enumeration should be started or is not yet complete. 23413func (iter UsageCollectionIterator) NotDone() bool { 23414 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 23415} 23416 23417// Response returns the raw server response from the last page request. 23418func (iter UsageCollectionIterator) Response() UsageCollection { 23419 return iter.page.Response() 23420} 23421 23422// Value returns the current value or a zero-initialized value if the 23423// iterator has advanced beyond the end of the collection. 23424func (iter UsageCollectionIterator) Value() Usage { 23425 if !iter.page.NotDone() { 23426 return Usage{} 23427 } 23428 return iter.page.Values()[iter.i] 23429} 23430 23431// Creates a new instance of the UsageCollectionIterator type. 23432func NewUsageCollectionIterator(page UsageCollectionPage) UsageCollectionIterator { 23433 return UsageCollectionIterator{page: page} 23434} 23435 23436// IsEmpty returns true if the ListResult contains no values. 23437func (uc UsageCollection) IsEmpty() bool { 23438 return uc.Value == nil || len(*uc.Value) == 0 23439} 23440 23441// hasNextLink returns true if the NextLink is not empty. 23442func (uc UsageCollection) hasNextLink() bool { 23443 return uc.NextLink != nil && len(*uc.NextLink) != 0 23444} 23445 23446// usageCollectionPreparer prepares a request to retrieve the next set of results. 23447// It returns nil if no more results exist. 23448func (uc UsageCollection) usageCollectionPreparer(ctx context.Context) (*http.Request, error) { 23449 if !uc.hasNextLink() { 23450 return nil, nil 23451 } 23452 return autorest.Prepare((&http.Request{}).WithContext(ctx), 23453 autorest.AsJSON(), 23454 autorest.AsGet(), 23455 autorest.WithBaseURL(to.String(uc.NextLink))) 23456} 23457 23458// UsageCollectionPage contains a page of Usage values. 23459type UsageCollectionPage struct { 23460 fn func(context.Context, UsageCollection) (UsageCollection, error) 23461 uc UsageCollection 23462} 23463 23464// NextWithContext advances to the next page of values. If there was an error making 23465// the request the page does not advance and the error is returned. 23466func (page *UsageCollectionPage) NextWithContext(ctx context.Context) (err error) { 23467 if tracing.IsEnabled() { 23468 ctx = tracing.StartSpan(ctx, fqdn+"/UsageCollectionPage.NextWithContext") 23469 defer func() { 23470 sc := -1 23471 if page.Response().Response.Response != nil { 23472 sc = page.Response().Response.Response.StatusCode 23473 } 23474 tracing.EndSpan(ctx, sc, err) 23475 }() 23476 } 23477 for { 23478 next, err := page.fn(ctx, page.uc) 23479 if err != nil { 23480 return err 23481 } 23482 page.uc = next 23483 if !next.hasNextLink() || !next.IsEmpty() { 23484 break 23485 } 23486 } 23487 return nil 23488} 23489 23490// Next advances to the next page of values. If there was an error making 23491// the request the page does not advance and the error is returned. 23492// Deprecated: Use NextWithContext() instead. 23493func (page *UsageCollectionPage) Next() error { 23494 return page.NextWithContext(context.Background()) 23495} 23496 23497// NotDone returns true if the page enumeration should be started or is not yet complete. 23498func (page UsageCollectionPage) NotDone() bool { 23499 return !page.uc.IsEmpty() 23500} 23501 23502// Response returns the raw server response from the last page request. 23503func (page UsageCollectionPage) Response() UsageCollection { 23504 return page.uc 23505} 23506 23507// Values returns the slice of values for the current page or nil if there are no values. 23508func (page UsageCollectionPage) Values() []Usage { 23509 if page.uc.IsEmpty() { 23510 return nil 23511 } 23512 return *page.uc.Value 23513} 23514 23515// Creates a new instance of the UsageCollectionPage type. 23516func NewUsageCollectionPage(cur UsageCollection, getNextPage func(context.Context, UsageCollection) (UsageCollection, error)) UsageCollectionPage { 23517 return UsageCollectionPage{ 23518 fn: getNextPage, 23519 uc: cur, 23520 } 23521} 23522 23523// UsageProperties usage resource specific properties 23524type UsageProperties struct { 23525 // DisplayName - READ-ONLY; Friendly name shown in the UI. 23526 DisplayName *string `json:"displayName,omitempty"` 23527 // ResourceName - READ-ONLY; Name of the quota resource. 23528 ResourceName *string `json:"resourceName,omitempty"` 23529 // Unit - READ-ONLY; Units of measurement for the quota resource. 23530 Unit *string `json:"unit,omitempty"` 23531 // CurrentValue - READ-ONLY; The current value of the resource counter. 23532 CurrentValue *int64 `json:"currentValue,omitempty"` 23533 // Limit - READ-ONLY; The resource limit. 23534 Limit *int64 `json:"limit,omitempty"` 23535 // NextResetTime - READ-ONLY; Next reset time for the resource counter. 23536 NextResetTime *date.Time `json:"nextResetTime,omitempty"` 23537 // ComputeMode - READ-ONLY; Compute mode used for this usage. Possible values include: 'ComputeModeOptionsShared', 'ComputeModeOptionsDedicated', 'ComputeModeOptionsDynamic' 23538 ComputeMode ComputeModeOptions `json:"computeMode,omitempty"` 23539 // SiteMode - READ-ONLY; Site mode used for this usage. 23540 SiteMode *string `json:"siteMode,omitempty"` 23541} 23542 23543// MarshalJSON is the custom marshaler for UsageProperties. 23544func (u UsageProperties) MarshalJSON() ([]byte, error) { 23545 objectMap := make(map[string]interface{}) 23546 return json.Marshal(objectMap) 23547} 23548 23549// User user credentials used for publishing activity. 23550type User struct { 23551 autorest.Response `json:"-"` 23552 // UserProperties - User resource specific properties 23553 *UserProperties `json:"properties,omitempty"` 23554 // ID - READ-ONLY; Resource Id. 23555 ID *string `json:"id,omitempty"` 23556 // Name - READ-ONLY; Resource Name. 23557 Name *string `json:"name,omitempty"` 23558 // Kind - Kind of resource. 23559 Kind *string `json:"kind,omitempty"` 23560 // Type - READ-ONLY; Resource type. 23561 Type *string `json:"type,omitempty"` 23562} 23563 23564// MarshalJSON is the custom marshaler for User. 23565func (u User) MarshalJSON() ([]byte, error) { 23566 objectMap := make(map[string]interface{}) 23567 if u.UserProperties != nil { 23568 objectMap["properties"] = u.UserProperties 23569 } 23570 if u.Kind != nil { 23571 objectMap["kind"] = u.Kind 23572 } 23573 return json.Marshal(objectMap) 23574} 23575 23576// UnmarshalJSON is the custom unmarshaler for User struct. 23577func (u *User) UnmarshalJSON(body []byte) error { 23578 var m map[string]*json.RawMessage 23579 err := json.Unmarshal(body, &m) 23580 if err != nil { 23581 return err 23582 } 23583 for k, v := range m { 23584 switch k { 23585 case "properties": 23586 if v != nil { 23587 var userProperties UserProperties 23588 err = json.Unmarshal(*v, &userProperties) 23589 if err != nil { 23590 return err 23591 } 23592 u.UserProperties = &userProperties 23593 } 23594 case "id": 23595 if v != nil { 23596 var ID string 23597 err = json.Unmarshal(*v, &ID) 23598 if err != nil { 23599 return err 23600 } 23601 u.ID = &ID 23602 } 23603 case "name": 23604 if v != nil { 23605 var name string 23606 err = json.Unmarshal(*v, &name) 23607 if err != nil { 23608 return err 23609 } 23610 u.Name = &name 23611 } 23612 case "kind": 23613 if v != nil { 23614 var kind string 23615 err = json.Unmarshal(*v, &kind) 23616 if err != nil { 23617 return err 23618 } 23619 u.Kind = &kind 23620 } 23621 case "type": 23622 if v != nil { 23623 var typeVar string 23624 err = json.Unmarshal(*v, &typeVar) 23625 if err != nil { 23626 return err 23627 } 23628 u.Type = &typeVar 23629 } 23630 } 23631 } 23632 23633 return nil 23634} 23635 23636// UserProperties user resource specific properties 23637type UserProperties struct { 23638 // PublishingUserName - Username used for publishing. 23639 PublishingUserName *string `json:"publishingUserName,omitempty"` 23640 // PublishingPassword - Password used for publishing. 23641 PublishingPassword *string `json:"publishingPassword,omitempty"` 23642 // PublishingPasswordHash - Password hash used for publishing. 23643 PublishingPasswordHash *string `json:"publishingPasswordHash,omitempty"` 23644 // PublishingPasswordHashSalt - Password hash salt used for publishing. 23645 PublishingPasswordHashSalt *string `json:"publishingPasswordHashSalt,omitempty"` 23646 // ScmURI - Url of SCM site. 23647 ScmURI *string `json:"scmUri,omitempty"` 23648} 23649 23650// ValidateContainerSettingsRequest container settings validation request context 23651type ValidateContainerSettingsRequest struct { 23652 // BaseURL - Base URL of the container registry 23653 BaseURL *string `json:"baseUrl,omitempty"` 23654 // Username - Username for to access the container registry 23655 Username *string `json:"username,omitempty"` 23656 // Password - Password for to access the container registry 23657 Password *string `json:"password,omitempty"` 23658 // Repository - Repository name (image name) 23659 Repository *string `json:"repository,omitempty"` 23660 // Tag - Image tag 23661 Tag *string `json:"tag,omitempty"` 23662 // Platform - Platform (windows or linux) 23663 Platform *string `json:"platform,omitempty"` 23664} 23665 23666// ValidateProperties app properties used for validation. 23667type ValidateProperties struct { 23668 // ServerFarmID - ARM resource ID of an App Service plan that would host the app. 23669 ServerFarmID *string `json:"serverFarmId,omitempty"` 23670 // SkuName - Name of the target SKU for the App Service plan. 23671 SkuName *string `json:"skuName,omitempty"` 23672 // NeedLinuxWorkers - <code>true</code> if App Service plan is for Linux workers; otherwise, <code>false</code>. 23673 NeedLinuxWorkers *bool `json:"needLinuxWorkers,omitempty"` 23674 // IsSpot - <code>true</code> if App Service plan is for Spot instances; otherwise, <code>false</code>. 23675 IsSpot *bool `json:"isSpot,omitempty"` 23676 // Capacity - Target capacity of the App Service plan (number of VMs). 23677 Capacity *int32 `json:"capacity,omitempty"` 23678 // HostingEnvironment - Name of App Service Environment where app or App Service plan should be created. 23679 HostingEnvironment *string `json:"hostingEnvironment,omitempty"` 23680 // IsXenon - <code>true</code> if App Service plan is running as a windows container 23681 IsXenon *bool `json:"isXenon,omitempty"` 23682} 23683 23684// ValidateRequest resource validation request content. 23685type ValidateRequest struct { 23686 // Name - Resource name to verify. 23687 Name *string `json:"name,omitempty"` 23688 // Type - Resource type used for verification. Possible values include: 'ValidateResourceTypesServerFarm', 'ValidateResourceTypesSite' 23689 Type ValidateResourceTypes `json:"type,omitempty"` 23690 // Location - Expected location of the resource. 23691 Location *string `json:"location,omitempty"` 23692 // ValidateProperties - Properties of the resource to validate. 23693 *ValidateProperties `json:"properties,omitempty"` 23694} 23695 23696// MarshalJSON is the custom marshaler for ValidateRequest. 23697func (vr ValidateRequest) MarshalJSON() ([]byte, error) { 23698 objectMap := make(map[string]interface{}) 23699 if vr.Name != nil { 23700 objectMap["name"] = vr.Name 23701 } 23702 if vr.Type != "" { 23703 objectMap["type"] = vr.Type 23704 } 23705 if vr.Location != nil { 23706 objectMap["location"] = vr.Location 23707 } 23708 if vr.ValidateProperties != nil { 23709 objectMap["properties"] = vr.ValidateProperties 23710 } 23711 return json.Marshal(objectMap) 23712} 23713 23714// UnmarshalJSON is the custom unmarshaler for ValidateRequest struct. 23715func (vr *ValidateRequest) UnmarshalJSON(body []byte) error { 23716 var m map[string]*json.RawMessage 23717 err := json.Unmarshal(body, &m) 23718 if err != nil { 23719 return err 23720 } 23721 for k, v := range m { 23722 switch k { 23723 case "name": 23724 if v != nil { 23725 var name string 23726 err = json.Unmarshal(*v, &name) 23727 if err != nil { 23728 return err 23729 } 23730 vr.Name = &name 23731 } 23732 case "type": 23733 if v != nil { 23734 var typeVar ValidateResourceTypes 23735 err = json.Unmarshal(*v, &typeVar) 23736 if err != nil { 23737 return err 23738 } 23739 vr.Type = typeVar 23740 } 23741 case "location": 23742 if v != nil { 23743 var location string 23744 err = json.Unmarshal(*v, &location) 23745 if err != nil { 23746 return err 23747 } 23748 vr.Location = &location 23749 } 23750 case "properties": 23751 if v != nil { 23752 var validateProperties ValidateProperties 23753 err = json.Unmarshal(*v, &validateProperties) 23754 if err != nil { 23755 return err 23756 } 23757 vr.ValidateProperties = &validateProperties 23758 } 23759 } 23760 } 23761 23762 return nil 23763} 23764 23765// ValidateResponse describes the result of resource validation. 23766type ValidateResponse struct { 23767 autorest.Response `json:"-"` 23768 // Status - Result of validation. 23769 Status *string `json:"status,omitempty"` 23770 // Error - Error details for the case when validation fails. 23771 Error *ValidateResponseError `json:"error,omitempty"` 23772} 23773 23774// ValidateResponseError error details for when validation fails. 23775type ValidateResponseError struct { 23776 // Code - Validation error code. 23777 Code *string `json:"code,omitempty"` 23778 // Message - Validation error message. 23779 Message *string `json:"message,omitempty"` 23780} 23781 23782// VirtualApplication virtual application in an app. 23783type VirtualApplication struct { 23784 // VirtualPath - Virtual path. 23785 VirtualPath *string `json:"virtualPath,omitempty"` 23786 // PhysicalPath - Physical path. 23787 PhysicalPath *string `json:"physicalPath,omitempty"` 23788 // PreloadEnabled - <code>true</code> if preloading is enabled; otherwise, <code>false</code>. 23789 PreloadEnabled *bool `json:"preloadEnabled,omitempty"` 23790 // VirtualDirectories - Virtual directories for virtual application. 23791 VirtualDirectories *[]VirtualDirectory `json:"virtualDirectories,omitempty"` 23792} 23793 23794// VirtualDirectory directory for virtual application. 23795type VirtualDirectory struct { 23796 // VirtualPath - Path to virtual application. 23797 VirtualPath *string `json:"virtualPath,omitempty"` 23798 // PhysicalPath - Physical path. 23799 PhysicalPath *string `json:"physicalPath,omitempty"` 23800} 23801 23802// VirtualIPMapping virtual IP mapping. 23803type VirtualIPMapping struct { 23804 // VirtualIP - Virtual IP address. 23805 VirtualIP *string `json:"virtualIP,omitempty"` 23806 // InternalHTTPPort - Internal HTTP port. 23807 InternalHTTPPort *int32 `json:"internalHttpPort,omitempty"` 23808 // InternalHTTPSPort - Internal HTTPS port. 23809 InternalHTTPSPort *int32 `json:"internalHttpsPort,omitempty"` 23810 // InUse - Is virtual IP mapping in use. 23811 InUse *bool `json:"inUse,omitempty"` 23812} 23813 23814// VirtualNetworkProfile specification for using a Virtual Network. 23815type VirtualNetworkProfile struct { 23816 // ID - Resource id of the Virtual Network. 23817 ID *string `json:"id,omitempty"` 23818 // Name - READ-ONLY; Name of the Virtual Network (read-only). 23819 Name *string `json:"name,omitempty"` 23820 // Type - READ-ONLY; Resource type of the Virtual Network (read-only). 23821 Type *string `json:"type,omitempty"` 23822 // Subnet - Subnet within the Virtual Network. 23823 Subnet *string `json:"subnet,omitempty"` 23824} 23825 23826// MarshalJSON is the custom marshaler for VirtualNetworkProfile. 23827func (vnp VirtualNetworkProfile) MarshalJSON() ([]byte, error) { 23828 objectMap := make(map[string]interface{}) 23829 if vnp.ID != nil { 23830 objectMap["id"] = vnp.ID 23831 } 23832 if vnp.Subnet != nil { 23833 objectMap["subnet"] = vnp.Subnet 23834 } 23835 return json.Marshal(objectMap) 23836} 23837 23838// VnetGateway the Virtual Network gateway contract. This is used to give the Virtual Network gateway 23839// access to the VPN package. 23840type VnetGateway struct { 23841 autorest.Response `json:"-"` 23842 // VnetGatewayProperties - VnetGateway resource specific properties 23843 *VnetGatewayProperties `json:"properties,omitempty"` 23844 // ID - READ-ONLY; Resource Id. 23845 ID *string `json:"id,omitempty"` 23846 // Name - READ-ONLY; Resource Name. 23847 Name *string `json:"name,omitempty"` 23848 // Kind - Kind of resource. 23849 Kind *string `json:"kind,omitempty"` 23850 // Type - READ-ONLY; Resource type. 23851 Type *string `json:"type,omitempty"` 23852} 23853 23854// MarshalJSON is the custom marshaler for VnetGateway. 23855func (vg VnetGateway) MarshalJSON() ([]byte, error) { 23856 objectMap := make(map[string]interface{}) 23857 if vg.VnetGatewayProperties != nil { 23858 objectMap["properties"] = vg.VnetGatewayProperties 23859 } 23860 if vg.Kind != nil { 23861 objectMap["kind"] = vg.Kind 23862 } 23863 return json.Marshal(objectMap) 23864} 23865 23866// UnmarshalJSON is the custom unmarshaler for VnetGateway struct. 23867func (vg *VnetGateway) UnmarshalJSON(body []byte) error { 23868 var m map[string]*json.RawMessage 23869 err := json.Unmarshal(body, &m) 23870 if err != nil { 23871 return err 23872 } 23873 for k, v := range m { 23874 switch k { 23875 case "properties": 23876 if v != nil { 23877 var vnetGatewayProperties VnetGatewayProperties 23878 err = json.Unmarshal(*v, &vnetGatewayProperties) 23879 if err != nil { 23880 return err 23881 } 23882 vg.VnetGatewayProperties = &vnetGatewayProperties 23883 } 23884 case "id": 23885 if v != nil { 23886 var ID string 23887 err = json.Unmarshal(*v, &ID) 23888 if err != nil { 23889 return err 23890 } 23891 vg.ID = &ID 23892 } 23893 case "name": 23894 if v != nil { 23895 var name string 23896 err = json.Unmarshal(*v, &name) 23897 if err != nil { 23898 return err 23899 } 23900 vg.Name = &name 23901 } 23902 case "kind": 23903 if v != nil { 23904 var kind string 23905 err = json.Unmarshal(*v, &kind) 23906 if err != nil { 23907 return err 23908 } 23909 vg.Kind = &kind 23910 } 23911 case "type": 23912 if v != nil { 23913 var typeVar string 23914 err = json.Unmarshal(*v, &typeVar) 23915 if err != nil { 23916 return err 23917 } 23918 vg.Type = &typeVar 23919 } 23920 } 23921 } 23922 23923 return nil 23924} 23925 23926// VnetGatewayProperties vnetGateway resource specific properties 23927type VnetGatewayProperties struct { 23928 // VnetName - The Virtual Network name. 23929 VnetName *string `json:"vnetName,omitempty"` 23930 // VpnPackageURI - The URI where the VPN package can be downloaded. 23931 VpnPackageURI *string `json:"vpnPackageUri,omitempty"` 23932} 23933 23934// VnetInfo virtual Network information contract. 23935type VnetInfo struct { 23936 autorest.Response `json:"-"` 23937 // VnetInfoProperties - VnetInfo resource specific properties 23938 *VnetInfoProperties `json:"properties,omitempty"` 23939 // ID - READ-ONLY; Resource Id. 23940 ID *string `json:"id,omitempty"` 23941 // Name - READ-ONLY; Resource Name. 23942 Name *string `json:"name,omitempty"` 23943 // Kind - Kind of resource. 23944 Kind *string `json:"kind,omitempty"` 23945 // Type - READ-ONLY; Resource type. 23946 Type *string `json:"type,omitempty"` 23947} 23948 23949// MarshalJSON is the custom marshaler for VnetInfo. 23950func (vi VnetInfo) MarshalJSON() ([]byte, error) { 23951 objectMap := make(map[string]interface{}) 23952 if vi.VnetInfoProperties != nil { 23953 objectMap["properties"] = vi.VnetInfoProperties 23954 } 23955 if vi.Kind != nil { 23956 objectMap["kind"] = vi.Kind 23957 } 23958 return json.Marshal(objectMap) 23959} 23960 23961// UnmarshalJSON is the custom unmarshaler for VnetInfo struct. 23962func (vi *VnetInfo) UnmarshalJSON(body []byte) error { 23963 var m map[string]*json.RawMessage 23964 err := json.Unmarshal(body, &m) 23965 if err != nil { 23966 return err 23967 } 23968 for k, v := range m { 23969 switch k { 23970 case "properties": 23971 if v != nil { 23972 var vnetInfoProperties VnetInfoProperties 23973 err = json.Unmarshal(*v, &vnetInfoProperties) 23974 if err != nil { 23975 return err 23976 } 23977 vi.VnetInfoProperties = &vnetInfoProperties 23978 } 23979 case "id": 23980 if v != nil { 23981 var ID string 23982 err = json.Unmarshal(*v, &ID) 23983 if err != nil { 23984 return err 23985 } 23986 vi.ID = &ID 23987 } 23988 case "name": 23989 if v != nil { 23990 var name string 23991 err = json.Unmarshal(*v, &name) 23992 if err != nil { 23993 return err 23994 } 23995 vi.Name = &name 23996 } 23997 case "kind": 23998 if v != nil { 23999 var kind string 24000 err = json.Unmarshal(*v, &kind) 24001 if err != nil { 24002 return err 24003 } 24004 vi.Kind = &kind 24005 } 24006 case "type": 24007 if v != nil { 24008 var typeVar string 24009 err = json.Unmarshal(*v, &typeVar) 24010 if err != nil { 24011 return err 24012 } 24013 vi.Type = &typeVar 24014 } 24015 } 24016 } 24017 24018 return nil 24019} 24020 24021// VnetInfoProperties vnetInfo resource specific properties 24022type VnetInfoProperties struct { 24023 // VnetResourceID - The Virtual Network's resource ID. 24024 VnetResourceID *string `json:"vnetResourceId,omitempty"` 24025 // CertThumbprint - READ-ONLY; The client certificate thumbprint. 24026 CertThumbprint *string `json:"certThumbprint,omitempty"` 24027 // CertBlob - A certificate file (.cer) blob containing the public key of the private key used to authenticate a 24028 // Point-To-Site VPN connection. 24029 CertBlob *string `json:"certBlob,omitempty"` 24030 // Routes - READ-ONLY; The routes that this Virtual Network connection uses. 24031 Routes *[]VnetRoute `json:"routes,omitempty"` 24032 // ResyncRequired - READ-ONLY; <code>true</code> if a resync is required; otherwise, <code>false</code>. 24033 ResyncRequired *bool `json:"resyncRequired,omitempty"` 24034 // DNSServers - DNS servers to be used by this Virtual Network. This should be a comma-separated list of IP addresses. 24035 DNSServers *string `json:"dnsServers,omitempty"` 24036 // IsSwift - Flag that is used to denote if this is VNET injection 24037 IsSwift *bool `json:"isSwift,omitempty"` 24038} 24039 24040// MarshalJSON is the custom marshaler for VnetInfoProperties. 24041func (vi VnetInfoProperties) MarshalJSON() ([]byte, error) { 24042 objectMap := make(map[string]interface{}) 24043 if vi.VnetResourceID != nil { 24044 objectMap["vnetResourceId"] = vi.VnetResourceID 24045 } 24046 if vi.CertBlob != nil { 24047 objectMap["certBlob"] = vi.CertBlob 24048 } 24049 if vi.DNSServers != nil { 24050 objectMap["dnsServers"] = vi.DNSServers 24051 } 24052 if vi.IsSwift != nil { 24053 objectMap["isSwift"] = vi.IsSwift 24054 } 24055 return json.Marshal(objectMap) 24056} 24057 24058// VnetParameters the required set of inputs to validate a VNET 24059type VnetParameters struct { 24060 // VnetParametersProperties - VnetParameters resource specific properties 24061 *VnetParametersProperties `json:"properties,omitempty"` 24062 // ID - READ-ONLY; Resource Id. 24063 ID *string `json:"id,omitempty"` 24064 // Name - READ-ONLY; Resource Name. 24065 Name *string `json:"name,omitempty"` 24066 // Kind - Kind of resource. 24067 Kind *string `json:"kind,omitempty"` 24068 // Type - READ-ONLY; Resource type. 24069 Type *string `json:"type,omitempty"` 24070} 24071 24072// MarshalJSON is the custom marshaler for VnetParameters. 24073func (vp VnetParameters) MarshalJSON() ([]byte, error) { 24074 objectMap := make(map[string]interface{}) 24075 if vp.VnetParametersProperties != nil { 24076 objectMap["properties"] = vp.VnetParametersProperties 24077 } 24078 if vp.Kind != nil { 24079 objectMap["kind"] = vp.Kind 24080 } 24081 return json.Marshal(objectMap) 24082} 24083 24084// UnmarshalJSON is the custom unmarshaler for VnetParameters struct. 24085func (vp *VnetParameters) UnmarshalJSON(body []byte) error { 24086 var m map[string]*json.RawMessage 24087 err := json.Unmarshal(body, &m) 24088 if err != nil { 24089 return err 24090 } 24091 for k, v := range m { 24092 switch k { 24093 case "properties": 24094 if v != nil { 24095 var vnetParametersProperties VnetParametersProperties 24096 err = json.Unmarshal(*v, &vnetParametersProperties) 24097 if err != nil { 24098 return err 24099 } 24100 vp.VnetParametersProperties = &vnetParametersProperties 24101 } 24102 case "id": 24103 if v != nil { 24104 var ID string 24105 err = json.Unmarshal(*v, &ID) 24106 if err != nil { 24107 return err 24108 } 24109 vp.ID = &ID 24110 } 24111 case "name": 24112 if v != nil { 24113 var name string 24114 err = json.Unmarshal(*v, &name) 24115 if err != nil { 24116 return err 24117 } 24118 vp.Name = &name 24119 } 24120 case "kind": 24121 if v != nil { 24122 var kind string 24123 err = json.Unmarshal(*v, &kind) 24124 if err != nil { 24125 return err 24126 } 24127 vp.Kind = &kind 24128 } 24129 case "type": 24130 if v != nil { 24131 var typeVar string 24132 err = json.Unmarshal(*v, &typeVar) 24133 if err != nil { 24134 return err 24135 } 24136 vp.Type = &typeVar 24137 } 24138 } 24139 } 24140 24141 return nil 24142} 24143 24144// VnetParametersProperties vnetParameters resource specific properties 24145type VnetParametersProperties struct { 24146 // VnetResourceGroup - The Resource Group of the VNET to be validated 24147 VnetResourceGroup *string `json:"vnetResourceGroup,omitempty"` 24148 // VnetName - The name of the VNET to be validated 24149 VnetName *string `json:"vnetName,omitempty"` 24150 // VnetSubnetName - The subnet name to be validated 24151 VnetSubnetName *string `json:"vnetSubnetName,omitempty"` 24152} 24153 24154// VnetRoute virtual Network route contract used to pass routing information for a Virtual Network. 24155type VnetRoute struct { 24156 autorest.Response `json:"-"` 24157 // VnetRouteProperties - VnetRoute resource specific properties 24158 *VnetRouteProperties `json:"properties,omitempty"` 24159 // ID - READ-ONLY; Resource Id. 24160 ID *string `json:"id,omitempty"` 24161 // Name - READ-ONLY; Resource Name. 24162 Name *string `json:"name,omitempty"` 24163 // Kind - Kind of resource. 24164 Kind *string `json:"kind,omitempty"` 24165 // Type - READ-ONLY; Resource type. 24166 Type *string `json:"type,omitempty"` 24167} 24168 24169// MarshalJSON is the custom marshaler for VnetRoute. 24170func (vr VnetRoute) MarshalJSON() ([]byte, error) { 24171 objectMap := make(map[string]interface{}) 24172 if vr.VnetRouteProperties != nil { 24173 objectMap["properties"] = vr.VnetRouteProperties 24174 } 24175 if vr.Kind != nil { 24176 objectMap["kind"] = vr.Kind 24177 } 24178 return json.Marshal(objectMap) 24179} 24180 24181// UnmarshalJSON is the custom unmarshaler for VnetRoute struct. 24182func (vr *VnetRoute) UnmarshalJSON(body []byte) error { 24183 var m map[string]*json.RawMessage 24184 err := json.Unmarshal(body, &m) 24185 if err != nil { 24186 return err 24187 } 24188 for k, v := range m { 24189 switch k { 24190 case "properties": 24191 if v != nil { 24192 var vnetRouteProperties VnetRouteProperties 24193 err = json.Unmarshal(*v, &vnetRouteProperties) 24194 if err != nil { 24195 return err 24196 } 24197 vr.VnetRouteProperties = &vnetRouteProperties 24198 } 24199 case "id": 24200 if v != nil { 24201 var ID string 24202 err = json.Unmarshal(*v, &ID) 24203 if err != nil { 24204 return err 24205 } 24206 vr.ID = &ID 24207 } 24208 case "name": 24209 if v != nil { 24210 var name string 24211 err = json.Unmarshal(*v, &name) 24212 if err != nil { 24213 return err 24214 } 24215 vr.Name = &name 24216 } 24217 case "kind": 24218 if v != nil { 24219 var kind string 24220 err = json.Unmarshal(*v, &kind) 24221 if err != nil { 24222 return err 24223 } 24224 vr.Kind = &kind 24225 } 24226 case "type": 24227 if v != nil { 24228 var typeVar string 24229 err = json.Unmarshal(*v, &typeVar) 24230 if err != nil { 24231 return err 24232 } 24233 vr.Type = &typeVar 24234 } 24235 } 24236 } 24237 24238 return nil 24239} 24240 24241// VnetRouteProperties vnetRoute resource specific properties 24242type VnetRouteProperties struct { 24243 // StartAddress - The starting address for this route. This may also include a CIDR notation, in which case the end address must not be specified. 24244 StartAddress *string `json:"startAddress,omitempty"` 24245 // EndAddress - The ending address for this route. If the start address is specified in CIDR notation, this must be omitted. 24246 EndAddress *string `json:"endAddress,omitempty"` 24247 // RouteType - The type of route this is: 24248 // DEFAULT - By default, every app has routes to the local address ranges specified by RFC1918 24249 // INHERITED - Routes inherited from the real Virtual Network routes 24250 // STATIC - Static route set on the app only 24251 // These values will be used for syncing an app's routes with those from a Virtual Network. Possible values include: 'DEFAULT', 'INHERITED', 'STATIC' 24252 RouteType RouteType `json:"routeType,omitempty"` 24253} 24254 24255// VnetValidationFailureDetails a class that describes the reason for a validation failure. 24256type VnetValidationFailureDetails struct { 24257 autorest.Response `json:"-"` 24258 // VnetValidationFailureDetailsProperties - VnetValidationFailureDetails resource specific properties 24259 *VnetValidationFailureDetailsProperties `json:"properties,omitempty"` 24260 // ID - READ-ONLY; Resource Id. 24261 ID *string `json:"id,omitempty"` 24262 // Name - READ-ONLY; Resource Name. 24263 Name *string `json:"name,omitempty"` 24264 // Kind - Kind of resource. 24265 Kind *string `json:"kind,omitempty"` 24266 // Type - READ-ONLY; Resource type. 24267 Type *string `json:"type,omitempty"` 24268} 24269 24270// MarshalJSON is the custom marshaler for VnetValidationFailureDetails. 24271func (vvfd VnetValidationFailureDetails) MarshalJSON() ([]byte, error) { 24272 objectMap := make(map[string]interface{}) 24273 if vvfd.VnetValidationFailureDetailsProperties != nil { 24274 objectMap["properties"] = vvfd.VnetValidationFailureDetailsProperties 24275 } 24276 if vvfd.Kind != nil { 24277 objectMap["kind"] = vvfd.Kind 24278 } 24279 return json.Marshal(objectMap) 24280} 24281 24282// UnmarshalJSON is the custom unmarshaler for VnetValidationFailureDetails struct. 24283func (vvfd *VnetValidationFailureDetails) UnmarshalJSON(body []byte) error { 24284 var m map[string]*json.RawMessage 24285 err := json.Unmarshal(body, &m) 24286 if err != nil { 24287 return err 24288 } 24289 for k, v := range m { 24290 switch k { 24291 case "properties": 24292 if v != nil { 24293 var vnetValidationFailureDetailsProperties VnetValidationFailureDetailsProperties 24294 err = json.Unmarshal(*v, &vnetValidationFailureDetailsProperties) 24295 if err != nil { 24296 return err 24297 } 24298 vvfd.VnetValidationFailureDetailsProperties = &vnetValidationFailureDetailsProperties 24299 } 24300 case "id": 24301 if v != nil { 24302 var ID string 24303 err = json.Unmarshal(*v, &ID) 24304 if err != nil { 24305 return err 24306 } 24307 vvfd.ID = &ID 24308 } 24309 case "name": 24310 if v != nil { 24311 var name string 24312 err = json.Unmarshal(*v, &name) 24313 if err != nil { 24314 return err 24315 } 24316 vvfd.Name = &name 24317 } 24318 case "kind": 24319 if v != nil { 24320 var kind string 24321 err = json.Unmarshal(*v, &kind) 24322 if err != nil { 24323 return err 24324 } 24325 vvfd.Kind = &kind 24326 } 24327 case "type": 24328 if v != nil { 24329 var typeVar string 24330 err = json.Unmarshal(*v, &typeVar) 24331 if err != nil { 24332 return err 24333 } 24334 vvfd.Type = &typeVar 24335 } 24336 } 24337 } 24338 24339 return nil 24340} 24341 24342// VnetValidationFailureDetailsProperties vnetValidationFailureDetails resource specific properties 24343type VnetValidationFailureDetailsProperties struct { 24344 // Failed - A flag describing whether or not validation failed. 24345 Failed *bool `json:"failed,omitempty"` 24346 // FailedTests - A list of tests that failed in the validation. 24347 FailedTests *[]VnetValidationTestFailure `json:"failedTests,omitempty"` 24348} 24349 24350// VnetValidationTestFailure a class that describes a test that failed during NSG and UDR validation. 24351type VnetValidationTestFailure struct { 24352 // VnetValidationTestFailureProperties - VnetValidationTestFailure resource specific properties 24353 *VnetValidationTestFailureProperties `json:"properties,omitempty"` 24354 // ID - READ-ONLY; Resource Id. 24355 ID *string `json:"id,omitempty"` 24356 // Name - READ-ONLY; Resource Name. 24357 Name *string `json:"name,omitempty"` 24358 // Kind - Kind of resource. 24359 Kind *string `json:"kind,omitempty"` 24360 // Type - READ-ONLY; Resource type. 24361 Type *string `json:"type,omitempty"` 24362} 24363 24364// MarshalJSON is the custom marshaler for VnetValidationTestFailure. 24365func (vvtf VnetValidationTestFailure) MarshalJSON() ([]byte, error) { 24366 objectMap := make(map[string]interface{}) 24367 if vvtf.VnetValidationTestFailureProperties != nil { 24368 objectMap["properties"] = vvtf.VnetValidationTestFailureProperties 24369 } 24370 if vvtf.Kind != nil { 24371 objectMap["kind"] = vvtf.Kind 24372 } 24373 return json.Marshal(objectMap) 24374} 24375 24376// UnmarshalJSON is the custom unmarshaler for VnetValidationTestFailure struct. 24377func (vvtf *VnetValidationTestFailure) UnmarshalJSON(body []byte) error { 24378 var m map[string]*json.RawMessage 24379 err := json.Unmarshal(body, &m) 24380 if err != nil { 24381 return err 24382 } 24383 for k, v := range m { 24384 switch k { 24385 case "properties": 24386 if v != nil { 24387 var vnetValidationTestFailureProperties VnetValidationTestFailureProperties 24388 err = json.Unmarshal(*v, &vnetValidationTestFailureProperties) 24389 if err != nil { 24390 return err 24391 } 24392 vvtf.VnetValidationTestFailureProperties = &vnetValidationTestFailureProperties 24393 } 24394 case "id": 24395 if v != nil { 24396 var ID string 24397 err = json.Unmarshal(*v, &ID) 24398 if err != nil { 24399 return err 24400 } 24401 vvtf.ID = &ID 24402 } 24403 case "name": 24404 if v != nil { 24405 var name string 24406 err = json.Unmarshal(*v, &name) 24407 if err != nil { 24408 return err 24409 } 24410 vvtf.Name = &name 24411 } 24412 case "kind": 24413 if v != nil { 24414 var kind string 24415 err = json.Unmarshal(*v, &kind) 24416 if err != nil { 24417 return err 24418 } 24419 vvtf.Kind = &kind 24420 } 24421 case "type": 24422 if v != nil { 24423 var typeVar string 24424 err = json.Unmarshal(*v, &typeVar) 24425 if err != nil { 24426 return err 24427 } 24428 vvtf.Type = &typeVar 24429 } 24430 } 24431 } 24432 24433 return nil 24434} 24435 24436// VnetValidationTestFailureProperties vnetValidationTestFailure resource specific properties 24437type VnetValidationTestFailureProperties struct { 24438 // TestName - The name of the test that failed. 24439 TestName *string `json:"testName,omitempty"` 24440 // Details - The details of what caused the failure, e.g. the blocking rule name, etc. 24441 Details *string `json:"details,omitempty"` 24442} 24443 24444// WorkerPool worker pool of an App Service Environment. 24445type WorkerPool struct { 24446 // WorkerSizeID - Worker size ID for referencing this worker pool. 24447 WorkerSizeID *int32 `json:"workerSizeId,omitempty"` 24448 // ComputeMode - Shared or dedicated app hosting. Possible values include: 'ComputeModeOptionsShared', 'ComputeModeOptionsDedicated', 'ComputeModeOptionsDynamic' 24449 ComputeMode ComputeModeOptions `json:"computeMode,omitempty"` 24450 // WorkerSize - VM size of the worker pool instances. 24451 WorkerSize *string `json:"workerSize,omitempty"` 24452 // WorkerCount - Number of instances in the worker pool. 24453 WorkerCount *int32 `json:"workerCount,omitempty"` 24454 // InstanceNames - READ-ONLY; Names of all instances in the worker pool (read only). 24455 InstanceNames *[]string `json:"instanceNames,omitempty"` 24456} 24457 24458// MarshalJSON is the custom marshaler for WorkerPool. 24459func (wp WorkerPool) MarshalJSON() ([]byte, error) { 24460 objectMap := make(map[string]interface{}) 24461 if wp.WorkerSizeID != nil { 24462 objectMap["workerSizeId"] = wp.WorkerSizeID 24463 } 24464 if wp.ComputeMode != "" { 24465 objectMap["computeMode"] = wp.ComputeMode 24466 } 24467 if wp.WorkerSize != nil { 24468 objectMap["workerSize"] = wp.WorkerSize 24469 } 24470 if wp.WorkerCount != nil { 24471 objectMap["workerCount"] = wp.WorkerCount 24472 } 24473 return json.Marshal(objectMap) 24474} 24475 24476// WorkerPoolCollection collection of worker pools. 24477type WorkerPoolCollection struct { 24478 autorest.Response `json:"-"` 24479 // Value - Collection of resources. 24480 Value *[]WorkerPoolResource `json:"value,omitempty"` 24481 // NextLink - READ-ONLY; Link to next page of resources. 24482 NextLink *string `json:"nextLink,omitempty"` 24483} 24484 24485// MarshalJSON is the custom marshaler for WorkerPoolCollection. 24486func (wpc WorkerPoolCollection) MarshalJSON() ([]byte, error) { 24487 objectMap := make(map[string]interface{}) 24488 if wpc.Value != nil { 24489 objectMap["value"] = wpc.Value 24490 } 24491 return json.Marshal(objectMap) 24492} 24493 24494// WorkerPoolCollectionIterator provides access to a complete listing of WorkerPoolResource values. 24495type WorkerPoolCollectionIterator struct { 24496 i int 24497 page WorkerPoolCollectionPage 24498} 24499 24500// NextWithContext advances to the next value. If there was an error making 24501// the request the iterator does not advance and the error is returned. 24502func (iter *WorkerPoolCollectionIterator) NextWithContext(ctx context.Context) (err error) { 24503 if tracing.IsEnabled() { 24504 ctx = tracing.StartSpan(ctx, fqdn+"/WorkerPoolCollectionIterator.NextWithContext") 24505 defer func() { 24506 sc := -1 24507 if iter.Response().Response.Response != nil { 24508 sc = iter.Response().Response.Response.StatusCode 24509 } 24510 tracing.EndSpan(ctx, sc, err) 24511 }() 24512 } 24513 iter.i++ 24514 if iter.i < len(iter.page.Values()) { 24515 return nil 24516 } 24517 err = iter.page.NextWithContext(ctx) 24518 if err != nil { 24519 iter.i-- 24520 return err 24521 } 24522 iter.i = 0 24523 return nil 24524} 24525 24526// Next advances to the next value. If there was an error making 24527// the request the iterator does not advance and the error is returned. 24528// Deprecated: Use NextWithContext() instead. 24529func (iter *WorkerPoolCollectionIterator) Next() error { 24530 return iter.NextWithContext(context.Background()) 24531} 24532 24533// NotDone returns true if the enumeration should be started or is not yet complete. 24534func (iter WorkerPoolCollectionIterator) NotDone() bool { 24535 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 24536} 24537 24538// Response returns the raw server response from the last page request. 24539func (iter WorkerPoolCollectionIterator) Response() WorkerPoolCollection { 24540 return iter.page.Response() 24541} 24542 24543// Value returns the current value or a zero-initialized value if the 24544// iterator has advanced beyond the end of the collection. 24545func (iter WorkerPoolCollectionIterator) Value() WorkerPoolResource { 24546 if !iter.page.NotDone() { 24547 return WorkerPoolResource{} 24548 } 24549 return iter.page.Values()[iter.i] 24550} 24551 24552// Creates a new instance of the WorkerPoolCollectionIterator type. 24553func NewWorkerPoolCollectionIterator(page WorkerPoolCollectionPage) WorkerPoolCollectionIterator { 24554 return WorkerPoolCollectionIterator{page: page} 24555} 24556 24557// IsEmpty returns true if the ListResult contains no values. 24558func (wpc WorkerPoolCollection) IsEmpty() bool { 24559 return wpc.Value == nil || len(*wpc.Value) == 0 24560} 24561 24562// hasNextLink returns true if the NextLink is not empty. 24563func (wpc WorkerPoolCollection) hasNextLink() bool { 24564 return wpc.NextLink != nil && len(*wpc.NextLink) != 0 24565} 24566 24567// workerPoolCollectionPreparer prepares a request to retrieve the next set of results. 24568// It returns nil if no more results exist. 24569func (wpc WorkerPoolCollection) workerPoolCollectionPreparer(ctx context.Context) (*http.Request, error) { 24570 if !wpc.hasNextLink() { 24571 return nil, nil 24572 } 24573 return autorest.Prepare((&http.Request{}).WithContext(ctx), 24574 autorest.AsJSON(), 24575 autorest.AsGet(), 24576 autorest.WithBaseURL(to.String(wpc.NextLink))) 24577} 24578 24579// WorkerPoolCollectionPage contains a page of WorkerPoolResource values. 24580type WorkerPoolCollectionPage struct { 24581 fn func(context.Context, WorkerPoolCollection) (WorkerPoolCollection, error) 24582 wpc WorkerPoolCollection 24583} 24584 24585// NextWithContext advances to the next page of values. If there was an error making 24586// the request the page does not advance and the error is returned. 24587func (page *WorkerPoolCollectionPage) NextWithContext(ctx context.Context) (err error) { 24588 if tracing.IsEnabled() { 24589 ctx = tracing.StartSpan(ctx, fqdn+"/WorkerPoolCollectionPage.NextWithContext") 24590 defer func() { 24591 sc := -1 24592 if page.Response().Response.Response != nil { 24593 sc = page.Response().Response.Response.StatusCode 24594 } 24595 tracing.EndSpan(ctx, sc, err) 24596 }() 24597 } 24598 for { 24599 next, err := page.fn(ctx, page.wpc) 24600 if err != nil { 24601 return err 24602 } 24603 page.wpc = next 24604 if !next.hasNextLink() || !next.IsEmpty() { 24605 break 24606 } 24607 } 24608 return nil 24609} 24610 24611// Next advances to the next page of values. If there was an error making 24612// the request the page does not advance and the error is returned. 24613// Deprecated: Use NextWithContext() instead. 24614func (page *WorkerPoolCollectionPage) Next() error { 24615 return page.NextWithContext(context.Background()) 24616} 24617 24618// NotDone returns true if the page enumeration should be started or is not yet complete. 24619func (page WorkerPoolCollectionPage) NotDone() bool { 24620 return !page.wpc.IsEmpty() 24621} 24622 24623// Response returns the raw server response from the last page request. 24624func (page WorkerPoolCollectionPage) Response() WorkerPoolCollection { 24625 return page.wpc 24626} 24627 24628// Values returns the slice of values for the current page or nil if there are no values. 24629func (page WorkerPoolCollectionPage) Values() []WorkerPoolResource { 24630 if page.wpc.IsEmpty() { 24631 return nil 24632 } 24633 return *page.wpc.Value 24634} 24635 24636// Creates a new instance of the WorkerPoolCollectionPage type. 24637func NewWorkerPoolCollectionPage(cur WorkerPoolCollection, getNextPage func(context.Context, WorkerPoolCollection) (WorkerPoolCollection, error)) WorkerPoolCollectionPage { 24638 return WorkerPoolCollectionPage{ 24639 fn: getNextPage, 24640 wpc: cur, 24641 } 24642} 24643 24644// WorkerPoolResource worker pool of an App Service Environment ARM resource. 24645type WorkerPoolResource struct { 24646 autorest.Response `json:"-"` 24647 // WorkerPool - Core resource properties 24648 *WorkerPool `json:"properties,omitempty"` 24649 Sku *SkuDescription `json:"sku,omitempty"` 24650 // ID - READ-ONLY; Resource Id. 24651 ID *string `json:"id,omitempty"` 24652 // Name - READ-ONLY; Resource Name. 24653 Name *string `json:"name,omitempty"` 24654 // Kind - Kind of resource. 24655 Kind *string `json:"kind,omitempty"` 24656 // Type - READ-ONLY; Resource type. 24657 Type *string `json:"type,omitempty"` 24658} 24659 24660// MarshalJSON is the custom marshaler for WorkerPoolResource. 24661func (wpr WorkerPoolResource) MarshalJSON() ([]byte, error) { 24662 objectMap := make(map[string]interface{}) 24663 if wpr.WorkerPool != nil { 24664 objectMap["properties"] = wpr.WorkerPool 24665 } 24666 if wpr.Sku != nil { 24667 objectMap["sku"] = wpr.Sku 24668 } 24669 if wpr.Kind != nil { 24670 objectMap["kind"] = wpr.Kind 24671 } 24672 return json.Marshal(objectMap) 24673} 24674 24675// UnmarshalJSON is the custom unmarshaler for WorkerPoolResource struct. 24676func (wpr *WorkerPoolResource) UnmarshalJSON(body []byte) error { 24677 var m map[string]*json.RawMessage 24678 err := json.Unmarshal(body, &m) 24679 if err != nil { 24680 return err 24681 } 24682 for k, v := range m { 24683 switch k { 24684 case "properties": 24685 if v != nil { 24686 var workerPool WorkerPool 24687 err = json.Unmarshal(*v, &workerPool) 24688 if err != nil { 24689 return err 24690 } 24691 wpr.WorkerPool = &workerPool 24692 } 24693 case "sku": 24694 if v != nil { 24695 var sku SkuDescription 24696 err = json.Unmarshal(*v, &sku) 24697 if err != nil { 24698 return err 24699 } 24700 wpr.Sku = &sku 24701 } 24702 case "id": 24703 if v != nil { 24704 var ID string 24705 err = json.Unmarshal(*v, &ID) 24706 if err != nil { 24707 return err 24708 } 24709 wpr.ID = &ID 24710 } 24711 case "name": 24712 if v != nil { 24713 var name string 24714 err = json.Unmarshal(*v, &name) 24715 if err != nil { 24716 return err 24717 } 24718 wpr.Name = &name 24719 } 24720 case "kind": 24721 if v != nil { 24722 var kind string 24723 err = json.Unmarshal(*v, &kind) 24724 if err != nil { 24725 return err 24726 } 24727 wpr.Kind = &kind 24728 } 24729 case "type": 24730 if v != nil { 24731 var typeVar string 24732 err = json.Unmarshal(*v, &typeVar) 24733 if err != nil { 24734 return err 24735 } 24736 wpr.Type = &typeVar 24737 } 24738 } 24739 } 24740 24741 return nil 24742} 24743